Suppose I have a wave file (*.wav) with a piece for piano solo recorded in it. It's not a midi file, keep that in mind.

My question is: do you know of any plugin or any algorithm or any article in a journal dealing with detecting the time of each piano key being struck (each note being played)? Obviously the human mind recognizes each note unless the recording is of very low quality (perhaps very old), so in theory this should be possible — but has it been done yet?


  • 1
    Lots of software has transient detection, which is what you're talking about. If you just want the rhythm, this shouldn't be too hard to extract. Getting the notes played is not as common, but there is software that does that too. Both Pro Tools and Ableton Live detect transients (that I know of for certain, I suspect most software does this). Celemony Melodyne can pull out individual notes from chords. Sep 16, 2015 at 18:21

2 Answers 2


If the sound is monophonic and the velocities of the keystrokes are well defined it is quite easy to create the (midi) events from the amplitude of the keystrokes. Most DAW offer such a function for years.

If the playing is polyphonic it gets way more difficult and the procedure needs more sophisticated algorithms. The last years a number of polyphonic audio to midi software has appeared and the error rate is improving.


You could use the "convert harmony to midi" feature if you have Ableton Live 9 to achieve this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.