《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于SoPC的实时说话人识别控制器
基于SoPC的实时说话人识别控制器
来源:电子技术应用2010年第7期
刘好新,张歆奕
五邑大学 信息工程学院,广东 江门529020
摘要: 运用软硬件协同设计,在DE2-70开发板上实现了一个基于SoPC的实时说话人识别控制器,控制器有很好的实时性和良好的识别性能。控制器的语音特征参数采用线性预测倒谱系数(LPCC),匹配算法采用动态时间规整算法(DTW)。
中圖分類號: TP368.1
文獻標識碼: B
文章編號: 0258-7998(2010)07-0024-03
A real-time speaker recognition controller based on SoPC
LIU Hao Xin,ZHANG Xin Yi
School of Information Engineering,Wuyi University,Wuyi 529020,China
Abstract: A real-time speaker recognition controller based on SoPC using DE2-70 development board is discussed in this paper. Since the controller is designed based on hardware and software co-design methodology, it is excellent in real-time processing and good in performance. LPCC is selected as speech features, and dynamic time warping(DTW) algorithm as matching algorithm in this design.
Key words : hardware and software co-design;SoPC;speaker recognition controller;real-time processing

1 算法簡介
    說話人識別系統主要實現建模及識別兩方面功能。建模功能提取語音的特征參數并存儲起來形成用戶模板。識別功能提取語音的特征參數,與模板參數進行匹配,計算其距離。系統框圖如圖1所示。本文采用改進的DTW(Dynamic Time Warping)算法和LPCC(Linear prediction cepstrum coefficients)特征參數。

1.1 LPCC算法
    (1)分幀:語音信號具有短時平穩性[1],因此先將其分幀,再逐幀處理。
    (2)有效音檢測:有效音檢測基于短時能量和短時過門限率兩個參數。判決時采取兩級判斷法:若短時能量高于高門限則判為有聲;若低于低門限則判為靜音;若介于兩者之間,則再判斷其過門限率是否高于過門限率門限,若滿足則判為有聲,否則為靜音。
    (3)加窗:加窗可濾去不需要的頻率分量,同時有利于減少LPCC算法在幀頭及幀尾處的誤差。本設計采用漢明窗,其表達式如下:

1.2 改進的DTW算法
1.2.1 全局約束

    圖2和圖3中,橫軸為測試語音參數,縱軸為模板參數,單位為幀。算法以測試語音為基準逐幀進行。如圖2,傳統的DTW算法中,測試參數長度無法預知時全局約束便無法確定。圖3為改進后的DTW,可在未知測試參數長度的情況下進行全局約束,配合幀同步算法,便于算法的實時處理。

1.2.2 局部約束
    得到當前距離后便要進行前向路徑搜索。n=1指定與m=1匹配。從n=2開始,每個交叉點(n,m)可能的前向路徑為(n-1,m)、(n-1,m-1)、(n-1,m-2),選出其中最小者作為當前點(n,m)的前向路徑,并將該點的累加距離和加上其當前距離作為當前點的累加距離。最終在n=N處可得到若干個累加距離,選其最小者為最終匹配結果。
1.3 Matlab仿真
1.3.1 實驗1:對個性信息的識別能力

    實驗1的目的在于觀察算法對于話者個性信息的識別能力,實驗用的語音均為各話者對正確詞“開門”的發音,以避免不同單詞帶來的影響。實驗結果如圖4所示,系統的等錯誤率(EER)為0.01,即當錯識率為0.01時錯拒率也為0.01。

1.3.2 實驗2:對語意信息的識別能力
    實驗2的目的在于觀察識別算法對于語意的識別能力,實驗用的語音均為同一話者對正確詞及錯誤詞的發音,以避免因不同話者帶來的影響。如圖5所示,在門限為1.25時得到系統的等錯誤率(EER)為0.01。比較實驗1、實驗2的結果可知,算法對語義的識別能力和對話者個性信息的識別能力相近。

1.3.3 實驗3:綜合測試
    實驗3綜合考慮了話者的個性信息及語意信息。如圖6所示,在門限為1.4時,得到系統的等錯誤率為0.01,也即此時系統的正確識別率為99%,同時存在1%的錯誤識別率。

2 SoPC系統構建
    (1)CPU設置。NiosII core選定為NiosII/f。使能嵌入式硬件乘法器。復位地址設為cfi_flash,異常向量地址設定為ssram_2M,在custom instructions中添加用戶自定義指令floating Point Hardware。
    (2)定時器設置。本設計使用了兩個定時器。Timer用于產生內部中斷采集語音樣點,設其計時周期為125 μs(對應采樣率8 kHz)。Timer_stamp用于插入時間標簽,定時周期采用默認值。
    (3)其他外設。NiosII核中還包含以下外設:片上RAM/ROM、FLASH、SDRAM、SSRAM、按鍵、開關、LED、音頻模塊、七段數碼管、LCD。
