Digital Theremin Synthesizer and Visualizer6.111 Final Project Lab ReportJeffrey Chang, Daniel Rodgers, and Alexander SpicerDecember 15, 2007AbstractThe digital theremin and synthesizer simultaneously plays external music and generates tones while display-ing a visualization of the sound being produced. The tones generated depend on the positions of the usershand in front of a camera, with one hand controlling pitch and the other adjusting the volume. The systemtakes an external analog audio input, overlays an audio stream generated by the user and applies filteringeffects as selected by the user via keyboard. The theremin features a variety of filters and effects alongwith multiple tones that the user can select from. The visualization features three distinct modes for bothinternal and external audio and depends on the pitch and rhythm of the outputted audio stream. The finalproduct is a user-friendly and fun musical instrument which allows people with limited musical knowledgeto “play along” with or improvise on top of musical tracks of their choice, while enjoying an entertainingvisual display.Contents1 Overview 32 Description 62.1 Video Processing (Alexander Spicer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.1 Video Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2 Frequency Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.3 Building and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Audio Synthesis and Processing (Daniel Rodgers) . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 lab4audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 Tone Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.3 Chorus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.4 Flanging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.5 Reverb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.6 Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.7 Audio Combiner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.8 Fast Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.9 Testing/Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Visualizer (Jeffrey Chang) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.3.3 Testing and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Conclusion 234 References 245 Appendix 251List of Figures1.1 Top Level Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1 This block diagram shows the basic flow of information through the video processing logic . . 72.2 Audio Processing Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 Different Audio Effects Displayed on the Visualizer . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Block diagram of visualizer module. Various sub-modules were used for the internal andexternal visualizations, as well as to display sprites on the screen (hand position bars, circles,and lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.5 Fire Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6 A horizontal line, orange in color, is displayed near the …
View Full Document