導航:首頁 > 編程語言 > dnnspeechmatlab代碼

dnnspeechmatlab代碼

發布時間:2024-04-23 15:46:31

⑴ 濡備綍灝嗛噰闆嗕俊鍙瘋緭鍏matlab

濡傛灉鏄鎯沖皢澹伴煶淇″彿褰曞埗鍒癿atlab閲岄潰錛屽垯鍙浠ヤ嬌鐢ㄤ互涓嬬殑鍑芥暟銆
R = audiorecorder( 44100, 16 ,2 ) 錛
%鍒涘緩涓涓淇濆瓨闊抽戜俊鎮鐨勫硅薄錛屽畠鍖呭惈閲囨牱鐜囷紝鏃墮棿鍜屽綍鍒剁殑闊抽戜俊鎮絳夌瓑銆44100琛ㄧず閲囨牱涓44100Hz錛堝彲鏀逛負8000, 11025, 22050絳夛紝姝ゆ暟鍊艱秺澶э紝褰曞叆鐨勫0闊寵川閲忚秺濂斤紝鐩稿簲闇瑕佺殑瀛樺偍絀洪棿瓚婂ぇ錛夛紝16涓虹敤16bits瀛樺偍錛2涓轟袱閫氶亾鍗崇珛浣撳0錛堜篃鍙浠ユ敼涓1鍗沖崟澹伴亾錛夈
record(R);
%寮濮嬪綍鍒訛紝姝ゆ椂瀵圭潃楹﹀厠椋庤磋瘽鍗沖彲銆
pause(R);
%鏆傚仠褰曞埗銆
play(R)
%鎾鏀懼綍鍒剁殑澹伴煶銆
resume(R);
%緇х畫褰曞埗.
stop(R);
%鍋滄㈠綍鍒
myspeech = getaudiodata(R);
%寰楀埌浠n*2鍒楁暟瀛楃煩闃靛瓨鍌ㄧ殑鍒氬綍鍒剁殑闊抽戜俊鍙楓
%瀵硅繖涓鐭╅樀浣犲氨鍙浠ョ敤鍚勭嶆護娉㈠櫒榪涜屽勭悊錛屾垨鑰呮妸瀹冨拰鍒鐨勯煶棰戞販闊崇瓑絳夈備綘涔熷彲浠ョ敾鍑哄畠鐨勬嘗褰錛堝傛灉鏃墮棿杈冮暱鐢繪嘗褰㈠彲鑳戒細鑺辯偣鏃墮棿錛夈
plot(myspeech)
%鐢誨嚭娉㈠艦
%濡傛灉浣犳兂淇濆瓨鍙浠ヤ嬌鐢
wavwrite(myspeech,44100,16,'myspeech')錛
%myspeech琛ㄧず瑕佸瓨鍏ョ殑娉㈠艦鐭╅樀錛44100琛ㄩ噰鏍風巼錛16 涓轟互16bits瀛樺偍錛'myspeech'涓哄瓨鍌ㄧ殑鏂囦歡鍚嶃
%matlab鏈夋瀬鍏朵赴瀵岀殑闊抽戝勭悊婊ゆ嘗鍔燂紝姝ゅ勪粙緇嶆渶鍩烘湰鐨勫綍鍏ャ佹挱鏀懼拰淇濆瓨鎿嶄綔錛屽笇鏈涜兘瀵逛綘鏈夋墍甯鍔

⑵ 鑳界粰鎴戜竴涓璋卞噺娉昺atlab鍘誨櫔鐨勭▼搴忓悧錛熸湁宸插綍鐨勭函鍑璇闊 瑕佺畝鍗曠殑鏈夋敞閲婂氨鏇村ソ浜 錛 涓囧垎鎰熻阿

winsize=256;%紿楅暱
n=0.1;%鍣澹版按騫
a=2;
b=6;
[speech,fs,nbits]=wavread('E:\matlab\louyin.wav');%璇誨叆wav鏂囦歡
size=length(speech);%璇闊抽暱搴
numofwin=floor(size/winsize);%紿楁暟
%瀹氫箟奼夋槑紿
ham=hamming(winsize)';
hamwin=zeros(1,size);
enhanced=zeros(1,size);
improved=zeros(1,size);
%鐢熸垚鍣澹頒俊鍙
noise=n*randn(1,size);
y=speech'+noise;
%鍣澹板勭悊
noisy=n*randn(1,winsize);
N=fft(noisy);
npow=abs(N);
for q=1:2*numofwin-1
yframe=y(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2);%鍒嗗撫
hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+ham;%
%鍔犲櫔淇″彿FFT
y1=fft(yframe.*ham);
ypow=abs(y1);%鍔犲櫔淇″彿騫呭害
yangle=angle(y1);%鐩鎬綅
%璁$畻鍔熺巼璋卞瘑搴
Py=ypow.^2;
Pn=npow.^2;

