?

基于聽覺特性的聲紋識別系統的研究

2015-01-25 10:51白燕燕胡曉霞鄭三婷
電子設計工程 2015年4期
關鍵詞:識別率錄音語音

白燕燕 ,胡曉霞,鄭三婷

(西安工業大學 北方信息工程學院,陜西 西安 710032)

聲紋識別技術(說話人識別技術)是一種生物認證技術,也是一項根據說話人波形反映其生理和行為特征的語音參數來自動識別測試的說話人身份的技術[1]。

在未來的生活中,說話人識別將會以它自身獨特的便捷性,實惠性和精準性受人矚目,并且逐漸普及在生物認證技術領域[1]。

說話人識別首要錄制聲音樣本和提取語音特征參數,再把它們保存在數據庫中,最后把準備驗證的聲音和數據庫中的語音特征相匹配,利用匹配結果相似度來獲得說話人的身份。

1 常用語音庫

目前,世界各國都很重視建設語音數據庫。最具代表的是美國建立的 LDC (Linguistic Data Consortium) 和 OGI(Oregon Graduate Institute),以及歐洲國家建立的 ELRA(European Language Resouces Association)組織。這些組織都是長期研究語音信號處理技術的。他們開發出規模巨大的語音研究資源[2]。

第一個高質、大容量、高可信度的聲音數據庫是YOHO數據庫。表1是YOHO說話人數據庫。它是經過數字化的數據庫,其輸入特征參照了第三代安全終端單位(STU-III)的安全語音電話。設計了與文本有關的說話人確認系統,此系統是會提示用戶說什么話,在YOHO中使用的是:“合成塊”短語的語法[2]。

這個數據庫的環境是“辦公環境”。另一方面,它還滿足在噪聲的環境和遠距離麥克風的條件下對語音做測試。而這些均滿足了消費者的消費需要。

國內,浙江大學CCNT實驗室提出和建立了面向移動通信環境的說話人識別語音庫SRMC(speaker recognition in mobile communication)[2]。

生活中,如果要采集語音的話,就會常常使用計算機,麥克風,還有錄音功能電話機,此外還要有相應的調制解調器。這些錄音設備都很普通且常見。

我們該怎樣去評價和使用一個標準的語音數據庫?我們需要對評價下個定義。如評價的細節、訓練和測試數據集的分割。在特定條件(如訓練和測試采用不同的麥克風)下進行系統性能評價,需要有足夠的錄音數據。

表1 YOHO語音數據庫Tab.1 YOHO speech database

2 聲紋識別系統

2.1 實驗設計

由于實驗條件的限制,本課題的語音庫是自己創建的,實驗用來訓練和測試的說話人錄音,大部分是班級同學和同一實驗室的同學。在這個實驗中我們使用的是普通話,我們中每一個人說話速度和音量都處于正常情況。實驗語音是在兩天時間內采集得到的。采集環境是實驗室,一共有十個同學進行錄音。男女比例是一比一。在本實驗中,我們盡量保持實驗室環境安靜,假設我們采集的聲音都是純音,沒有噪音。實驗中用到的錄音軟件是cool edit 2000,用的錄音設備是普通的立體聲麥克風和COMPAQ筆記本電腦,我們把采樣頻率定為8000Hz,每一幀的幀長定為256個點,幀之間的距離定為80點,用16比特量化方式進行量化。采樣之后,得到了標準化的數字語音,這個實驗中,用到的語料是阿拉伯數字。包含之間的數字,每個人的語音是1個阿拉伯數字,每個人每一天要有9次朗讀機會。我們把獲得的所有的數據樣本存儲在計算機的硬盤中,拿出第一天的語音來進行訓練使用,把第二天的語音用來做測試。每一個數字錄音看做一個單位來進行測試。本文的實驗中利用阿拉伯數字1~9的語音單元構成的隱馬爾可夫模型,建立了與文本有關的身份確認系統。如圖1所示。

圖1 基于HMM的與文本有關的說話人身份確認系統Fig.1 Speaker identification system based on HMM with text-related

