PerfectPitchGrace Cheung Karl RiebMassachusetts Institute of TechnologyDepartment of Electrical EngineeringDecember 15, 2007AbstractFourier transforms and frequency domain analysis are being usedto generate music scores from an audio sample. Frequency domainanalysis is performed on the result of applying a fast fourier trans-form (FFT) to the audio input to find peaks corresponding to thepitch in the audio sample. The frequency peaks are matched to theircorresponding music notes, which are used to generate a music scorein real time.iContents1 Overview 12 Module Specification 22.1 Audio Input (Grace Cheung) . . . . . . . . . . . . . . . . . . . 22.1.1 Headphone Out to Line In (HOtLI) . . . . . . . . . . . 32.1.2 Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.3 Analog-to-Dig ital Converter (ADC) . . . . . . . . . . . 32.1.4 AC97 Codec . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Signal Processing (Karl Rieb) . . . . . . . . . . . . . . . . . . 42.2.1 Fast Fourier Transform (FFT) . . . . . . . . . . . . . . 42.2.2 Magnitude . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.3 Peak Detector . . . . . . . . . . . . . . . . . . . . . . . 62.2.4 Peak Filter . . . . . . . . . . . . . . . . . . . . . . . . 62.2.5 Note Look-Up . . . . . . . . . . . . . . . . . . . . . . . 72.2.6 Metronome . . . . . . . . . . . . . . . . . . . . . . . . 72.2.7 Duration . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Video Display (Gra ce Cheung) . . . . . . . . . . . . . . . . . . 82.3.1 Note Position . . . . . . . . . . . . . . . . . . . . . . . 82.3.2 Note Sprite . . . . . . . . . . . . . . . . . . . . . . . . 92.3.3 Chord Flag Display . . . . . . . . . . . . . . . . . . . . 102.3.4 Rest Display . . . . . . . . . . . . . . . . . . . . . . . . 102.3.5 Staves Sprite . . . . . . . . . . . . . . . . . . . . . . . 1 02.3.6 XVGA . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.7 Frame Buffer . . . . . . . . . . . . . . . . . . . . . . . 113 Testing 123.1 Signal Processing (Karl Rieb) . . . . . . . . . . . . . . . . . . 123.1.1 FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.1.2 Magnitude, Peak Detector, Note Look-Up . . . . . . . 133.1.3 Metronome . . . . . . . . . . . . . . . . . . . . . . . . 133.1.4 Duration . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Video Display (Gra ce Cheung) . . . . . . . . . . . . . . . . . . 143.2.1 Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.2 Note Positions . . . . . . . . . . . . . . . . . . . . . . . 143.2.3 Frame Buffer . . . . . . . . . . . . . . . . . . . . . . . 14ii4 Conclusion 17A Appendix: Magnitude 19B Appendix: Square Root 21C Appendix: Peak Detector 22D Appendix: Note Look-Up 25E Appendix: Duration 33F Appendix: Video Display 39iiiList of Figures1 Top Level View of System Modules . . . . . . . . . . . . . . . 22 Audio Input Modules . . . . . . . . . . . . . . . . . . . . . . . 23 Signal Processing Modules . . . . . . . . . . . . . . . . . . . . 44 Video Display Modules . . . . . . . . . . . . . . . . . . . . . . 9ivList of Tables1 Note Frequency Correlation [1] . . . . . . . . . . . . . . . . . . 16v1 OverviewThe goal of PerfectPitch is to allow users the ability to create sheet music fortheir favorite songs. The system takes in the headphone output of any musicplayer device and converts it into analog line input that is fed into an audiocodec. The audio codec amplifies the signal and converts it to digital. Oncethe audio sample is in digital format, it is used by the fast fourier transform(FFT) module for analysis in the frequency domain. Multiple peaks in thesignal are t hen detected and a filtered set of the peaks a r e sent to a notelook-up table which matches the peak with its corresponding musical note.The notes are sent as a chord to a timing module that keeps a tempo for thesong and calculates the duration of the chord in the audio sample. After thechord and its duration are determined, this info rmation is sent to the videomodules.The video modules display staves and chords as they are processed by thesystem. The chords are grouped by clef and displayed o n the screen appropri-ately. The shape of the note is determined by a look-up table that containsa set of sprites associated with different note durations. The duration ofthe chord is indicated by the note heads (full or empty), stems, flags, andappereance of a dot (indicating one and a half duration).The music …
View Full Document