필터 지우기
필터 지우기

How to get dominant frequency of mp3 / wav file?

조회 수: 1 (최근 30일)
Yasir Ali
Yasir Ali 2019년 4월 4일
편집: Jan 2019년 4월 5일
Hello Seniors I want to plot dominant frequency for my wav file. I have a demo code for dominant frequency but I dont know how to get dominant frequency of wav file.
[Y,fs]=audioread('filename.wav);
Code is
Fs=1000;%sampling frequency 1 khz
t=0: 1/fs: 0.296;%time scale
f=200; %HZ, embedded dominant frequency
x=cos (2*pi*f*t)+ randn (size(t));% time series
Plot (t,x), axis ('tight'), grid('on') , title ('Time Series '),figure
nfft=512;% next larger power of 2
y=fft (x,nfft);% fast fourier transform
y= abs(y.^2); % raw power spectrum density
y=y(1:1+nfft/2);% half-spectrum
[v,k] = max (y);% find maximum
f_scale = (0:nfft/2)* fs /nfft;% frequency scale
Plot(f_scale,y),axis('tight'),grid ('on'),title ('Dominant frequency)
f_est=f_scale(k); % dominant frequency estimates
f hz, estimated
fprintf('Dominant freq.: true%f HZ, estimated % f HZ \ n', f, f_est)
fprintf (' Frequency step (resolution) =% f HZ\n', f_scale(2))
  댓글 수: 3
Yasir Ali
Yasir Ali 2019년 4월 4일
I want to get dominant frequency of wav file.
Jan
Jan 2019년 4월 5일
편집: Jan 2019년 4월 5일
The posted code does not run for several reasons:
Fs=1000;%sampling frequency 1 khz
t=0: 1/fs: 0.296;%
You define Fs and use fs. Matlab is case-sensitive. Same for Plot (t,x).
Do you really want to create the diagram at first and the figure afterwards?
Plot (t,x), axis ('tight'), grid('on') , title ('Time Series '),figure
Add a trailing quote in:
title ('Dominant frequency)
I assume, if your code runs, it will determine the dominant frequency. So all you have to do is to use the loaded Y instead of the created x.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by