摘要:該文介紹了一種基于矢量量化(VQ)方法的一個說話人識別算法。基于矢量量化的說話人識別,因其運算過程簡單等特點,在說話人識別領域有著廣泛的應用。用不同語音參數進行實驗,實驗表明應用矢量量化的方法用在說話人識別中是一種有效方法。
關鍵詞:說話人識別;VQ;碼本;LPCC;MFCC
中圖分類號:TP18文獻標識碼:A文章編號:1009-3044(2008)32-1181-03
Speaker Recognition System Based on VQ
DING Yan-wei, DAI Yu-gang
(Northwest University for Nationalities, Lanzhou 730030, China)
Abstract: This paper introduces a kind of arithmetic of speaker recognition based on VQ algorithm. Because of its features which include simple operation procedure and so on, speaker recognition based on VQ is widely applied to the field of speaker recognition. The experiment of using different phonetic parameter indicates that the VQ algorithm is an effective method in speaker recognition.
Key words: speaker recognition; VQ; code book; LPCC; MFCC
說話人識別(Speaker Recognition),又稱聲紋識別(Voiceprint Recognition),是由計算機利用語音波形中所包含的反應特定說話人生理和行為特征的語音特征參數來自動識別說話人身份的技術。
1 說話人識別的基本原理
說話人識別的基本原理如圖所示,主要包括訓練和識別兩個階段。無論是訓練還是識別,都需要首先對輸入的原始語音信號進行預處理,慮除掉原始信號的不重要的信息以及背景噪聲等。然后進行特征提取,提取出反映信號特征的關鍵特征參數,以降低維數并便于后續處理。在訓練階段,每個用戶分別說出若干訓練語句,系統經過上述預處理和特征提取后對其進行分析,并據此建立每個用戶的模板或模型庫,或者對已在庫中的該用戶的模板或模型作適應性修 正。由于該階段為系統的每個用戶都注冊了自己的信息,所以又稱之為注冊階段。在識別階段,由于待識別的用戶說出識別語句,系統據此計算出其特征參數,并與在訓練過程中建立的參考模板或模型加以比較,并經過一定的相似性準則進行識別判決。
2.語音信號特征參數選取
2.1 線性預測倒譜系數(LPCC)
線性預測倒譜系數(LPCC)是線性預測系數(LPC)在倒譜域中的表示。該特征是基于語音信號為自回歸信號的假設,利用線性預測分析獲得倒譜系數。典型的藏語語音LPCC參數求解流程如圖2所示。
LPC系數可用來估計語音信號的倒譜,這也是語音信號短時倒譜分析中一種特殊的處理方法。在線性預測(LPC)分析中,聲道模型系統函數為:
時域構成LPC倒譜特征。
2.2 Mel頻標倒譜系數(MFCC)
美爾頻標倒譜系數(MFCC)考慮了人耳的聽覺特性,將頻譜轉化為基于MEL頻標的非線性頻譜,然后轉換到頻譜域上。由于充分考慮了人的聽覺特性,而且沒有任何前提假設,MFCC參數具有良好的識別性能和抗噪聲能力。MFCC是采用濾波器組的方法計算出來的,這組濾波器在頻率的美爾坐標上是等帶寬的。
藏語語音MFCC參數計算過程如圖3,具體計算步驟如下:
1) 語音信號在經過加窗處理后變為短時信號,用FFT將這些時域信號x(n)轉化為頻域信號X(m),并由此可以計算它的短時能量譜P(f)。
2) 將P(f)由在頻率軸上的頻譜轉化為在美爾坐標上的P(M),其中M表示美爾頻率,由下式可以完成該轉換,并且美爾頻率考慮了人耳的聽覺特性。
3) 在美爾頻域內將三角帶通濾波器加于美爾坐標得到濾波器組Hm(k),然后計算美爾坐標上的能量譜P(M)經過此濾波器組的輸出:
式中,k表示第k個濾波器,K表示濾波器個數。
4) 通過一個具有40個濾波器的濾波器組。前13個濾波器在1000Hz以下是線性劃分的,后27個濾波器在1000Hz以上是在美爾坐標上線性劃分的。
5) 如果θ(Mk)表示第k個濾波器的輸出能量,則美爾頻率倒譜Cmel(n)在美爾刻度譜上可以采用修改的離散余弦反變換(IDCT)求得:
式中,p為MFCC參數的階數。
3 矢量量化
矢量量化(Vector Quantization,VQ)是一種極其重要的信號壓縮方法,廣泛應用于圖像信號壓縮、語音信號壓縮等領域。在語音信號數字處理的許多重要研究課題中,特別是低速語音編譯碼器和語音識別的研究中,VQ都起著非常重要的作用。在說話人識別中,VQ也是一種重要的信號壓縮和識別方法。而VQ碼本設計直接關系到VQ的量化質量。
目前生成碼本最基本也是最常用的算法是LBG算法,LBG算法通過訓練矢量集和一定的迭代算法來逼近最優的再生碼本。下面給出以歐氏距離計算兩個矢量畸變的 LGB算法的具體實現步驟:
1) 設定碼本和迭代訓練參數:設全部輸入訓練矢量 的集合為S;設置碼本的尺寸為J;設置迭代算法的最大迭代次數為L;設置畸變改進閾值為δ。
2) 設定初始化值:設置J個碼字的初值Y1(0),Y2(0),…,Yj(0);設置畸變初值D(0)= ∞;設置迭代次數初值m=1
3) 假定根據最近鄰準則將S分成了J個子集S1(m),S2(m),…, Sj(m),即當X∈Si(m)時,下式應成立:d(X,Yl(m-1))≤d(X, Yl(m-1)),?坌i,i≠l。
7) 判斷δ(m)<δ?若是,轉入(9)執行;否則,轉入(8)執行。
8) 判斷m 9) 迭代終止;輸出Y1(m),Y2(m),…,Yj(m)作為訓練成的碼本的碼字,并且輸出總畸變D(m)。 4 應用VQ的說話人識別的步驟 訓練過程:1) 從訓練語音提取特征矢量,得到特征矢量集;2) 通過LBG算法生成碼本;3) 重復訓練修正優化碼本;4) 存儲碼本。 識別過程: 1) 從測試語音提取特征矢量序列; 2) 由每個模板依次對特征矢量序列進行矢量量化,按如下的公式計算各自的平均量化誤差: 式中,Yli,l=1,2,…,L,i=1,2,…,N是第i個碼本中第l個碼本矢量,而d(Xn,Yli)是待測矢量Xn和碼本矢量Yli之間的距離。 3) 選擇平均量化誤差最小的碼本對所對應的說話人作為系統的識別結果。 5 結論 對于LPCC參數而言,MFCC參數的識別率更高。但是由于求取MFCC參數的時候計算量比較大,所以使用MFCC參數的系統復雜度要大于使用LPCC參數的系統。 參考文獻: [1] 趙力.語音信號處理[M].北京:機械工業出版社.2003. [2] 易克初,田斌,付強.語音信號處理[M].北京:國防工業出版社,2000. [3] 趙力,鄒采榮,吳鎮揚.基于FVQ/HMM的無教師說話人自適應[J].電子學報,2002(07):32-34. [4] 胡征.矢量量化原理及應用[M].西安:電子科技大學出版社,1998. [5] Soong F, Rosenberg A, Randiner L, et al. A vector quantization approach to speaker recognition[C].Proc.of the International Conference on Acoustics,Speech,and Signal Processing(ICASSP),1985(1):387-390 . [6] 羅家輝,李霞,張基宏.一種改進LBG快速算法[J].深圳學報:理學版,2002.1. [7] 朱策,何振亞,厲力華,等.應用于矢量量化的競爭學習算法研究[J].電子學報,1997,25(2);113-115.