midiPARSEC

The midi Parser and Serial Encoding Client is the largest independent project I have worked on and is the one I am the most proud of. It entails parsing midi files (which contain data for the playback of music), converting them to a custom serial protocol, and sending them over the serial interface to an Arduino. The Arduino then receives these serial messages and interprets them to pulse stepper motors at the correct frequency so they act as speakers to play the song contained in the midi file.

The design has gone through several iterations, including switching between 3 different languages and 2 different embedded computing solutions. I have also written a design document for the project which explains various design decisions as well as a more detailed descriptionj of the inner worksings of the project. It can be found here.

The source code can be found here for the desktop code and here for the Arduino code. Below are video demonstrations of the project.