⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 基于语音增强程序的相关基本程序代码实用性强
💻 TXT
字号:
%在噪声环境下语音信号的增强
%语音信号为读入的声音文件
%噪声为正态随机噪声
input=wavread('sound.wav');
count=length(input);
noise=0.1*randn(1,count);
signal=input';
for i=1:count
voice(i)=signal(i)+noise(i);
end
Fv=fft(voice); 
anglev=angle(Fv);
Fn=fft(noise);
power1=(abs(Fv)).^2;
power2=(abs(Fn)).^2;
power3=power1-power2;
power4=sqrt(power3);
Fs=power4.*exp(j*anglev);
sound=ifft(Fs);
n=1:count;
figure %对比纯净语音信号和带噪语音信号 
subplot(2,1,1);
plot(n,signal);
title('纯净信号')
subplot(2,1,2);
plot(n,voice);
title('带噪信号')
figure %对比纯净语音信号频谱和带噪信号频谱
Fss=fft(signal);
subplot(2,1,1);
plot(n,abs(Fss));
title('纯净信号频谱')
subplot(2,1,2)
plot(n,abs(Fv));
title('带噪信号的频谱')
figure %对比纯净语音信号和输出信号
subplot(2,1,1)
plot(n,signal);
title('纯净信号')
subplot(2,1,2)
plot(n,sound);
title('输出信号')
figure %对比纯净语音信号频谱和输出语音信号频谱
subplot(2,1,1)
plot(n,abs(Fss));
title('纯净信号频谱')
subplot(2,1,2)
plot(n,abs(Fs));
title('输出信号频谱')
max_v=max(voice); %对带噪信号抽样值点进行归一化处理
re_voice=voice/max_v;
%对输出信号抽样点值进行归一化处理
max_s=max(sound);
re_sound=sound/max_s;
%读出带噪语音信号,存为'1001.wav'
wavwrite(re_voice,5500,16,'1001');
%读出处理后语音信号,存为'1002.wav'
wavwrite(re_sound,5500,16,'1002')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -