MATLAB实现对任意音频文件绘制时域图、频域图、功率谱图

应用场景:

利用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 轴标签

输出结果

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值