DOC PREVIEW
MIT 6 111 - Conductor Hero

This preview shows page 1-2-3-19-20-39-40-41 out of 41 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 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 41 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 41 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 41 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 41 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 41 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 41 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 41 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Conductor HeroNatalie Cheung, Yuta Kuboyama, Edgar TwiggIntroductionGoal: Conduct an Orchestra based on Hand Movements•Score transferred through a USB Port•User conducts the entire orchestra and smaller sections•Output orchestra music and graphical representation of the orchestra on the screenOverviewUSBInputScore DataScore ManagerConductorMixerenbenbpitch pitchpitchdynamicsarticulationsection_selvideo_outUSB245Mnote_databeat_numbusynote_data(no beat)video_inputenbtempobeatstereo_left,stereo_rightstereo_left, stereo_rightstereo_left, stereo_rightaudio_outreprogram2212107778832x162x162x162x24Compressorsignal_sumresetresetresetZBTnote_dataaddressaddress191934 342x16clk2 clk2clk2clk2clk2clk2clk1ZBT ZBTwrite_enbread_enbVideoDecodervideo_dataInstrument ManagerresetUSBInputScore DataScore ManagerConductorMixerenbenbpitch pitchpitchdynamicsarticulationsection_selvideo_outUSB245Mnote_databeat_numbusynote_data(no beat)video_inputenbtempobeatstereo_left,stereo_rightstereo_left, stereo_rightstereo_left, stereo_rightaudio_outreprogram2212107778832x162x162x162x24Compressorsignal_sumresetresetresetZBTnote_dataaddressaddress191934 342x16clk2 clk2clk2clk2clk2clk2clk1ZBT ZBTwrite_enbread_enbVideoDecodervideo_dataInstrument Managerreset•Score Management- Music data handling- Takes numeric user signals and score data to determine what instruments play whenUSBInputScore DataScore ManagerConductorMixerenbenbpitch pitchpitchdynamicsarticulationsection_selvideo_outUSB245Mnote_databeat_numbusynote_data(no beat)video_inputenbtempobeatstereo_left,stereo_rightstereo_left, stereo_rightstereo_left, stereo_rightaudio_outreprogram2212107778832x162x162x162x24Compressorsignal_sumresetresetresetZBTnote_dataaddressaddress191934 342x16clk2 clk2clk2clk2clk2clk2clk1ZBT ZBTwrite_enbread_enbVideoDecodervideo_dataInstrument Managerreset•Conductor- User Interface- Generates numeric signals from user movement•Score Management- Music data handling- Takes numeric user signals and score data to determine what instruments play whenUSBInputScore DataScore ManagerConductorMixerenbenbpitch pitchpitchdynamicsarticulationsection_selvideo_outUSB245Mnote_databeat_numbusynote_data(no beat)video_inputenbtempobeatstereo_left,stereo_rightstereo_left, stereo_rightstereo_left, stereo_rightaudio_outreprogram2212107778832x162x162x162x24Compressorsignal_sumresetresetresetZBTnote_dataaddressaddress191934 342x16clk2 clk2clk2clk2clk2clk2clk1ZBT ZBTwrite_enbread_enbVideoDecodervideo_dataInstrument Managerreset•Conductor- User Interface- Generates numeric signals from user movement•Score Management- Music data handling- Takes numeric user signals and score data to determine what instruments play when•Sound Synthesis- Given on/off and pitch- Generates actual soundTime24ticksbeatbeatbeat•128 ticks per beat•At 50 bpm a tick lasts for 9.4ms- humans can detect differences of ~20-30ms•Uneven note durations (e.g. triplets) won’t sound choppyNoteData FormatStart BeatStart TickInstrumentPitchEnable0-11 (0-4095)12-18 (0-127)19-25 (0-127)26-32 (0-127)33 (0-1)•Each NoteData takes up one 36 bit wide SRAM location•Two NoteData events per note (on and off) = 72 bits per note•500 Measures in 4/4, average of 15 notes per beat = 2.06MbScore Managementnote_data note_datanote_dataUSBInputZBT Score Dataaddress1934 34address19USB 245Mreprogram2212Score Managerresetresetresetpitch7enablebeattempo10Tick Counterpitch7enable pitch7enablereset7beat_numcurrent_ticknote_data note_datanote_dataUSBInputZBT Score Dataaddress1934 34address19USB 245Mreprogram2212Score Managerresetresetresetpitch7enablebeattempo10Tick Counterpitch7enable pitch7enablereset7beat_numcurrent_tickputs USB data into ZBT SRAMnote_data note_datanote_dataUSBInputZBT Score Dataaddress1934 34address19USB 245Mreprogram2212Score Managerresetresetresetpitch7enablebeattempo10Tick Counterpitch7enable pitch7enablereset7beat_numcurrent_tickputs USB data into ZBT SRAMWhen beat_num > current beatbusy = highoutput new note_datanote_data note_datanote_dataUSBInputZBT Score Dataaddress1934 34address19USB 245Mreprogram2212Score Managerresetresetresetpitch7enablebeattempo10Tick Counterpitch7enable pitch7enablereset7beat_numcurrent_tickputs USB data into ZBT SRAMWhen beat_num > current beatbusy = highoutput new note_dataIf beat switches stateincrement beat_numwhile Score Data is busyoverwrite BRAM w/ new note_dataall data in BRAM now has same beatIf current_tick == tick in BRAMdo the note (turn on/off, set pitch, etc)note_data note_datanote_dataUSBInputZBT Score Dataaddress1934 34address19USB 245Mreprogram2212Score Managerresetresetresetpitch7enablebeattempo10Tick Counterpitch7enable pitch7enablereset7beat_numcurrent_tickputs USB data into ZBT SRAMWhen beat_num > current beatbusy = highoutput new note_dataIf beat switches stateincrement beat_numwhile Score Data is busyoverwrite BRAM w/ new note_dataall data in BRAM now has same beatIf current_tick == tick in BRAMdo the note (turn on/off, set pitch, etc)counts clock cyclescompares to #cyc/tickif a tick has passedincrement tick counterUSB Input (Data Reading Timings)- excerpt from FTDI UM245R USB-Parallel FIFO Development Module DatasheetTick CounterTick Counterreset7tempo10•Counts the # of clock cycles that have elapsed since the last tick•Calculates the # of clock cycles that should elapse before the next tick based on the tempo•Increments the current tick when count = calculatedt empo4beatsmin_128t ickmin_160minsec= t empo_815ticksec1t empo_158sect ick_27,000,000clksec=50,625,000t empoclkt ickConductorConductor ModuleVideo Decoder•Detect LED using thresholds•Reject other colors•Store data into ZBTConductor ModuleZBT•Each frame- ZBT1 collects information from video_data- Conductor module reads from ZBT2•Every frame- ZBT1 <= ZBT2- ZBT2 <= ZBT1Conductor ModuleConductor•Determine if there are 2 LEDs (conduct the whole orchestra)•Determine position of LED•If position of LED remains the same for a certain number of frames (based on a counter), the next time the LED moves to a different position, the beat enable is high•Tempo is based on the velocity of the LEDSound SynthesisUSBInputScore DataScore ManagerConductorMixerenbenbpitch pitchpitchdynamicsarticulationsection_selvideo_outUSB245Mnote_databeat_numbusynote_data(no beat)video_inputenbtempobeatstereo_left,stereo_rightstereo_left, stereo_rightstereo_left,


View Full Document

MIT 6 111 - Conductor Hero

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 Conductor Hero
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 Conductor Hero 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 Conductor Hero 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?