MATLAB代码音频抽取流程图详解 - 频谱分析与声音播放
开始
-
设置抽取倍数 M=5
-
对原始信号进行抽取得到 x_M:
x_M=x(1:M:end); -
对抽取信号进行傅里叶变换得到频域信号 X_M:
X_M=fft(x_M); -
计算频率轴 f_M:
f_M=fs/M*(-round(length(x_M))/2:length(x_M)-round(length(x_M))/2-1)'/length(x_M); -
画图:
- 使用
subplot(121)绘制原始信号频谱 - 使用
subplot(122)绘制抽取信号频谱
figure subplot(121);plot(f,fftshift(abs(X))); title('原始语音信号频谱'); xlabel('频率/Hz');ylabel('幅度');grid on;axis tight; subplot(122);plot(f_M,fftshift(abs(X_M))); title('抽取语音信号频谱'); xlabel('频率/Hz');ylabel('幅度');grid on;axis tight; - 使用
-
播放抽取信号:
sound(x_M,fs/M); -
导出抽取信号(单轨):
audiowrite('yinpin_downsampling.mp4',x_M,fs);
结束
原文地址: https://www.cveoy.top/t/topic/oiOb 著作权归作者所有。请勿转载和采集!