導航:首頁 > 編程語言 > 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代碼相關的資料

熱點內容
linuxcp936 瀏覽:757
好用可愛的貼紙app 瀏覽:298
韓國三小時集錦 瀏覽:961
台灣紅羊影業出品的電影有哪些 瀏覽:563
女道士趕屍西門慶 瀏覽:587
vnclinux68下載 瀏覽:620
編程跟計算機二級考試哪個簡單 瀏覽:23
計算機編程開發分為什麼 瀏覽:575
win10沒有防火牆設置 瀏覽:473
linuxzless 瀏覽:511
手機下載歌曲找不到放歌的文件 瀏覽:60
gwp88e升級 瀏覽:75
好看電影 [中文字幕]I 瀏覽:289
蘋果7充電沒充滿就拔掉 瀏覽:851
網上哪裡可以下載工商文件 瀏覽:682
最近有沒有新網站你懂得 瀏覽:662
如何在番茄小說網站上傳小說 瀏覽:650
可不可以在現實里壓縮文件 瀏覽:892
第四印象加密文件 瀏覽:621
新電影app 瀏覽:616

友情鏈接