資源簡介
matlab語音處理消噪源程序,可以直接使用,將新的語音文件添加到matlab后也能實現功能!

代碼片段和文件信息
%實驗要求一:小波軟閾值語音降噪
clear?all;?clc;?close?all;
[xx?fs]?=?wavread(‘C5_4_y.wav‘);???????????%?讀入數據文件
xx=xx-mean(xx);?????????????????????????%?消除直流分量
x=xx/max(abs(xx));??????????????????????%?幅值歸一化
N=length(x);
%-------------------------加入指定強度的噪聲---------------------------------
SNR=5;
s=awgn(xSNR‘measured‘‘db‘);???????????????%?疊加噪聲
wname=‘db7‘;
jN=6;??%分解的層數
snrs=20*log10(norm(x)/norm(s-x));
signal=Wavelet_Soft(sjNwname);
signal=signal/max(abs(signal));
snr1=SNR_Calc(xs);???????????????????%?計算初始信噪比
snr2=SNR_Calc(xsignal);????????????%?計算降噪后的信噪比
snr=snr2-snr1;
fprintf(‘snr1=%5.4f???snr2=%5.4f???snr=%5.4f\n‘snr1snr2snr);
%?作圖
time=(0:N-1)/fs;????????????????????????%?設置時間
subplot?311;?plot(timex‘k‘);?grid;?axis?tight;
title(‘純語音波形‘);?ylabel(‘幅值‘)
subplot?312;?plot(times‘k‘);?grid;?axis?tight;
title([‘帶噪語音?信噪比=‘?num2str(SNR)?‘dB‘]);?ylabel(‘幅值‘)
subplot?313;?plot(timesignal‘k‘);grid;%hold?on;
title(‘濾波后波形‘);?ylabel(‘幅值‘);?xlabel(‘時間/s‘);
%--------------------------------------------------------------------------
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????64044??2012-06-16?06:00??語音信號消噪matlab實現\C5_4_y.wav
?????文件???????1168??2016-03-17?13:41??語音信號消噪matlab實現\C5_4_y_1.m
?????文件???????1161??2019-02-28?21:04??語音信號消噪matlab實現\C5_4_y_2.m
?????文件????????399??2015-02-07?20:52??語音信號消噪matlab實現\SNR_Calc.m
?????文件????????806??2016-03-17?13:42??語音信號消噪matlab實現\Wavelet_Hard.m
?????文件????????851??2016-03-17?13:42??語音信號消噪matlab實現\Wavelet_Soft.m
?????目錄??????????0??2019-02-28?21:22??語音信號消噪matlab實現
-----------?---------??----------?-----??----
????????????????68429????????????????????7
- 上一篇:故障電機單通道振動信號數據
- 下一篇:Matlab添加VS2013編譯器
評論
共有 條評論