@lzr For note recognition [fiddle~] is the built-in object that you are looking for.
[helmholtz~] is an external that can often do better, especially with more complex sounds.
http://katjaas.nl/helmholtz/helmholtz.html
Chords are another matter...... and this thread....... http://forum.pdpatchrepo.info/topic/5989/detecting-chord-s-with-adc/24 ..........is almost certainly still relevant today......
The answer is most likely still....... "not possible?"...... unless you can attempt some kind of pattern matching (simple waveforms). Accoustic instruments are probably impossible. Personally, I would not even start down that road.
I would suggest keeping your project within the patch. That is..... match what is being played (midi input) to your saved sheet music midi file and ignore the audio altogether (apart from producing the sounds for the player). That should be fairly easy, as you have all of the chord information already!
Unfortunately it means keyboard only, unless your student possesses a midi violin, flute, or midi (their choice of instrument).
Notation is another problem. You will have to google around.
https://puredata.info/downloads/click-tracker is interesting, and could help you keep your musician synced with the score that they should be playing........
David.