应用场景:
利用MATLAB对音频文件进行声学分析,生成时域图、频域图、功率谱图
打开MATLAB,输入相关代码。
相关代码
[y,Fs]=audioread('C:\Users\hasee\Desktop\qiangpiao\4444.mp3');%读出信号,采样率和采样位数。
y=y(:,1);%我这里假设你的声音是双声道,我只取单声道作分析,如果你想分析另外一个声道,请改成y=y(:,2)
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');%生成时域图
t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)');%生成频域图
[Pxx,f] = pwelch(y,Fs);
figure;plot(f,Pxx);%生成功率谱图
xlabel('Frequency (Hz)'); % 设置 x 轴标签
ylabel('Power'); % 设置 y 轴标签
输出结果