<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP嵌入式說話人識別系統(tǒng)的設計與實現(xiàn)

          基于DSP嵌入式說話人識別系統(tǒng)的設計與實現(xiàn)

          作者: 時間:2012-03-01 來源:網(wǎng)絡 收藏

          0 引 言

          本文引用地址:http://www.ex-cimer.com/article/257666.htm

          說話人屬于生物認證技術的一種,是一項根據(jù)語音中反映說話人生理和行為特征的語音參數(shù)來自動識別說話人身份的技術。近年來,說話人以其獨特的方便性、經(jīng)濟性和準確性等優(yōu)勢受到矚目,在信息安全等領域的應用逐漸增大,并成為人們?nèi)粘I詈凸ぷ髦兄匾移占暗陌踩炞C方式。目前,說話人在理論上和實驗室條件下已經(jīng)達到了比較高的識別精度,并開始走向?qū)嶋H應用階段。ATT、歐洲電信聯(lián)盟、ITT、Keyware、T-NETIX,Motorola和Vi-sa等公司相繼開展了相關實用化研究,國內(nèi)這方面研究主要在中科聲學所,中科院自動化所,清華大學等研究所和大學中進行。

          基于嵌入式的說話人身份識別系統(tǒng)具有高精度,適時性好,低功耗,低費用,體積小等優(yōu)勢,逐漸成為說話人身份識別面向?qū)嶋H應用的新熱點。而隨著新技術的發(fā)展,芯片無論在處理速度、精度、功耗或者體積等方面都取得了突破性的進展。也越來越多的應用于說話人身份識別。但目前這方面研究主要局限于小數(shù)據(jù)量、與PC機配套使用上,沒有太大的實用價值。在此介紹一種基于TMS320C6713 DSP芯片設計的嵌入式,10個人范圍的說話人身份識別系統(tǒng)。該系統(tǒng)可以自舉運行,并可靈活的選擇訓練、識別或者更換訓練者、識別者,識別率達98%以上。

          1 系統(tǒng)的架構及硬件構成

          系統(tǒng)總體實現(xiàn)流程如圖1所示。系統(tǒng)主要分為訓練和識別兩部分,系統(tǒng)初始化后由操作者控制訓練或識別。訓練目的是提取說話人模型參數(shù)并將其存儲在FLASH ROM中。識別目的是讀取待識別者語音信息并將獲得的模型參數(shù)與訓練的模型參數(shù)比較,從而獲得識別結(jié)果。

          1.1 系統(tǒng)的主要硬件構成

          系統(tǒng)硬件構成如圖2所示,主要包含語音采集模塊、數(shù)據(jù)處理模塊(DSP)、程序數(shù)據(jù)存儲及自舉FLASH模塊、數(shù)據(jù)存儲器RAM模塊、系統(tǒng)時序邏輯控制CPLD模塊、JTAG接口模塊。

          語音采集模塊主要由TLV320AIC23音頻編解碼器來完成,該芯片是TI公司的一款高性能的立體聲音頻Codec芯片,內(nèi)置放大器,輸入/輸出增益可編程設置。模數(shù),數(shù)/模轉(zhuǎn)換集成在一塊芯片中。采樣率8~96 kHz可編程實現(xiàn)。另外還具有低功耗,連接電路簡單,性價比高的特點。

          語音處理DSP采用TI公司的TMS320C6713芯片,該芯片實現(xiàn)浮點運算,最高時鐘頻率225 MHz,使用該芯片外部存儲器接口可實現(xiàn)對外部存儲器(SDRAM)數(shù)據(jù)傳輸和程序存儲器(FLASH ROM)進行程序讀寫;依靠JTAG接口電路通過仿真器進行仿真調(diào)試,實現(xiàn)與主機數(shù)據(jù)交換;通過片內(nèi)外設McBSP完成串行數(shù)據(jù)的接收和發(fā)送,實現(xiàn)對音頻處理模塊的控制等工作。

          FLASH ROM最大可提供512 KB空間,通常為前256 KB可用。SDRAM最大容量為16 MB,為該系統(tǒng)提供較大的數(shù)據(jù)存儲空間。CPLD為存儲器的擴展實現(xiàn)邏輯編碼。電源為TPS54310芯片,可為系統(tǒng)提供3.3 V和1.26 V兩種電壓。

          1.2 選擇說話人

          該系統(tǒng)要訓練10個人的語音,每個人的語音存放在FLASH ROM的不同位置。在訓練的開始階段,系統(tǒng)需確定當前訓練者的身份,以便對訓練完成后說話者模型參數(shù)存儲位置有準確的判斷。對當前訓練者身份的選擇由系統(tǒng)中的4個Switch實現(xiàn)。若把每個Switch的開關兩種狀態(tài)看成是二進制數(shù)的0,1,則最終可形成16種組合,代表16個人。該系統(tǒng)選取前10個組合。

          1.3 AIC23語音采集

          考慮到系統(tǒng)的實用性,語音的輸入由mic in接口輸入。語音采集若設為雙聲道,則采集的左右聲道數(shù)據(jù)差別不大,對識別沒有太大的幫助,而且采集到的語音會占用太大存儲器空間,故采用單聲道采樣;對于采樣精度要求,TLV320AIC23可實現(xiàn)8~96 kHz,16 b,20 b,24 b,32 b,的不同采樣,隨著采樣頻率的提高,采樣間隔將相應的縮短,要求更大的內(nèi)存空間和更長的處理時間,實驗表明,采樣率由16 kHz下降到8 kHz,所造成的識別率的微乎其微,但是可以節(jié)省50%的動態(tài)存儲空間,并可減少大量的運算。對于采樣位數(shù),16 b精度已能滿足該系統(tǒng)要求,故采樣精度設為8 kHz,16 b采樣。

          1.4 數(shù)據(jù)的存儲

          由TLV320AIC23獲得的語音信號的數(shù)據(jù),只有賦值給相應的數(shù)組,才能在接下來的算法中有所應用。為此在SDRAM中定義一片數(shù)組存儲區(qū)域。對于數(shù)組大小及類型的選擇基于以下兩點:

          (1)數(shù)組大小選擇。該系統(tǒng)算法中包含訓練和識別兩個內(nèi)容。語音信號的訓練需要大量的數(shù)據(jù)才能準確的提取語音的特征參量。該系統(tǒng)采用8 kHz采樣率的10 s的語音信號,所需的數(shù)組空間大小為80 000個數(shù)據(jù)單位;語音信號的識別要求快速性,該系統(tǒng)采用時間較短的8 kHz 3 s語音信號,所需數(shù)組空間大小為30 000個數(shù)據(jù)單位,為了減少數(shù)據(jù)空間,系統(tǒng)設定為與訓練數(shù)組共用前30 000個數(shù)據(jù)單位的空間。

          (2)數(shù)組類型為浮點型,由于設定的采樣格式是16 b采樣,而采樣后數(shù)據(jù)類型是Uint32,語音數(shù)據(jù)位于低16位,所以賦值過程中取低16位數(shù)據(jù)賦值給數(shù)組。

          1.5 模型參數(shù)存入與參數(shù)調(diào)出

          將模型參數(shù)存入FLASH ROM的目的是保存訓練所得的參數(shù),以供識別時調(diào)用。訓練可能用于多次識別,或者訓練和識別可能處于不同的時間地點,所以,保存參數(shù)的存儲器選定為具有掉電時數(shù)據(jù)不丟失特點的FLASH ROM。每個說話者語音參數(shù)代表一個說話者身份,所以每個說話者模型參數(shù)應存儲在FLASHROM中一個確定的位置。為此,該系統(tǒng)在FLASHROM中分配了10塊的區(qū)域,每個說話者模型參數(shù)占有一塊特定的區(qū)域。

          在FLASH ROM中存人數(shù)據(jù)格式為32 b無符號整數(shù)。而訓練得到的是浮點型的數(shù)據(jù)。這就要求在數(shù)據(jù)存入之前將浮點數(shù)轉(zhuǎn)換為32 b無符號類型的整數(shù),假設要轉(zhuǎn)換的數(shù)據(jù)為float x[M][N]則轉(zhuǎn)換方法如下:

          (1)x[M][N]歸一化;

          (2)對x[M][N]乘以一常數(shù)K得到有符號整型的數(shù)組y[M][N],即:
          y[M][N]=x[M][N]×K (1)

          (3)屏蔽第32位符號位,得到32 b無符號類型的整數(shù)數(shù)組。方法如下:
          z[i][j]=y[i][j]0x7FFFFFFF (2)

          (4)將z[i][j]存入FLASH ROM。

          通過統(tǒng)計實驗數(shù)據(jù)發(fā)現(xiàn)歸一化后數(shù)據(jù)的范圍為10-5~1,故K選擇為108,既可以實現(xiàn)較大精度的轉(zhuǎn)化,又不會影響第31位的數(shù)值。轉(zhuǎn)換得到的有符號整型數(shù)組y[M][N]范圍為-108~108,在存儲器中正數(shù)為原碼表示,負數(shù)為補碼表示,通過計算發(fā)現(xiàn),該范圍的正數(shù)第31位為0,負數(shù)第31位為1,所以,上述第(3)步,將有符號數(shù)轉(zhuǎn)換為無符號數(shù)后,數(shù)值的正負改為使用第31位標識。在識別階段,要將說話者的GMM參數(shù)依次從FLASH ROM中讀出,逐個與待識別者語音的MFCC參數(shù)比較,求最大似然值。參數(shù)調(diào)出過程與以上存入過程相反。

          1.6 說話人身份識別的結(jié)果顯示

          說話人的身份顯示通過LED的組合顯示確定。在DSK上有4只LED燈,將每個LED燈看成是一位二進制數(shù)。則4個LED燈最大可表示16個人的身份。該系統(tǒng)取前10個組合來表示所識別的說話人的身份。

          1.7 自舉的實現(xiàn)

          以上程序都是通過PC機與DSP組合實現(xiàn),要想使系統(tǒng)在DSP上單獨完成,還必須實現(xiàn)自舉。該系統(tǒng)采用ROM方式自舉。在自舉實現(xiàn)過程中,程序的燒寫可以通過CCS自帶的FLASHBorn工具實現(xiàn)。在燒寫過程中應正確的分配FLAH ROM的空間。FLASHROM空間總體分為程序存儲區(qū)和數(shù)據(jù)存儲區(qū),經(jīng)計算,程序代碼段大小為0x162C0,故在FLASH ROM中劃分127 KB的空間供程序代碼使用,空間中未使用的部分供程序擴展使用。數(shù)據(jù)存儲區(qū)劃分的大小為64 KB的空間,每個說話者模型參數(shù)占用空間為4.2 KB左右,最多可存放15個說話人GMM模型參數(shù)。該系統(tǒng)訓練者數(shù)目為10個,占用空間為42 KB左右。剩余的空間可用來擴展訓練人數(shù),也可用于后期系統(tǒng)的改進。如可以利用語音提示來顯示說話人身份,而提示語音的數(shù)據(jù)可以存放于此區(qū)域。具體的存儲的安排如表1所示。

          2 系統(tǒng)的算法與軟件設計

          說話人識別系統(tǒng)的實現(xiàn)方案如圖3所示。

          輸入的模擬語音先通過預處理,包括預濾波、采樣、量化、加窗、端點檢測、預加重等。語音經(jīng)過預處理后進行特征提取。在訓練階段,對提取的特征進行相應的處理后就可以獲得參考模型。識別階段,語音通過同樣的通道獲得特征參數(shù),生成測試摸型,之后將測試摸型與參考摸型進行匹配,從而根據(jù)判決邏輯獲得判決結(jié)果。

          2.1 語音信號的端點檢測

          語音信號的端點檢測目的是去除語音信號中的噪聲段。端點檢測從很大程度上影響到識別率。常用方法有短時能量法,短時過零率法和雙門限法等。本系統(tǒng)選用雙門限法,實驗表明,效果優(yōu)于前兩種方法。在雙門限方法端點檢測中,閾值的選擇尤為關鍵,該系統(tǒng)的語音采樣頻率設為8 kHz,語音分幀為每幀80個點。經(jīng)過多次實驗,這里短時能量低閾值通過式(3)的動態(tài)方式得到,高閾值設為低閾值的5倍。而過零率的閾值選取應充分考慮到噪聲的影響,通過大量實驗發(fā)現(xiàn)系統(tǒng)中噪聲的過零率一般不超過5,所以對過零率的閾值選取為25,取得了很好的效果,準確率達到95%以上。

          ITU=0.03(amp_max-amp_min)+amp_min (3)

          在端點檢測過程中有時會遇到突發(fā)性的干擾噪聲,這種噪聲持續(xù)時間很短,一般小于5 ms。為了消除這種干擾,這里用檢測后的起止長度判斷它是不是語音。如果所檢測到的語音長度足夠的短,則可以把它當成是噪聲。

          2.2 特征參數(shù)的提取

          語音信號的特征提取是說話人身份識別的難點。能否用相對簡單的方法提取出一種最能體現(xiàn)說話人個性信息的特征將成為以后研究的方向。該系統(tǒng)中用的是能體現(xiàn)人耳聽覺特性的Mel倒譜系數(shù)(MFCC)。

          MFCC著眼于人耳的聽覺機理,依據(jù)聽覺的結(jié)果來分析語音的頻譜,獲得了很好的識別率和很好的噪聲魯棒性,它利用了聽覺系統(tǒng)的臨界效應,描述人耳對感知的非線性特性。在DSP硬件資源配置中,MFCC在識別性能和DSP內(nèi)部空間占用方面也取得了很好的平衡。在該系統(tǒng)中使用16個濾波器(M=16)構成的濾波器組。圖4所示是MFCC的提取過程。

          2.3 識別方法選擇與實現(xiàn)

          基于該系統(tǒng)對速度、識別效率、存儲空間的要求,這里的識別方法選為高斯混合模型。高斯混合模型(GMM)可以看成是狀態(tài)數(shù)為1的連續(xù)分布隱馬可夫模型CDHMM。一個M階混合高斯模型的概率密度函數(shù)是由M個高斯概率密度函數(shù)加權求和得到,所示如下:



          式中:X是一個D維隨機向量;bi(Xi)是子分布,i=1,2,…,M是子分布;ωi是混合權重,i=1,2,…,M。對GMM模型參數(shù)的估計方法該系統(tǒng)采用最大似然估計。對于一組長度為T的訓練矢量序列X={X1,X2,…,XT},GMM的似然度可表示為:



          由于式(5)是參數(shù)λ的非線性函數(shù),很難直接求出其最大值。因此,該系統(tǒng)采用EM算法估計參數(shù)λ。

          2.4 算法實現(xiàn)過程中的具體考慮.

          (1)FFT變換點數(shù)的選擇。FFT變換點數(shù)選擇很重要,如果選擇太大,則運算復雜度變大,使系統(tǒng)響應時間變長,如果選擇太小則可能造成頻率分辨率過低,提取參數(shù)誤差過大。該系統(tǒng)中選取的點數(shù)為240點。

          (2)模型參數(shù)的選擇。首先模型階數(shù)M必須適中,必須足夠大,可以充分表示出空間的分布。然而,階數(shù)也不能太大,否則數(shù)據(jù)數(shù)量不足,也無法準確描述特征空間分布??紤]該系統(tǒng)對參數(shù)的存儲空間要求,并綜合以上考慮,該系統(tǒng)選用的階數(shù)為32階。

          (3)協(xié)方差矩陣類型??紤]到減少計算量,這里采用對角陣。在高維特征空間中,對角陣比全矩陣優(yōu)勢更為明顯。

          (4)方差限定。當訓練數(shù)據(jù)不足或者是存在噪聲干擾時,方差幅度會很小,這樣會導致模型概率函數(shù)的奇異性,所以每次EM迭代時,都需要對方差進行限定。即:



          根據(jù)實驗結(jié)果,該系統(tǒng)選取S2 min為0.025

          (4)模型初值的設定:EM算法是尋找局部最大概率的模型。不同的初值會導致不同的局部極值。該系統(tǒng)中采用的是K均值法。

          2.5 K均值法應注意的幾個問題

          (1)聚類中心的初始化。對于聚類中心數(shù)目由GMM模型決定,假設是N。對于聚類中心的初始化,一般取前N個矢量作為聚類中心,但在實驗過程中發(fā)現(xiàn),這種方法不具有針對性,往往設立的初始的聚類中心不具有很好的聚類效果。所以這里采用取質(zhì)心法。具體方法為:

          第一步先求出訓練集S中全體矢量X的質(zhì)心,然后在S中找出一個與此質(zhì)心的畸變量最大的矢量Xj,再在S中找到一個與Xj的畸變量最大的矢量Xk。以Xj和Xk為基準進行胞腔劃分,得到Sk和Sj兩個子集。對這兩個子集分別按照同樣的方法劃分得到4個子集。依次類推,得到N個子集。這N個子集的質(zhì)心即為初始的聚類中心。

          (2)聚類中心改進量δ的選擇。對于聚類中心改進量δ的選擇,若選擇太大,則聚類不充分,影響訓練效果;若太小,則會導致訓練無法完成,該系統(tǒng)通過試驗,取比較適中的數(shù)0.01。

          (3)最大迭代次數(shù)的選擇。對于最大迭代次數(shù)的選擇,太小會導致誤判,太大導致訓練不成功時過多的占用系統(tǒng)時間。該系統(tǒng)迭代次數(shù)設為100,比較適中。

          3 實驗結(jié)果及改進點

          通過系統(tǒng)調(diào)試及改進,該系統(tǒng)最終實現(xiàn)10個說話人的身份識別,并自舉運行。運行時通過Switch組合可方便的選擇訓練或識別的功能,并可更新說話人。訓練,識別的進度及結(jié)果通過LED組合顯示。利用該系統(tǒng)對5男5女10個人進行訓練,每人500次測試,結(jié)果正確識別率為98%,識別時間為3 s左右。說明該系統(tǒng)可以有效的識別說話人的身份。對于該系統(tǒng),識別時間及識別率上還有改進空間,以后工作可圍繞識別時間上改進。




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();