120 likes | 202 Views
An innovative music composition and instruction tool that records audio, generates MIDI sheet music, and transfers files via SD card. The project ensures accurate signal processing, MIDI transcription, and user interface interactions for seamless music creation.
E N D
Beethoven’s Ear - Software Narrative Nick Kwolek David Duemeler Martin Pendergast Stephen 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
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