6.031 Software Construction: ABC Karaoke Player in Java
For the final project, we built an ABC Karaoke Player. We used ParserLib to parse abc files, the Java MIDI API to play back the music, and a web server to stream the lyrics to multiple people who want to sing along. We handled a subset of the abc language, including Bars, Chords, Key Signature, Accidentals, Notes, Rests,Tuplets, Repeats, and Multiple Voices.
Concepts that were tested include version control, specifications, unit tests, immutable data types, abstract data types, amongst many othes.
This project also included a very thorough implementation and understanding of grammars, parsers, and abstract syntax trees in Java.
Find a detailed specification of the project here
Team Members:
Marwa Abdulhai
Bibek Pandit
Myra Ahmad