vas a tener algunos problemas con ams sobre todo a la hora de pulsar varias teclas a la vez, solo tienes 6 canales de audio con ams por lo que solo puedes tener 6 sonidos, en fin una caca.
Para comprobar las teclas te recomiendo hookear el teclado con winapi en lugar de con el metodo que trae ams, puse un ejemplo de keylogger que te podria servir echale un ojo.
Si quieres hacer algo mas pro, olvida el tema ams y basate en este proyecto.
http://midisheetmusic.sourceforge.net/index.html
utiliza archivos mid para escribir una partitura que puedes imprimir y muestra un teclado iluminandose, con un poco de programacion podras intefacear las teclas con el teclado o mejor, con un teclado midi, que es lo que necesitas en realidad.
Ademas esto puede ser un buen trainer, puedes poner por ejemplo un modo que no sigue tocando si no pulsas las teclas correctas con lo que aprendes facilmente, que puedas seleccionar el bloqueo por partitura superior o inferior y cosas asi. El proyecto esta escrito en c# por lo que es muy facil trajinarlo.
Segun las necesidades que tengas, tu diras