I am not sure about what you are trying to do in NLA, I have very little knowledge of that, but, Blender ships with the Aud sound library, used in VSE for example.
I have been working with this lately in an experimental system documented here: Clockworx Music Nodes - some issues to solve
In this I can have sound files played at specific times in the animation, or use the nodes to add sounds into VSE to play during the animation. You can make a Modal Operator to activate a sound when a key is pressed, this I know but have not looked at yet, part of my development will be to include MIDI input, that I have already done for animation Nodes using various Python libraries, see this: https://blenderartists.org/t/were-in-the-midi-audio-daw-real-time/1142160
So this may provide you a better way to go if nobody can answer your question directly. My new node system is still in its infancy, so it is not a released product yet.
Cheers, Clock.