Gave it a try. After a few minutes I felt more like I was recognising the samples than I was recognising the notes. Not sure what you can do about that short of physically modeling an instrument.
> Currently includes the following built in exercises:
> [...]
> 7. Interval recognition - the very popular exercise almost all app has. Although I do not recommend using it as I find it inaffective in confusing, since the intervals are out-of-context.
I am using midi and open source instrument packages, so this is all handleable. There's a few instrument options to choose from in the top right settings.
Will probably add a "randomize instrument used per round" setting or something to really dial it in. I added a randomize velocity option but didn't test it much
There are some libraries that make it easy to simulate instruments. E.g. tone.js https://tonejs.github.io/
It should be possible to generate unique-ish variants at runtime.