Pyy=ypow.^a;
Pnn=npow.^a;
%鍩烘湰璋卞噺
for i=1:winsize
if Py(i)-Pn(i)>0
Ps(i)=Py(i)-Pn(i);
else
Ps(i)=0;
end
end
s=sqrt(Ps).*exp(j*yangle);
for i=1:winsize
if Pyy(i)-b*Pnn(i)>0
Pss(i)=Pyy(i)-b*Pnn(i);
else
Pss(i)=0;
end
end
ss=Pss.^(1/a).*exp(j*yangle);

%鍘誨櫔璇闊矷FFT
enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(s));
improved(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=improved(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(ss));
end
%鍘婚櫎奼夋槑紿楀紩璧風殑澧炵泭
for i=1:size
if hamwin(i)==0
enhanced(i)=0;
improved(i)=0;
else
enhanced(i)=enhanced(i)/hamwin(i);
improved(i)=improved(i)/hamwin(i);
end
end
SNR1=10*log10(var(speech')/var(noisy));%鍔犲櫔璇闊充俊鍣姣
SNR2=10*log10(var(speech')/var(enhanced-speech'));%澧炲己璇闊充俊鍣姣
SNR3=10*log10(var(speech')/var(improved-speech'));
figure(1);plot(speech');%鍘熷嬭闊蟲嘗褰
title(['Original Voice(n=',num2str(n),')']);
figure(2);plot(y);
title(['Noise Added(SNR=',num2str(SNR1),'dB)']);
figure(3);plot(enhanced);
title(['Enhanced Voice(SNR=',num2str(SNR2),'dB)']);
figure(4);plot(improved);
title(['Improved Voice(SNR=',num2str(SNR3),'dB)']);

⑶ 闂闂鍏充簬matlab涓鐨勮闊寵瘑鍒珇~

鍏跺疄榪欐典唬鐮佹垜鐪嬭繃 - -
鎴戣夊緱鏈変簺鑾鍚嶅叾濡欑殑錛屾垜緇欎綘涓涓濂界綉絝欙紝浣犲幓涓婇潰鐪嬶紝鍏跺疄灝8姝ワ細
http://neural.cs.nthu.e.tw/jang/books/audiosignalprocessing/speechFeatureMfcc_chinese.asp?title=12-2%20MFCC
榪欐墊枃絝犲氨鏄緗戜笂鏈騫挎硾鐨凪FCC 8姝ラわ紝璁插緱闈炲父娓呮氾紝鎴戣垂灝藉ぇ鍔涙皵鎵嶆壘鍒板師鐗堛
榪欐湰涔︽暣涓閮藉緢濂斤紝閫傚悎鍏ラ棬鐪嬶紝鎴戝幓騫存悶浜嗗ソ涔

鍙鑳芥湇鍔″櫒鍏蟲帀浜嗭紝鎴戠粰浣犲彂浜嗙佷俊錛屼綘閫氳繃閭d釜鑱旂郴鎴戱細錛夋垜緇欎綘pdf鐗堟湰

閱讀全文

與dnnspeechmatlab代碼相關的資料

熱點內容
計算機網路開發有什麼 瀏覽:184
如何免費帶格式的文件 瀏覽:729
外星人和蘋果哪個貴 瀏覽:880
小程序網址 瀏覽:285
qq裡面的文件怎麼刪除 瀏覽:908
aspnet資料庫操作 瀏覽:378
電子編程在哪裡下載 瀏覽:682
核桃編程如何新建目標文件夾 瀏覽:348
移動網路架構 瀏覽:349
文件放哪個盤里好 瀏覽:794
經檢測網速正常為什麼網路還卡 瀏覽:430
怎麼創建一個Linux腳本文件 瀏覽:150
xbox2011年自製版本 瀏覽:788
熱門花卡app有哪些 瀏覽:374
js64位編碼上傳圖片 瀏覽:525
緊急通知升級新域名 瀏覽:918
id為什麼下載不得app 瀏覽:658
列印機掃描的文件路徑怎麼修改 瀏覽:876
編程在哪裡做兼職 瀏覽:804
為什麼總是復制隱藏文件 瀏覽:203

友情鏈接