Matlab语音频谱分析,滤波

课程设计写了利用MATLAB进行语音采集的分析的小程序,供大家参考。   :)

注意:音频文件要和Matlab工程文件放在一起。

第一段程序:读取录制的一段音频进行时域频域分析并生成图片。

%123.m4a是我录制的音频文件名,使用时要改成自己的音频文件名

[yy,fs]=audioread('123.m4a');%读入音频文件
grid on; %网格线
hold on; %设置图像保持
YY=fft(yy);%对语音进行傅里叶变换
subplot(2,1,1); 
plot(yy,'b');%语音时域波形
title('语音时域波形');
subplot(2,1,2); 
plot(abs(YY),'b');%语音频域波形
title('语音频域波形');
sound(yy,fs);%播放语音

Matlab语音频谱分析,滤波_第1张图片

 

第二段程序:生成噪声,对噪声进行时域频域分析:

noise=0.1*randn(161791,2);%调用随机函数产生噪声
NOISE=fft(noise);%对噪声进行傅里叶变换
sound(noise,fs);%播放噪声
subplot(2,1,1); 
plot(noise,'b');%噪声时域波形
title('噪声时域波形');
subplot(2,1,2); 
plot(abs(NOISE),'b');%噪声频域波形
title('噪声频域波形');

Matlab语音频谱分析,滤波_第2张图片

第三段程序:语音信号加入噪声。分析频域时域波形。

[yy,fs]=audioread('123.m4a');%读入音频文件
noise=0.1*randn(161791,1);%调用随机函数产生噪声
yynoise=noise+yy;
YYNOISE=fft(yynoise);
subplot(2,1,1); 
plot(yynoise,'b');%音频加噪声时域波形
title('时域波形');
subplot(2,1,2); 
plot(abs(YYNOISE),'b');%音频加噪声频域波形
title('频域波形');
sound(yynoise,fs);%播放加入噪声的音频

Matlab语音频谱分析,滤波_第3张图片

 

 

你可能感兴趣的:(matlab)