Calculating number of notes in music piece

4 views (last 30 days)
Hi! I have some piano (MIDI format) and drum clips (wav files) and want to find out number of notes in each music piece. How do I do that?
  1 Comment
Guillaume on 3 Jul 2019
Counting the notes in the MIDI file should be fairly straightforward since a MIDI file is more or less just a sequence of instructions of which notes to play. However, I've no idea if there's a MIDI file decoder implemented in matlab. If not, there might be something on the FileExchange.
For the wav file, that's going to be significantly harder since it's just a sound recording. There's no note information embedded in the file. I guess for drums the start of a drum beat is a note, so you could probably detect sudden increases in sound amplitude. But what you're asking is akin to asking someone to listen to some drub and transcribe what they hear into notes. Not easy!

Sign in to comment.

Accepted Answer

Shashwat Bajpai
Shashwat Bajpai on 24 Jul 2019
I understand that you are trying to find the number of notes in the MIDI and .wav files.
Notes in a music piece are essentially set of frequencies varying with different octaves. I suggest you can convert the piece to frequency domain and note the different frequency variations.
You can analyze the MIDI file using the MIDI Toolbox and there is a file on the MATLAB central File Exchange available for the same purpose. You can find it on the following link:
For .wav file the process is similar. You can read the file using the audioread function.
For further information on the audioread function please refer the following link:
For information on converting data to frequency domain please refer the following link:

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!