DOC PREVIEW
MIT 6 111 - Mixing Setup

This preview shows page 1-2-3-27-28-29 out of 29 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Mixing SetupNathan Artz, Adam Goldstein, Matthew PutnamThe Big PictureMemory Subsystem DisplayScratch PadPitch, Speed, and Beat MatchingTrack 1External Sound SourceEffectsTrack 2KeyboardSpeedPositionEffectsTrack 1+Track 1Track 2For recordingSound OutputWaveformsFLASH (x16 mode)(Irrelevant inputs ignored)Address[23:0]Write EnableOutput EnableData Bus [15:0]Memory SubsystemLoaderLast Read Sample [15:0]Last Write Sample [15:0]Next_Position_to_read[23:0]Current_State == Write || ReadReadDataExists?Data[15:0]WriteDataExists?DataToWrite[15:0]NextPositionToRead[23:0]Flash ControllerLast Read Sample [15:0]Last Write Sample [15:0]Current_State == Write || ReadCurrent_Song == Song0 || Song 1(from loader 1 or loader 2)Current_Write_AddressIf(reset) EraseWE = 1Address[23:0]Sample[15:0]Data[23:0]Get_sample (0 for address, or 1 for Write)• Input Sample• Signals which sample to input (read or write sample)• ReadDataExists / Write Data Exists•1 when data exists, 0 when no dataResetReset DoneRead from…WE = 0Addresses: 0 – 8388608Reg Every_Xth_Sample Start & End_Read_Address_1 & 2 Current_Read_Address_1 & 2 Completed_Read?Write to…WE = 1Addresses : 8388608 – 16177216Reg Start_Write_Address Current_Address Completed_Write?One Read Cycle CompletedOne Write Cycle CompletedFlash Controller: MIXINGSpec• Read (one cycle)• CurrentState == Read• Read Data Exists?• Get_sample Signal(0)• Read Address• Send back to Loader• Loader output (next clock cycle)• IF(WriteDataExists)• CurrentState -> Write• Get_sample signal (1)• Write Data (100 ns)• Timings (for one second)• 24 Khz Sampling means 24,000 clock cycles needed per sample• Sample every 4.16*10^-5 seconds• Read = 25 ns ( < 100 ns)• Write < 100 ns• Per cycle • Read X 2 (loader 1 and 2)• Write Sample (other loader)• About 300 nsSamplerAC97 (IPOD)Sampling RateSample Enable (Button 0)Song # (Switches [1:0])Write until full, then simply loop over and overwrite over old.Sample[15:0]Song #EXTERNAL INTERNAL( TO SONG RECORDER )Song Location MemorySample[15:0]Song #Song RecorderSong # Start Address End AddressWE = 1Song Recorder Specs• Flash Controller will be ERASED before songs are loaded• Songs are written starting at the beginning of the allotted possible address space for that Specified Address Field• Specified Address Fields (in decimal):•Song 0: 0 - 5242880•Song 1: 5242880 – 10,485,760• RECORDING SPACE IS 10,485,760 – 16,777,216Address[23:0]Sample[15:0]The Keyboard•Given a start pitch and an end pitch, outputs a ratio for frequency shiftingThe Scratch PadThe Scratch Pad•The strategy: Notice substantial changes in speed (outside a few % of the current speed)The Scratch Pad•The strategy: Notice substantial changes in speed (outside a few % of the current speed)•Convert the speed into a position in memoryThe Scratch Pad•The strategy: Notice substantial changes in speed (outside a few % of the current speed)•Convert the speed into a position in memory•If the speed is being provided externally (e.g. from the beat matcher), change the speed the motor is turningSpeed ChangingSpeedbm_period[15:0]enc_period[15:0]speed_sourceperiod[15:0]Positionposition[23:0]beat next_pos[23:0]Speed ChangingSpeedbm_period[15:0]enc_period[15:0]speed_sourceperiod[15:0]Positionposition[23:0]beat next_pos[23:0]Speed ChangingSpeedbm_period[15:0]enc_period[15:0]speed_sourceperiod[15:0]Positionposition[23:0]beat next_pos[23:0]Speed ChangingSpeedbm_period[15:0]enc_period[15:0]speed_sourceperiod[15:0]Positionposition[23:0]beat next_pos[23:0]Speed Changing•Immediately after starting to beat-match, hold position constant until the next beat so the beats are synchronizedSpeedbm_period[15:0]enc_period[15:0]speed_sourceperiod[15:0]Positionposition[23:0]beat next_pos[23:0]Speed Changing•Immediately after starting to beat-match, hold position constant until the next beat so the beats are synchronized•Nathan’s sampling stuffSpeedbm_period[15:0]enc_period[15:0]speed_sourceperiod[15:0]Positionposition[23:0]beat next_pos[23:0]Frequency ChangingFrequency ChangingFrequency Changing•For 512-sample windows, need ~1024 cycles for each window to STFT and ISTFT•Ideally have 4 overlapping windows; can do with 2Other EffectsOther Effects•How they work: Echo, Reverb, Bandpass, Etc.Other Effects•How they work: Echo, Reverb, Bandpass, Etc.•Visual Outputs: Speed, Position, Waveform, Etc.ScheduleScheduleNovember 18Nathan: Record/Output a Single SpeedMatt: Convert Keyboard Signals to PitchesAdam: Interfacing with Scratch PadScheduleNovember 21November 18Nathan: Record/Output a Single SpeedMatt: Convert Keyboard Signals to PitchesAdam: Interfacing with Scratch PadNathan: Up/Downsampling, Outputting at Multiple SpeedsMatt: Echo, ReverbAdam: Working VocoderScheduleNovember 26November 21November 18Nathan: Record/Output a Single SpeedMatt: Convert Keyboard Signals to PitchesAdam: Interfacing with Scratch PadNathan: Up/Downsampling, Outputting at Multiple SpeedsMatt: Echo, ReverbAdam: Working VocoderMatt: Visual OutputsAdam: Beat MatchingNathan: IntegrationScheduleDecember 4November 26November 21November 18Nathan: Record/Output a Single SpeedMatt: Convert Keyboard Signals to PitchesAdam: Interfacing with Scratch PadAll: Integration, Visual OutputsNathan: Up/Downsampling, Outputting at Multiple SpeedsMatt: Echo, ReverbAdam: Working VocoderMatt: Visual OutputsAdam: Beat MatchingNathan:


View Full Document

MIT 6 111 - Mixing Setup

Documents in this Course
Verilog

Verilog

21 pages

Video

Video

28 pages

Bass Hero

Bass Hero

17 pages

Deep 3D

Deep 3D

12 pages

SERPENT

SERPENT

8 pages

Vertex

Vertex

92 pages

Vertex

Vertex

4 pages

Snapshot

Snapshot

15 pages

Memories

Memories

42 pages

Deep3D

Deep3D

60 pages

Design

Design

2 pages

Frogger

Frogger

11 pages

SkiFree

SkiFree

81 pages

Vertex

Vertex

10 pages

EXPRESS

EXPRESS

2 pages

Labyrinth

Labyrinth

81 pages

Load more
Download Mixing Setup
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Mixing Setup and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Mixing Setup 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?