生成音频的频谱图:

可以使用MATLAB中的fft函数来计算音频的频谱,然后使用plot函数来绘制频谱图。

示例代码:

% 读取音频文件
[y, Fs] = audioread('audio.wav');

% 计算频谱
N = length(y);
Y = fft(y);
f = Fs*(0:(N/2))/N;
P = abs(Y/N).^2;

% 绘制频谱图
plot(f,P(1:N/2+1));
title('频谱图');
xlabel('频率 (Hz)');
ylabel('功率');

生成音频的语谱图:

可以使用MATLAB中的spectrogram函数来计算音频的语谱图,然后使用imagesc函数来绘制语谱图。

示例代码:

% 读取音频文件
[y, Fs] = audioread('audio.wav');

% 计算语谱图
window = hamming(round(0.03*Fs),'periodic');
noverlap = round(0.01*Fs);
nfft = 1024;
[S,F,T,P] = spectrogram(y,window,noverlap,nfft,Fs,'yaxis');

% 绘制语谱图
imagesc(T,F,10*log10(P));
axis xy;
title('语谱图');
xlabel('时间 (s)');
ylabel('频率 (Hz)');
colorbar;
``
matlab生成音频的频谱图和语谱图

原文地址: http://www.cveoy.top/t/topic/ewEj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录