This is a great domain for vibe-coding your own apps. I put together a combined music notation / ear trainer app as a single HTML app: https://htmlpreview.github.io/?https://github.com/titzer/Rif...
I've been working on a voice trainer that uses DSP to analyze a signal and do real-time pitch tracking: https://htmlpreview.github.io/?https://github.com/titzer/Rif...
The latter I've been using to suck just a tiny bit less at singing.
Amazing, I just used the ear training one to hum a tune and then find the notes to play it
Very nice!
My wish list for UX / features:
For the Note Quiz, it was not immediately obvious to me what I need to do - i.e., pick from one of the four what were answer choices. Consider adding some instructions for newbies like me.
I got 90% right for the Note quiz. On Key Quiz, I won't even get 20%. :-) Either way, it would help to have a "Teach" mode also, not just Quiz/evaluate mode. This may show me two keys/chords/sequences side-by-side along with the answers (and prioritizing the cases that I tend to get wrong). I could then hear those repeatedly at will to learn to distinguish.
For the pitch tracking, I wish for a view that is not centered on a waveform but on the instrument. My goal is to improve my voice to sing the right notes/sequence, not the entire time history of it. So a long/moving waveform is less helpful.
A simple view for notes training could be a horizontal piano roll (seeing it like a piano in the front of me) showing a red mark on the piano roll itself for the note / frequency I am singing.
For note sequences and transitions, the same view could show (vertical) waveforms like you have in the Note Quiz (three notes lasting for some three seconds) comparing the desired vs. the actual.
Thanks!
PS: Are you planning to add some FOSS license?