2025年智能語音識別技術(shù)實踐解析與實驗記錄_第1頁
2025年智能語音識別技術(shù)實踐解析與實驗記錄_第2頁
2025年智能語音識別技術(shù)實踐解析與實驗記錄_第3頁
2025年智能語音識別技術(shù)實踐解析與實驗記錄_第4頁
2025年智能語音識別技術(shù)實踐解析與實驗記錄_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

12.1語者識別的概念 22.2特性參數(shù)的提取 32.3用矢量量化聚類法生成碼本 3 43.1函數(shù)關(guān)系 43.2代碼闡明 5 5 5 6 6 7 8 8 9五、心得體會 實現(xiàn)語音識別功能。基于VQ的說話人識別系統(tǒng),矢量量化起著雙重作用。在訓(xùn)練階段,把每一種說話者所提取的特性參數(shù)進行分類,產(chǎn)生不一樣碼字所構(gòu)成的碼本。在識別(匹配)階段,我們用VQ措施計算平均失真測度(本系統(tǒng)在計算距離d時,采用歐氏距離測度),從而判斷說話人是誰。語音識別系統(tǒng)構(gòu)造框圖如圖1所示。輸出識別結(jié)果模型碼本匹配訓(xùn)練2.1語者識別的概念語者識別就是根聽說話人的語音信號來鑒別說話人的身份。語音是人的自然屬性之一,由于說話人發(fā)音器官的生理差異以及后天形成的行為差異,每個人的語音都帶有強烈的個人色彩,這就使得通過度析語音信號來識別說話人成為也許。用語音來鑒別說話人的身份有著許多獨特的長處,如語音是人的固有的特性,不會丟失或遺忘;語音信號的采集以便,系統(tǒng)設(shè)備成本低;運用電話網(wǎng)絡(luò)還可實現(xiàn)遠(yuǎn)程客戶服務(wù)等。因此,近幾年來,說話人識別越來越多的受到人們的重視。與其他生物識別技術(shù)如指紋識別、手形識別等相比較,說話人識別不僅使用以便,并且屬于非接觸性,輕易被顧客接受,并且在已經(jīng)有的多種生物特性識別技術(shù)中,是唯一可以用作遠(yuǎn)程驗證的識別技術(shù)。因此,說話人識別的應(yīng)用前景非常廣泛:今天,說話人識別技術(shù)已經(jīng)關(guān)系到多學(xué)科的研究領(lǐng)域,不一樣領(lǐng)域中的進步都對說話人識別的發(fā)展做出了奉獻。說話人識別技術(shù)是集聲學(xué)、語言學(xué)、計算機、信息處理和人工智能等諸多領(lǐng)域的一項綜合技術(shù),應(yīng)用需求將十分廣闊。在吃力語音信號的時候怎樣提取信號中關(guān)鍵的成分尤為重要。語音信號的特性參數(shù)的好壞直接導(dǎo)致了辨別的精確性。2.2特性參數(shù)的提取對于特性參數(shù)的選用,我們使用mfcc的措施來提取。MFCC參數(shù)是基于人的聽覺特性運用人聽覺的屏蔽效應(yīng),在Mel標(biāo)度頻率域提取出來的倒譜特性參數(shù)。1.對輸入的語音信號進行分幀、加窗,然后作離散傅立葉變換,獲得頻譜分布信設(shè)語音信號的DFT為:其中式中x(n)為輸入的語音信號,N表達(dá)傅立葉變換的點數(shù)。2.再求頻譜幅度的平方,得到能量譜。我們定義一種有M個濾波器的濾波器組(濾波器的個數(shù)和臨界帶的個數(shù)相近),采用的濾波器為三角濾波器,中心頻率為f(m),m=1,2,3,…,M本系統(tǒng)取M=100。4.計算每個濾波器組輸出的對數(shù)能量。其中H(k)為三角濾波器的頻率響應(yīng)。5.通過離散弦變換(DCT)得到MFCC系數(shù)。MFCC系數(shù)個數(shù)一般取20—30,常常不用0階倒譜系數(shù),由于它反應(yīng)的是頻譜能量,故在一般識別系統(tǒng)中,將稱為能量系數(shù),并不作為倒譜系數(shù),本系統(tǒng)選用20階倒譜系數(shù)。2.3用矢量量化聚類法生成碼本我們將每個待識的說話人看作是一種信源,用一種碼本來表征。碼本是從該說話人的訓(xùn)練序列中提取的MFCC特性矢量聚類而生成。只要訓(xùn)練的序列足夠長,可認(rèn)為這個碼本有效地包括了說話人的個人特性,而與發(fā)言的內(nèi)容無關(guān)。為碼本。詳細(xì)實現(xiàn)過程如下:1.取提取出來的所有幀的特性矢量的型心(均值)作為第一種碼字矢量B1。2.將目前的碼本Bm根據(jù)如下規(guī)則分裂,形成2m個碼字。其中m從1變化到目前的碼本的碼字?jǐn)?shù),e是分裂時的參數(shù),本文e=0.01。3.根據(jù)得到的碼本把所有的訓(xùn)練序列(特性矢量)進行分類,然后按照下面兩個公式計算訓(xùn)練矢量量化失真量的總和|D"以及相對失真(n為迭代次數(shù),初始n=0,D-]=。,,B為目前的碼書),若相對失真不不小于某一閾值ε,迭代結(jié)束,目前的碼書就是設(shè)計好的2m個碼字的碼書,轉(zhuǎn)5。否則,轉(zhuǎn)下一步。量化失真量和:4.重新計算各個區(qū)域的新型心,得到新的碼書,轉(zhuǎn)3。5.反復(fù)2,3和4步,直到形成有M個碼字的碼書(M是所規(guī)定的碼字?jǐn)?shù)),其中2.4VQ的說話人識別設(shè)是未知的說話人的特性矢量{X,.…,Xr},共有T幀是訓(xùn)練階段形成的碼書,表達(dá)碼書第m個碼字,每一種碼書有M個碼字。再計算測試者的平均量化失真D,并設(shè)置一種閾值,若D不不小于此閾值,則是原訓(xùn)練者,反之則認(rèn)為不是原訓(xùn)練者。三、算法程序分析在詳細(xì)的實現(xiàn)過程當(dāng)中,采用了matlab軟件來協(xié)助完畢這個項目。在matlab中重要由采集,分析,特性提取,比對幾種重要部分。如下為在實際的操作中,詳細(xì)用到得函數(shù)關(guān)系和作用一一列舉在下面。3.1函數(shù)關(guān)系重要有兩類函數(shù)文獻Train.m和Test.m在Train.m調(diào)用Vqlbg.m獲取訓(xùn)練錄音的vq碼本,而Vqlbg.m調(diào)用mfcc.m獲取單個錄音的mel倒譜系數(shù),接著mfcc.m調(diào)用Melfb.m---將能量譜通過一組Mel尺度的三角形濾波器組。在Test.m函數(shù)文獻中調(diào)用Disteu.m計算訓(xùn)練錄音(提供vq碼本)與測試錄音(提供mfcc)mel倒譜系數(shù)的距離,即判斷兩聲音與否為同一錄音者提供。Disteu.m調(diào)用mfcc.m獲取單個錄音的mel倒譜系數(shù)。mfcc.m調(diào)用Melfb.m---將能量譜通過一組Mel尺度的三角形濾波器組。3.2詳細(xì)代碼闡明3.2.1函數(shù)mffc:nbFrame=floor((1-n)/m)+1;%沿-一方向取整forj=1:nbFrameM(i,j)=s(((j-1)*m)+i);%對矩陣M賦值h=hamming(n);%加hamming窗,以增長音框左端和右端的持續(xù)性frame(:,i)=fft(M2(:,i));%對信號進行迅速傅里葉變換FFTm=melfb(20,n,fs);%將上述線性頻譜通過Mel頻率濾波器組得到Mel頻譜,z=m*abs(frame(1:n2,:)).^2;r=dct(log(z));%將上述對數(shù)頻譜,通過離散余弦變換(DCT)變換到倒譜域,即3.2.2函數(shù)disteu[M2,P]=size(y);%音頻y賦值給【M2error('不匹配!')%兩個音頻時間長度不相等d(n,:)=sum((x(:,n+copiesd(:,p)=sum((x-y(:,p+copie3.2.3函數(shù)vqlbg---該函數(shù)運用矢量量化提取了音頻的vq碼本forj=1:2^ir(:,j)=mean(d(:,find(ind==j)),2x=disteu(d(:,find(ind==j)),r3.2.4函數(shù)testfunctionfinalmsg=test(testdir,fork=1:nfile=sprintf('%ss%d.wavv=mfcc(s,fs);%得到測試人語音的mel倒譜系數(shù)dist=sifdist>distmin3.2.5函數(shù)testDB這個函數(shù)實際上是對數(shù)據(jù)庫一種查詢,根據(jù)測試者的聲音,找對應(yīng)的文獻,并且給出是誰的提醒functiontestmsg=testDB(testdir,n,cod%這nameList={'1','2','3','4','5','6','7','8',個是我們要識別的9個數(shù)%這fork=1:n%數(shù)據(jù)庫中每一種說話人的特性file=sprintf('%ss%d.wav',testdir,k);%找出文獻的途徑v=mfcc(s,fs);%對找到的文獻取mfcc變換dist=sum(min(d,[],2))/sizifdist<distmindistmin=dist;%%這里和test函數(shù)里面同樣但多了一種詳細(xì)語者的識別3.2.6函數(shù)train---該函數(shù)就是對音頻進行訓(xùn)練,也就是提取特性參數(shù)k=16;%numberofcentroidsfori=1:n%對數(shù)據(jù)庫中的代碼形成碼本file=sprintf('%ss%d.wav',v=mfcc(s,fs);%計算MFCC's提取特性特性,返回值是Mel倒譜系數(shù),是一種log的dct得到的code{i}=vqlbg(v,k);%訓(xùn)練VQ碼本通過矢量量化,得到原說話人的3.2.7函數(shù)melfb---確定矩陣的濾波器functionm=melfb(p,n,fs)lr=log(1+0.5/f0)/(%converttoffbl=n*(f0*(exp([01pp+1]*lr)-1));直接轉(zhuǎn)換為FFT的數(shù)字模型b4=min(fn2,ceil(bl(4)))pf=log(1+(b1:b4)/n/f0)/lr;pm=pf-fp;r=[fp(b2:b4)1+fp(1:bv=2*[1-pm(b2:b4)pm(1:bm=sparse(r,c,v,p,1+f四、演示分析我們的功能分為兩部分:對已經(jīng)保留的9個數(shù)字的語音進行辨別和實時的判斷說話人說的與否為一種數(shù).在前者的試驗過程中,先把9個數(shù)字的聲音保留成wav的格式,放在一種文獻夾中,作為一種檢測的數(shù)據(jù)庫.然后對檢測者實行識別,系統(tǒng)給出提醒是哪個數(shù)字.在第二個功能中,實時的錄取一段說話人的聲音作為模板,提取mfcc特性參數(shù),隨即緊接著進行遇著識別,也就是讓其他人再說相似的話,看與否是原說話者.試驗過程及詳細(xì)功能如下:先打開Matlab使CurrentDirectory為錄音及程序所所在的文獻夾再打開文獻“enter.m”,點run運行,打開enter界面,點擊“進入”按鈕進入系統(tǒng)。(注:文獻包未封裝完畢,目前只能通過此方式打開運行。)(如下圖figurel)退出在對數(shù)據(jù)庫中已經(jīng)有的語者進行識別模塊:對數(shù)據(jù)庫中已有的語者進行識別對數(shù)據(jù)庫中已有的語者進行識別語音庫錄制模板選擇載入語音庫語音個數(shù)語者判定實時語者識別實時語者識別實時錄制模板品實時語者識別在”實時模板”文獻夾中,接著點擊“實時錄制模板”,把新的模板提取特性值。隨即點擊實時語者識別模板上的“錄音-train”按鈕,是把語者的聲音以wav格式寄存在”退出只要點擊菜單,退出程序。程序運行截圖:(fig.2)運行后系統(tǒng)界面20為原錄音者!與模板語音信號的差值為:3.556891!x220試驗表明,該系統(tǒng)能很好地進行語音的識別,同步,基于矢量量化技術(shù)(VQ)的語音識別系統(tǒng)具有分類精確,存儲數(shù)據(jù)少,實時響應(yīng)速度快等綜合性能好的特點.矢量量化技術(shù)在語音識別的應(yīng)用方面,尤其是在孤立詞語音識別系統(tǒng)中得到很好的應(yīng)用,尤其是有限狀態(tài)矢量量化技術(shù),對于語音識別更為有效。對未來的學(xué)習(xí)奠定了基礎(chǔ)。functionpushbutton1_Callback(hObject,eventdata,handles)hObjecthandletopushbutton1Channel_Str=get(handles.popupmenu3,'String');Channel_Number=str2double(Channel_Str{get(handles.popupmenu3,號---Executesonbuttonpressinpushbfunctionpushbutton2_Callback(hobject,eventdata,handles)functionOpen_Callback(hhandlesstructurewithhandlesfunctionExit_Callback(hObjhandlesfunctionAbout_Callback(hObject,structurewithhandlesanduserdata(seeGUH=['語者識別!]helpdlg(H,'helptext'functionEdit_Callback(hObjectfunctionHelp_Callback(hObject---Executesonbuttonpressinpfunctionpushbutton7_Callback(hObject,eventhObjecthandletopushbutton7(msg='請速度錄音;'AI=analoginput('winset(AI,'SamplesPerTrigger'blocksize=get(AI,'SamplesPefname=sprintf('E:\\Matlab語音識別系統(tǒng)\\實時模版\\s1.wav')8dataDN1=wden(datal,'heursure','s','one',5,號---Executesonbuttonpressinpfunctionpushbutton8_Callback(hObject,eventdata,handles)xlabel('訓(xùn)練采樣序列'),ylabel('信號幅');---Executesonbuttonpressinpfunctionpushbutton9_Callback(hObject,eventdata,handles)msg='請速度錄音;'AI=analoginput('winsound');set(AI,'SamplesPerTrigger'blocksize=get(AI,'SamplesPerTrigger');%dataDN1=wden(data1,'heursure','s','one',5,'wavwrite(data2,fnammsgbox(fname)---Executesonbuttonpressinpushbutton10.functionpushbutton10_Callback(hObject,eventdata,handles)axes(handles.axes2)8settop---Executesonbuttonpressinpushbutton11.functionpushbutton11_Callback(hObject,eventdata,handles)hobjecthandletopushbutton11(seeGCBO)functionpushbutton12_Callback(hObject,eventdata,handles)號---Executesonselectionchangeinpopupmefunctionpopupmenu3_Callback(hObject,eventdata,handles)hObjecthandletopopupmenu3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論