首先錄制語音,采集語音,建立語音模板庫,在實驗室環境下,采集參加訓練和識別的說話人語音。分別建立兩個數據庫。第一天錄音存儲為Xi,第二天錄音存儲為Ri。分別存儲在計算機的硬盤中的錄音DIY資料文件夾下。語音庫是用來存儲說話人的語音。當需要識別時可以用來識別說話人身份。隨后將語音送至預處理功能模塊。

其次對數字化語音進行預處理,此模塊的任務語音信號的數字化處理,把處理過的語音拿來端點檢測。預處理過程包含去除語音信號的噪聲、對信號進行預加重、加窗、分幀等。經過加窗這一步驟之后,得到了一幀幀的語音序列,然后進行預加重處理。把信號做預加重處理是為了把信號中的高頻部分提取出來,這樣做整個頻譜就會變得平坦起來,然后在全部的頻帶中一直保持這種平坦,這個時候我們可以用相同的信噪比求得頻譜。這樣都完成之后就可以頻譜分析了。預加重濾波器的形式如:

式(1)中,μ的值在本實驗中選取0.937 5。引進了預加重參數μ,可以看出,有利于提高說話人的識別率。表2中可以看到不同預加重參數下的識別率。

表2 不同預加重參數下的識別率Tab.2 Recognition rate based on different parameters of pre-emphasis

由表2可知,μ值改變,識別率也在改變。μ=0.95時,識別率最高。本實驗選取的預加重參數值在0.93~0.95之間。

接下來是對語音信號分幀加窗。因為語音信號不是平穩的信號,假定語音信號在10~30 ms之間是平穩的。為了得到短時的語音信號,對語音信號進行加窗計算。本課題主要選用的是漢明窗。漢明窗顯示了一個好的窗口的優點。其在時域中波形細節不容易丟失,且能防止泄露。漢明窗函數式:

經過前面的一些處理之后,采集的語音信號就被分割成一幀幀的短時的加窗信號,把這些信號假設成隨機平穩的信號,然后提取語音特征參數。

提取出來的語音參數,對其端點檢測。此時,先設置門限,依據短時能量和過零率的公式,求出來短時能量值和過零率值。然后用手工方法在MATLAB上去除語音信號中的靜音段和噪音語段來進行端點檢測。

對系統的輸入信號進行判斷,準確地找到語音信號的起始點和終止點的位置。除去語音中的雜亂語音段,只有這樣才能采集到真正的語音數據,減少數據冗余和運算量,并減少處理時間。如表3所示。在這里本課題用的是雙門限法[3]。將短時平均能量和短時平均過零率結合起來,進行端點檢測,可以很好的檢測語音是否開始和結束。

表3 起始點不同處理下的識別率Tab.3 Recognition rate under different treatments starting point

在本文的實驗系統中,語音特征參數依次使用了12階LPCC以及12階MFCC。最后選定12階MFCC參數。本課題建立的是與文本有關的聲紋身份確認系統,用于測試模型是連續CHMM模型。

實驗中我們用的是30 ms的漢明窗,依次計算它的特征參數,分別使用了12階LPCC和12階MFCC(24個Mel濾波器,語音信號的幀長度為256,信號的采樣頻率為8 000 Hz)和由此推導出的一階MFCC差分參數。LPCC特征和MFCC特征識別率比較如表4所示。

表4 LPCC和MFCC特征識別率比較Tab.4 The comparison of the feature recognition rates between LPCC and MFCC

表4顯示了在測試人數為10人時,在相同的幀長下,MFCC特征的識別性能高于LPCC特征。這個結論又一次證明了倒譜特征的可區分性測度優于LPCC特征。

實驗中,我們把第一個說話人的語音“9”,作為實驗研究樣本。圖2是數字“9”的語音波形圖,圖3是數字“9”的語譜圖。

圖2 語音“9”的波形圖Fig.2 Waveform speech"9"

