Program that recognize musical notes (1 notenot chords) and give their frequencies

2 vues (au cours des 30 derniers jours)
Drago Smoke
Drago Smoke le 4 Mar 2018
Commenté : Walter Roberson le 27 Juil 2019
Hi !
I'm currently working on a program able to recognize musical notes. The idea is that you put a ".wav" file with several notes in it that are played at different times. Then the program analyze the file and for each notes displays it's frequency.
I first tried to work with the FFT function but I can't figure out how to extract the fundamental frequency.
I hope you can help me ! Thanks.
  3 commentaires
Drago Smoke
Drago Smoke le 4 Mar 2018
Thank you.
Once I've broke the sound to isolate each note is the spectrogram function useful to get the fundamental frequency of a note ?
Walter Roberson
Walter Roberson le 4 Mar 2018
You do not need to break the sounds up if you use spectogram, as spectogram automatically breaks it up into windows and calculates the frequency information over time.
Look at https://www.mathworks.com/help/signal/ref/spectrogram.html#bupm9cj and see how they put frequency along x and time along y. For any given time (that is, row), the fundamental frequency should be the one for which the x value is greatest.

Connectez-vous pour commenter.

Réponses (1)

Long Nguyen
Long Nguyen le 26 Juil 2019
Modifié(e) : Long Nguyen le 27 Juil 2019
Hi there,
I'm quite new to MatLab and currently trying to make something out this idea.
I would like to ask if you were still interested in this and please to help, I have troubles interpreting the recommended ideas into coding, to be more clearly, by which command can I get data of the frequency in hertz in the workspace?
Could you please give me some code of using spectrogram to extract the fundamental frequency?
Thanks for !

Catégories

En savoir plus sur Audio I/O and Waveform Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by