Extract frequency samples from .wav file

Hi,
I'd like to get a list of frequencies from a .wav file, but I don't have any idea how. I've tried to use the function wavread, from which I can get the amplitude values and plot them against the time, but what I want is to get and plot the discrete frequency values of the sound file (as I show in the image I've attached). The code I've used is the following one, and it would be perfect if I could do exactly the same operations but with the frequency values instead of the amplitude ones.
[wave,fs]=wavread('filename.wav');
t=0:1/fs:(length(wave)-1)/fs;
plot(t,wave);
Could anyone here give me a hand? Thanks in advance!

回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2015 年 6 月 21 日

0 投票

stem(abs(fft(wave)))

1 件のコメント

FirstName LastName
FirstName LastName 2015 年 6 月 23 日
Well... What I get from plotting the FFT is not exactly the union of all the frequency samples. I attach an image of the result of using this command. I would want to get something similar to the image below the amplitude graphs. The amplitude graph I get by using plot(t,wave) is correct, the problem I have is that I need to get the same but with frequency values. Thanks!

サインインしてコメントする。

Star Strider
Star Strider 2015 年 6 月 21 日

0 投票

If you have the Signal Processing Toolbox, use the spectrogram function. That may provide what you want.

2 件のコメント

FirstName LastName
FirstName LastName 2015 年 6 月 24 日
Thanks for your answer! I see that with the spectrogram function I can plot a lot of different graphs, but I don't just want to plot the frequency values, I also want to get and access them, that's the problem.
Star Strider
Star Strider 2015 年 6 月 24 日
My pleasure.
You can get data from spectrogram by asking it for outputs. All the data it calculates are available. See the documentation on Spectrogram and Instantaneous Frequency for details.

サインインしてコメントする。

質問済み:

2015 年 6 月 21 日

コメント済み:

2015 年 6 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by