Nick Kwolek David Duemeler Martin PendergastStephen Edwards
Outline Project Overview Signal Processing Code MIDI Transcription Code User Interface Code
Project Overview A music composition and instruction tool Records audio of a musical instrument and creates MIDI sheet music of the audio Files transferred via SD card
Project-Specific Success Criteria An ability to sample an audio signal with appropriate input filtering. An ability to transform an audio signal to the frequency domain in finite length sample windows. An ability to determine the note names and durations based on the frequency spectrum and an internal metronome. An ability to generate a musical score stored in a MIDI file, based on the analyzed data. An ability to transfer the completed music file to a removable storage medium.
Signal Processing Software Currently a Matlab script Possibility of Using Microchip IDE to directly comply code to dsPIC If not, port code to C, then compile to dsPIC Uses an FFT to create frequency spectrum Window size: 4096 Decimation and window lag can be varied Selects the highest amplitude frequency as the fundamental
DSP Software Frequency Window Index
MIDI Transcription Software Takes output of Signal Processing Software Composes MIDI file header BPM – Set By User Time Signature – Set By User Key Signature – Default to C major Writes music data to SD card over SPI line
MIDI Transcription Data Flow
User Interface Software Menu Based Display on the LCD Beats Per Minute Time Signature Reads Data from RPG and push buttons Processes Start and Stop Recording Signals
User Interface
Questions?