3 軟件流程
    總體工作流程如圖7所示。系統首先初始化,然后讀出模板數據,等待用戶按下按鍵。在此期間,用戶應設置好系統工作模式(建?;蜃R別)及話者代碼。然后按下按鍵開始以中斷方式采集語音,并運行函數主體。

    識別部分流程如圖8所示。函數首先判斷語音是否已經采集完畢及LPCC算法是否已經進行到最后一幀,若同時滿足則結束運算,否則繼續運行。若當前幀為有效音,則計算出其LPCC,并調用DTW子函數,針對各模板分別計算距離得分。運算完所有語音幀后,便可得到測試語音對各模板的最終得分,取其最大者記為當次得分。若該得分大于得分門限,則識別通過;否則予以拒絕。


    建模部分流程的前半部分與識別過程類似,不同之處在于建模過程只調用了LPCC算法。算法完成后,系統將LPCC矩陣寫入對應的Flash地址空間存儲。
4 軟硬件協同設計與優化
4.1 軟件設計與優化

    (1)將數據緩存至SDRAM。最初的程序設計中使用數組存儲大型變量,后來改為將這些數據緩存于SDRAM中。改進后,在板運行速度無明顯改變,但NiosII軟件的運行速度及穩定性得到了提高。
    (2)用float數據類型代替double。最初的程序大量使用了雙精度數據類型,但后來發現單精度浮點型已經可以滿足要求,因此將數據類型改為單精度浮點型(float),使得程序運行速度提升了一倍。
    (3)用指針方式訪問數組。改用指針的方式訪問數組改善了程序的執行效率,運行速度有一定提升。
    (4)用讀表法獲取漢明窗函數。最初的程序是通過運算公式的方式得到窗函數的各個樣點值的,后改用讀表法,使得加漢明窗這一步驟耗時減少了98.7%,整個LPCC運算耗時因此減少了59.3%。
    (5)語音數據存儲為float類型。最初的設計中,系統采集到原始語音數據后直接將其存儲起來,后來改為將數據解碼后再存儲,使得LPCC中取語音部分的時間由888 μs降至98μs。
4.2 硬件設計與優化
    (1)用定時器中斷方式采集語音。最初的設計中,系統必須在采集完所有語音數據之后才能對其進行處理。后改用中斷方式采集語音,則可實現每采集滿一幀語音數據便進行處理,極大地提升了處理速度。
    (2)添加用戶自定義浮點指令。語音信號處理過程涉及大量單精度浮點型數據的運算,因此在CPU中添加浮點指令。加入浮點指令后,系統耗時降低了90%以上。
    本設計在算法上充分利用了DTW算法的特點,既能識別語音內容又能區分說話人,很好地完成了文本有關的說話人識別功能。同時對識別算法進行幀同步處理,為算法的實時實現打下基礎。本設計在實現時采用軟硬件協同設計方法,在軟件和硬件上進行設計和優化,使得設計有很好的實時性。
    作品的實際測試情況是:選取門限為1.5時,系統的錯識率可降至0%,此時正確識別率為90%,還有10%的拒識。識別時系統的響應時間是8.5 ms。
參考文獻
[1] 趙力.語音信號處理[M].北京:機械工業出版社,2003.
[2] 馬志欣,王宏,李鑫.語音識別技術綜述[J].昌吉學院學報,2006(3).
[3] 周立功.SoPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2006.
[4] 周鳳偉,劉操.1比特Sigma Delta調制在DSD中的應用[J].廣播與電視技術,2010(1).
[5] 沈佳銘.一種可重構的24bitΣ-Δ調制器的設計[J].微電子學與計算機,2007,24(4).
[6] 石博雅.G.726語音編解碼器在SoPC中的實現[J].電子技術應用,2005(8).
[7] 葛保建.基于SoPC的軟硬件協同設計平臺的研究與實現[D].武漢科技大學碩士學位論文集,2008(3).

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久九九国产视频| 国产精品91在线观看| 国产精品久久婷婷六月丁香| 亚洲一区二区在线看| 久久久99国产精品免费| 777国产偷窥盗摄精品视频| 欧美日韩免费精品| 国产精品视频中文字幕91| 九九精品在线观看| 亚洲国产成人不卡| 91国产中文字幕| 日本久久久a级免费| 日韩无套无码精品| 国产一区视频免费观看| 久久久97精品| 久久露脸国产精品| 日韩在线视频网站| 日韩欧美精品在线不卡 | 国产日韩亚洲欧美| 欧美日韩视频在线一区二区观看视频| 亚洲精品免费av| 国产黄页在线观看| 萌白酱国产一区二区| 欧美激情精品久久久久久| 欧美亚洲另类在线一区二区三区| 国产日韩欧美在线看| 日本不卡一区二区三区在线观看 | 五月婷婷一区| 中文字幕一区二区三区最新| 欧美区高清在线| 麻豆成人av| 久久久精品欧美| 激情五月五月婷婷| 国产精品视频网站| 欧美亚洲国产日本| 欧美日韩福利视频| 久久精品.com| 久久777国产线看观看精品| 精品国产91亚洲一区二区三区www| 久久国内精品一国内精品| 在线视频不卡一区二区三区|