版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
語(yǔ)音信號(hào)處理實(shí)驗(yàn)班級(jí):學(xué)號(hào):姓名:實(shí)驗(yàn)一基于MATLAB的語(yǔ)音信號(hào)時(shí)域特征分析(2學(xué)時(shí))1)短時(shí)能量(1)加矩形窗a=wavread(’mike.wav');a=a(:,1);subplot(6,1,1),plot(a);N=32;fori=2:6h=linspace(1,1,2.^(i-2)*N);%形成一個(gè)矩形窗,長(zhǎng)度為2.^(i—2)*NEn=conv(h,a。*a);%求短時(shí)能量函數(shù)Ensubplot(6,1,i),plot(En);if(i==2),legend('N=32');elseif(i==3),legend(’N=64’);elseif(i==4),legend('N=128');elseif(i==5),legend(’N=256’);elseif(i==6),legend('N=512’);endend(2)加漢明窗a=wavread('mike。wav');a=a(:,1);subplot(6,1,1),plot(a);N=32;fori=2:6h=hanning(2。^(i-2)*N);%形成一個(gè)漢明窗,長(zhǎng)度為2.^(i-2)*NEn=conv(h,a.*a);%求短時(shí)能量函數(shù)Ensubplot(6,1,i),plot(En);if(i==2),legend('N=32');elseif(i==3),legend(’N=64’);elseif(i==4),legend('N=128’);elseif(i==5),legend('N=256’);elseif(i==6),legend(’N=512');endend2)短時(shí)平均過(guò)零率a=wavread('mike.wav’);a=a(:,1);n=length(a);N=320;subplot(3,1,1),plot(a);h=linspace(1,1,N);En=conv(h,a.*a);%求卷積得其短時(shí)能量函數(shù)Ensubplot(3,1,2),plot(En);fori=1:n—1ifa(i)>=0b(i)=1;elseb(i)=-1;endifa(i+1)〉=0b(i+1)=1;elseb(i+1)=-1;endw(i)=abs(b(i+1)-b(i));%求出每相鄰兩點(diǎn)符號(hào)的差值的絕對(duì)值endk=1;j=0;while(k+N-1)〈nZm(k)=0;fori=0:N—1;Zm(k)=Zm(k)+w(k+i);endj=j+1;k=k+N/2;%每次移動(dòng)半個(gè)窗endforw=1:jQ(w)=Zm(160*(w—1)+1)/(2*N);%短時(shí)平均過(guò)零率endsubplot(3,1,3),plot(Q),grid;3)自相關(guān)函數(shù)N=240y=wavread(’mike.wav’);y=y(:,1);x=y(13271:13510);x=x。*rectwin(240);R=zeros(1,240);fork=1:240forn=1:240-kR(k)=R(k)+x(n)*x(n+k);endendj=1:240;plot(j,R);grid;實(shí)驗(yàn)二基于MATLAB分析語(yǔ)音信號(hào)頻域特征1)短時(shí)譜cleara=wavread('mike.wav');a=a(:,1);subplot(2,1,1),plot(a);title('originalsignal’);gridN=256;h=hamming(N);form=1:Nb(m)=a(m)*h(m)endy=20*log(abs(fft(b)))subplot(2,1,2)plot(y);title('短時(shí)譜’);grid2)語(yǔ)譜圖[x,fs,nbits]=wavread(’mike。wav')x=x(:,1);specgram(x,512,fs,100);xlabel(’時(shí)間(s)');ylabel(’頻率(Hz)’);title('語(yǔ)譜圖’);3)倒譜和復(fù)倒譜(1)加矩形窗時(shí)的倒譜和復(fù)倒譜cleara=wavread(’mike。wav’,[4000,4350]);a=a(:,1);N=300;h=linspace(1,1,N);form=1:Nb(m)=a(m)*h(m);endc=cceps(b);c=fftshift(c);d=rceps(b);d=fftshift(d);subplot(2,1,1)plot(d);title(’加矩形窗時(shí)的倒譜')subplot(2,1,2)plot(c);title(’加矩形窗時(shí)的復(fù)倒譜’)(2)加漢明窗時(shí)的倒譜和復(fù)倒譜cleara=wavread('mike.wav’,[4000,4350]);a=a(;,1);N=300;h=hamming(N);form=1:Nb(m)=a(m)*h(m);endc=cceps(b);c=fftshift(c);d=rceps(b);d=fftshift(d);subplot(2,1,1)plot(d);title('加漢明窗時(shí)的倒譜’)subplot(2,1,2)plot(c);title(’加漢明窗時(shí)的復(fù)倒譜’)實(shí)驗(yàn)三基于MATLAB的LPC分析MusicSource=wavread(’mike.wav’);MusicSource=MusicSource(:,1);Music_source=MusicSource';N=256;%windowlength,N=100——1000;Hamm=hamming(N);%createHammingwindowframe=input(’請(qǐng)鍵入想要處理的幀位置=’);%originiscurrentframeorigin=Music_source(((frame-1)*(N/2)+1):((frame-1)*(N/2)+N));Frame=origin。*Hamm’;%%ShortTimeFourierTransform%[s1,f1,t1]=specgram(MusicSource,N,N/2,N);[Xs1,Ys1]=size(s1);fori=1:Xs1FTframe1(i)=s1(i,frame);endN1=input(’請(qǐng)鍵入預(yù)測(cè)器階數(shù)=');%N1ispredictor’sorder[coef,gain]=lpc(Frame,N1);%LPCanalysisusingLevinson-Durbinrecursionest_Frame=filter([0-coef(2:end)],1,F(xiàn)rame);%estimateframe(LP)FFT_est=fft(est_Frame);err=Frame—est_Frame;%error%FFT_err=fft(err);subplot(2,1,1),plot(1:N,Frame,1:N,est_Frame,’-r');grid;title('原始語(yǔ)音幀vs.預(yù)測(cè)后語(yǔ)音幀')subplot(2,1,2),plot(err);grid;title('誤差’);pause%subplot(2,1,2),plot(f',20*log(abs(FTframe2)));grid;title('短時(shí)譜’)%%GainsolutionusingG^2=Rn(0)—sum(ai*Rn(i)),i=1,2,。.。,P%fLength(1:2*N)=[origin,zeros(1,N)];Xm=fft(fLength,2*N);X=Xm。*conj(Xm);Y=fft(X,2*N);Rk=Y(1:N);PART=sum(coef(2:N1+1).*Rk(1:N1));G=sqrt(sum(Frame。^2)—PART);A=(FTframe1-FFT_est(1:length(f1')))./FTframe1;%inversefilterA(Z)subplot(2,1,1),plot(f1',20*log(abs(FTframe1)),f1’,(20*log(abs(1。/A))),'-r');grid;title('短時(shí)譜');subplot(2,1,2),plot(f1’,(20*log(abs(G./A))));grid;title('LPC譜');pause%plot(abs(ifft(FTframe1./(G。/A))));grid;title(’excited’)%plot(f1',20*log(abs(FFT_est(1:length(f1')).*A/G)));grid;%pause%%find_pitch%temp=FTframe1—FFT_est(1:length(f1'));%notmovehigherfrequncepitch1=log(abs(temp));pLength=length(pitch1);result1=ifft(pitch1,N);%movehigherfrequncepitch1((pLength—32):pLength)=0;result2=ifft(pitch1,N);%directdorealcepstrumwitherrpitch=fftshift(rceps(err));origin_pitch=fftshift(rceps(Frame));subplot(211),plot(origin_pitch);grid;title(’原始語(yǔ)音幀倒譜(直接調(diào)用函數(shù))');subplot(212),plot(pitch);grid;title(’預(yù)測(cè)誤差倒譜(直接調(diào)用函數(shù))’);pausesubplot(211),plot(1:length(result1),fftshift(real(result1)));grid;title(’預(yù)測(cè)誤差倒譜(根據(jù)定義編寫,沒有去除高頻分量)’);subplot(212),plot(1:length(result2),fftshift(real(result2)));grid;title(’預(yù)測(cè)誤差倒譜(根據(jù)定義編寫,去除高頻分量)');實(shí)驗(yàn)四基于VQ的特定人孤立詞語(yǔ)音識(shí)別研究1、mfcc.mfunctionccc=mfcc(x)bank=melbankm(24,256,8000,0,0。5,’m’);bank=full(bank);bank=bank/max(bank(:));fork=1:12n=0:23;dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));endw=1+6*sin(pi*[1:12]./12);w=w/max(w);xx=double(x);xx=filter([1—0.9375],1,xx);xx=enframe(xx,256,80);fori=1:size(xx,1)y=xx(i,:);s=y'。*hamming(256);t=abs(fft(s));t=t.^2;c1=dctcoef*log(bank*t(1:129));c2=c1.*w’;m(i,:)=c2';enddtm=zeros(size(m));fori=3:size(m,1)—2dtm(i,:)=—2*m(i-2,:)—m(i—1,:)+m(i+1,:)+2*m(i+2,:);enddtm=dtm/3;ccc=[mdtm];ccc=ccc(3:size(m,1)—2,:);2、vad。mfunction[x1,x2]=vad(x)x=double(x);x=x/max(abs(x));FrameLen=240;FrameInc=80;amp1=10;amp2=2;zcr1=10;zcr2=5;maxsilence=8;%6*10ms=30msminlen=15;%15*10ms=150msstatus=0;count=0;silence=0;tmp1=enframe(x(1:end—1),FrameLen,FrameInc);tmp2=enframe(x(2:end),FrameLen,F(xiàn)rameInc);signs=(tmp1。*tmp2)<0;diffs=(tmp1-tmp2)>0。02;zcr=sum(signs。*diffs,2);amp=sum(abs(enframe(filter([1-0.9375],1,x),FrameLen,FrameInc)),2);amp1=min(amp1,max(amp)/4);amp2=min(amp2,max(amp)/8);x1=0;x2=0;forn=1:length(zcr)goto=0;switchstatuscase{0,1}ifamp(n)>amp1x1=max(n-count—1,1);status=2;silence=0;count=count+1;elseifamp(n)〉amp2|。。。zcr(n)〉z(mì)cr2status=1;count=count+1;elsestatus=0;count=0;endcase2,ifamp(n)〉amp2|。。.zcr(n)>zcr2count=count+1;elsesilence=silence+1;ifsilence<maxsilencecount=count+1;elseifcount〈minlenstatus=0;silence=0;count=0;elsestatus=3;endendcase3,break;endendcount=count—silence/2;x2=x1+count—1;3、codebook。m%clear;functionxchushi=codebook(m)[a,b]=size(m);[m1,m2]=szhixin(m);[m3,m4]=szhixin(m2);[m1,m2]=szhixin(m1);[m7,m8]=szhixin(m4);[m5,m6]=szhixin(m3);[m3,m4]=szhixin(m2);[m1,m2]=szhixin(m1);[m15,m16]=szhixin(m8);[m13,m14]=szhixin(m7);[m11,m12]=szhixin(m6);[m9,m10]=szhixin(m5);[m7,m8]=szhixin(m4);[m5,m6]=szhixin(m3);[m3,m4]=szhixin(m2);[m1,m2]=szhixin(m1);chushi(1,:)=zhixinf(m1);chushi(2,:)=zhixinf(m2);chushi(3,:)=zhixinf(m3);chushi(4,:)=zhixinf(m4);chushi(5,:)=zhixinf(m5);chushi(6,:)=zhixinf(m6);chushi(7,:)=zhixinf(m7);chushi(8,:)=zhixinf(m8);chushi(9,:)=zhixinf(m9);chushi(10,:)=zhixinf(m10);chushi(11,:)=zhixinf(m11);chushi(12,:)=zhixinf(m12);chushi(13,:)=zhixinf(m13);chushi(14,:)=zhixinf(m14);chushi(15,:)=zhixinf(m15);chushi(16,:)=zhixinf(m16);sumd=zeros(1,1000);k=1;dela=1;xchushi=chushi;while(k〈=1000)sum=ones(1,16);forp=1:afori=1:16d(i)=odistan(m(p,:),chushi(i,:));enddmin=min(d);sumd(k)=sumd(k)+dmin;fori=1:16ifd(i)==dminxchushi(i,:)=xchushi(i,:)+m(p,:);sum(i)=sum(i)+1;endendendfori=1:16xchushi(i,:)=xchushi(i,:)/sum(i);endifk>1dela=abs(sumd(k)—sumd(k-1))/sumd(k);endk=k+1;chushi=xchushi;endreturn4、testvq。mclear;disp('這是一個(gè)簡(jiǎn)易語(yǔ)音識(shí)別系統(tǒng),請(qǐng)保證已經(jīng)將您的語(yǔ)音保存在相應(yīng)文件夾中’)disp('正在訓(xùn)練您的語(yǔ)音模版指令,請(qǐng)稍后.。。')fori=1:10fname=sprintf(’D:\\matlab\\work\\dtw1\\海兒的聲音\\%da。wav’,i-1);x=wavread(fname);[x1x2]=vad(x);m=mfcc(x);m=m(x1:x2—5,:);ref(i)。code=codebook(m);enddisp('語(yǔ)音指令訓(xùn)練成功,恭喜!?’)disp(’正在測(cè)試您的測(cè)試語(yǔ)音指令,請(qǐng)稍后...’)fori=1:10fname=sprintf(’D:\\matlab\\work\\dtw1\\海兒的聲音\\%db。wav',i—1);x=wavread(fname);[x1x2]=vad(x);mn=mfcc(x);mn=mn(x1:x2-5,:);%mn=mn(x1:x2,:)test(i).mfcc=mn;endsumsumdmax=0;sumsumdmin=0;disp('對(duì)訓(xùn)練過(guò)的語(yǔ)音進(jìn)行測(cè)試’)forw=1:10sumd=zeros(1,10);[a,b]=size(test(w).mfcc);fori=1:10forp=1:aforj=1:16d(j)=odistan(test(w)。mfcc(p,:),ref(i)。code(j,:));enddmin=min(d);sumd(i)=sumd(i)+dmin;%×üê§??endendsumdmin=min(sumd)/a;sumdmin1=min(sumd);sumdmax(w)=max(sumd)/a;sumsumdmin=sumdmin+sumsumdmax;sumsumdmax=sumdmax(w)+sumsumdmax;disp(’正在匹配您的語(yǔ)音指令,請(qǐng)稍后。..')fori=1:10if(sumd(i)==sumdmin1)switch(i)case1fprintf(’您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n’,’前’,'前');case2fprintf('您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n',’后’,’后');case3fprintf('您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n’,’左’,’左');case4fprintf(’您輸入的語(yǔ)音指令為a:%s;識(shí)別結(jié)果為%s\n','右',’右’);case5fprintf(’您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n',’東’,’東’);case6fprintf('您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n’,’南','南’);case7fprintf('您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n’,’西','西’);case8fprintf('您輸入的語(yǔ)音指令為:%s;識(shí)別結(jié)果為%s\n’,’北’,'北’);case9fprintf(’您輸入的語(yǔ)音指令為a:%s;識(shí)別結(jié)果為%s\n',’上','上’);case10fprintf(’您輸入的語(yǔ)音指令為a:%s;識(shí)別結(jié)果為%s\n',’下’,'下');otherwisefprintf(’error');endendendenddelamin=sumsumdmin/10;delamax=sumsumdmax/10;disp(’對(duì)沒有訓(xùn)練過(guò)的語(yǔ)音進(jìn)行測(cè)試’)disp('正在測(cè)試你的語(yǔ)音,請(qǐng)稍后..。')fori=1:10fname=sprintf(’D:\\matlab\\work\\dtw1\\o£?ùμ?éùò?\\%db.wav’,i—1);x=wavread(fname);[x1x2]=vad(x);mn=mfcc(x);mn=mn(x1:x2—5,:);%mn=mn(x1:x2,:)test(i)。mfcc=mn;endforw=1:10sumd=zeros(1,10);[a,b]=size(test(w)。mf
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年版礦產(chǎn)資源探礦權(quán)出讓合同范本(含礦產(chǎn)資源勘查風(fēng)險(xiǎn)分擔(dān))3篇
- 2025年度內(nèi)蒙古草原生態(tài)旅游承包經(jīng)營(yíng)合同3篇
- 2025年度音樂教育項(xiàng)目藝人授課合同3篇
- 二零二五年度文化旅游綜合體租賃合同書3篇
- 年度單抗導(dǎo)向藥物戰(zhàn)略市場(chǎng)規(guī)劃報(bào)告
- 二零二五年度東易日盛跑路事件客戶賠償與調(diào)解合同3篇
- 2024瑜伽館瑜伽教練勞動(dòng)合同范本及教練與學(xué)員溝通規(guī)范3篇
- 二零二五版“520”荔枝電商法治講堂講師聘用合同3篇
- 2024版建筑水電分包合同范本
- 二零二五年度房產(chǎn)評(píng)估咨詢合同樣本4篇
- 電線電纜加工質(zhì)量控制流程
- 山東省淄博市張店區(qū)祥瑞園小學(xué)?-2024-2025年第一學(xué)期一年級(jí)班主任經(jīng)驗(yàn)分享(著眼于愛 著手于細(xì))【課件】
- 提優(yōu)精練08-2023-2024學(xué)年九年級(jí)英語(yǔ)上學(xué)期完形填空與閱讀理解提優(yōu)精練(原卷版)
- DB4511T 0002-2023 瓶裝液化石油氣充裝、配送安全管理規(guī)范
- 企業(yè)內(nèi)部客供物料管理辦法
- 婦科臨床葡萄胎課件
- 三基三嚴(yán)練習(xí)題庫(kù)與答案
- 傳媒行業(yè)突發(fā)事件應(yīng)急預(yù)案
- 債務(wù)抵租金協(xié)議書范文范本
- 藥學(xué)技能競(jìng)賽標(biāo)準(zhǔn)答案與評(píng)分細(xì)則處方
- 2025屆高考英語(yǔ) 716個(gè)閱讀理解高頻詞清單
評(píng)論
0/150
提交評(píng)論