Arpeggio
Arpeggio is a JavaFX application for composing, playing, and sharing drumset music. It includes an account system featuring a profile picture, obfuscated password, and 2fa, along with the writing and playing drumset music, and a flashcard system to learn terms related to drumming.
This was a project for a software engineering class in which each member of my group took a role to simulate a software engineering environment.
My major contribution was programming the audio playback, which reads a JSON file of notes for a song. The audio playback runs in a separate thread from the main app loop and uses the set BPM and System.nanotime to calculate how long to wait between notes, and then either plays a note or rests depending on what it reads from the JSON.
Watch Demo View Github