We successfully made a MIDI synthesizer.  We were able to accurately create 3 octaves of notes corresponding to different key presses on the keyboard.  We were able to play one note at a time.  We were not able to make multiple notes play at the same time (polyphony).  We felt was the next best thing as a note will always be played as long as a key is pressed down.  Multiple keys can be pressed, but the note produced will only correspond to the last key pressed.  However, we were able to build in a small memory of key's being pressed.  It can store  up to 6 notes that are held down.  If the last note pressed is released, then the current note is turned off and the next to last note that was pressed is played again.  Here is a short video showing multiple buttons being pressed.  Notice that the previous note plays as the notes are released.



The keyboard works great when clear, distinct notes are pressed on the keyboard.  Otherwise, if too many notes are jammed at once or played too quickly, our memory can not handle this and may end up being stuck playing a note or stuck not being able to play a note at all.  When this happens we just need to reset.  So we have made a limitation that the user must play each note cleanly and not just press 40 random buttons on the machine.

We were also able to make five different looking sine tables for the notes to be based from.  We stored each of these sine tables into flash memory.  We were able to decode the Program button on the Studio 610 plus and used it to change the sine table that each note is based off.  With this function we were able to make 5 completely different sounding pitches for each note. 


Here is another video of us successfully playing with the keyboard. 

Home | Introduction | Design | Hardware | Software | Results | Conclusions

 Copyright 2003
For problems or questions regarding this web contact
Last updated: 05/01/03.