The original intent of this application was to provide an interface through which an individual could independantly learn to play the piano, through either pre-made interactive lesson sets, or by implementing existing songs in one of two formats (MIDI and MusicXML). We also implemented a game mode into the program, similar to the Guitar Hero or Rock Band games.
This was a senior project at MSOE. As with many student projects, we bit off more than we could chew - no pre-made lesson books were made (aside from demos), though the support is there. A number of issues still exist - the MIDI reading isn't perfect, and neither is MusicXML. The game mode is basic - programs like Synthesia offer a far more robust experience. Regardless - we learned a lot through work on this application. At the end of the year, we were sick of it, sick of each other - and yet we were glad we had gone through it.
Let this project serve as both a reference point and a memorial of sorts - both very good and very bad ideas are found here.
I got morbidly nostalgic and tried to run this again, but couldn't - there was no build script. I added Gradle configs - that should let you import this project in your IDE of choice and run the main()
in crescendo.base.GUI.PianoTrainerApplication
.