MFCC參數是按幀計算的,在這里語音幀長度是256,信號采樣頻率是8 kHz,采用24個濾波器,MFCC特征階數是12。MFCC的優點是在噪聲的環境下,可以表現出對環境更強的魯棒性。接下來一步要做的是對語音特征矢量序列進行矢量量化,矢量量化的數據壓縮效果相當好,因此進行語音處理經常要用到。在本文的實驗中,采用LBG法聚類生成碼書。矢量量化之后這些語音特征參數就轉變成語音模型。緊接著可以開始進行下一步的操作[4]。

圖3 數字“9”的語譜圖Fig.3 The number"9"spectrogram

在訓練階段,對數字1~9建立HMM模型,就要對10個人進行每個數字10遍訓練。第一天訓練,第二天檢測。每天一遍,一共兩遍,首先把語音信號做端點檢測,然后根據特征量計算出MFCC系數序列后,這里要用Baum-Welch算法建立各個說話人的HMM模型庫[5]。測試階段,先保持和訓練階段一樣,提取說話人測試語音中的特征矢量,然后根據維特比算法,并以各個說話人的HMM模板為參照,計算出來該輸入序列的生成概率,根據最大的輸出概率進行判決結果。對于本課題研究的身份確認系統,把概率值與判決門限相比較,其值大于或等于判決門限的聲音作為受測者本人的聲音被接受,小于門限的被拒絕[6]。

2.2 實驗結果分析

本文的實驗是與文本有關的說話人身份確認系統。在實驗中,分別按照不同人數進行訓練,但是測試語音數保持不變[7]。任意抽3個人朗讀數字,在隨后的實驗中我們依次確定實驗人數為5,7和10時,這時可以看出識別率會有一些大的差異。其結果如表5所示。

表5 訓練人數不同時的識別比較Tab.5 The comparison of identification in different training number

實驗中的語音特征是MFCC,所用模型是連續CHMM,每一數字模型有4個狀態。在這個身份確認系統中,在二值判定的前提下,確認受測者是否是之前所認定的某人。從表5可以看到識別的時間比較短,當有10個人訓練時,識別率最大。為了訓練出可靠的參數模型,必須加大訓練集的數據。本實驗由于條件限制,實驗語音模板庫比較小,訓練數據不太充足,影響系統的一定性能。當訓練數據足夠大時,得修改補充一下程序的流程。本實驗中系統的識別率達到了90%以上。

3 結論

本文的實驗達到了預期的實驗效果,基本完成了身份確認的目標。但是針對語音的特征提取和模式匹配,在實驗中難免會出現一些誤差,出現誤認識和拒認識的偏差。對于說話人確認系統,雖然說從理論上來說,識別率和登錄的說話者量無關,但是實際上對于二值判定的說話人確認系統也會隨著登錄人數的增減而有所改變,怎么樣才能確保有足夠多的登錄者,登錄到說話人確認系統中,而它的識別率問題仍然是一個很大的課題。

[1]趙力.語音信號處理 [M].北京:機械工業出版社,2003.

[2]吳朝輝,楊瑩春.說話人識別模型與方法[M].北京:清華大學出版社,2009.

[3]何強,何英.MATLAB擴展編程[M].北京:清華大學出版社,2002.

[4]張雪英.數字語音處理及MATLAB仿真 [M].北京:電子工業出版社,2010.

[5]韓紀慶,張磊,鄭鐵然.語音信號處理 [M].北京:清華大學出版社,2004.

[6]朱少雄.聲紋識別系統與模式匹配算法研究 [D].大連:大連理工大學,2005.

[7]王建勛,劉會金.基于AR譜估計和頻譜分析的間諧波檢測方法[J].陜西電力,2014(7):23-30.WANG Jian-xun,LIU Hui-jin.An interharmonic detection algorithm based on AR spectral estimation and spectrum analysis[J].Shaanxi Electric Power,2014(7):23-30.

猜你喜歡
識別率錄音語音
Funny Phonics
funny phonics
Listen and Choose
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
Listen and Color
魔力語音
基于MATLAB的語音信號處理
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合