基於DSP的語音識別系統的實現及分析

2021-01-08 電子產品世界

0 引言

  語音識別技術的目的是使機器能理解人類語言,最終使人機通信成為現實。在過去幾十年,自動語音識別(AutomaticSpeech Recognition,ASR)技術已經取得了非常重大的進步。

  ASR系統已經能從處理像數字之類的小詞彙量到廣播新聞之類的大詞彙量。然而針對識別效果來說,ASR 系統則相對較差。尤其在會話任務上,自動語音識別系統遠不及人類。因此,語音識別技術的應用已成為一個極具競爭性和挑戰性的高新技術產業。

  隨著DSP技術的快速發展及性能不斷完善,基於DSP的語音識別算法得到了實現,並且在費用、功耗、速度、精確度和體積等方面有著PC機所不具備的優勢,具有廣闊的應用前景。

  1 系統參數選擇

  一般情況下,語音識別系統按照不同的角度、不同的應用範圍、不同的性能要求有不同的分類方法。針對識別對象不同有孤立詞識別、連接詞識別、連續語音識別與理解和會話語音識別等。針對識別系統的詞彙量有小詞彙量語音識別(1~20個詞彙)、中詞彙量識別(20~1 000個詞彙)和大詞彙量(1 000以上個詞彙)語音識別。針對發音人範圍來分,分為特定人語音識別、非特定人語音識別、自適應語音識別。

  本文主要研究非特定人小詞彙量連續語音實時識別系統。

  1.1 語音識別系統

  語音識別本質上是一種模式識別的過程,即未知語音的模式與已知語音的參考模式逐一進行比較,最佳匹配的參考模式被作為識別結果。語音識別系統一般包括前端處理、特徵參數提取、模型訓練和識別部分。圖1所示是基於模式匹配原理的語音識別系統框圖。

  

  圖1 語音識別系統基本框圖

  1.2 特徵參數

  語音信號中含有非常豐富的信息,包括影響語音識別的重要信息,也包括對語音識別無關緊要甚至會降低識別率的冗餘信息。特徵提取則可以去除冗餘信息,將能準確表徵語音信號特徵的聲學參數提取出來用於後端的模型建立和匹配,大大減少了存儲空間、訓練和測試時間。對特定人語音識別來說,希望提取的特徵參數儘可能少的反映語義信息,儘可能多的反映說話人的個人信息,而對非特定人語音識別來說,則相反。

  現在較常用的特徵參數有線性預測參數(LPCC)、線譜對(LSP)參數、Mel頻率倒譜參數(MFCC)、感覺加權的線性預測(PLP)參數、動態差分參數和高階信號譜類特徵等,尤其是LPCC和MFCC兩種參數最為常用。本文選擇MFCC作為特徵參數。

  1.3 模型訓練及模式識別

  在識別系統後端,從已知模式中獲取用以表徵該模式本質特徵的模型參數即形成模式庫,再將輸入的語音提取特徵矢量參數後與已建立的聲學模型進行相似度比較,同時根據一定的專家知識(如構詞規則,語法規則等)和判別規則決策出最終的識別結果。

  目前,語音識別所應用模型匹配技術主要有動態時間規整(DTW)、隱馬爾可夫模型(HMM)、人工神經元網絡(ANN)和支持向量機(SVM)等。DTW 是基本的語音相似性或相異性的一種測量工具,僅僅適合於孤立詞語音識別系統中。在解決非特定人、大詞彙量、連續語音識別問題時較之HMM 算法相形見絀。HMM 模型是隨機過程的數學模型,它用統計方式建立語音信號的動態模型,將聲學模型和語言模型融入語音識別搜索算法中,被認為是語音識別中最有效的模型。

  然而由Vapnik和co-workers提出來的SVM 基於結構風險最小化準則和非線性和函數,具有更好的泛化能力和分類精確度。目前,SVM 已經成功應用於語音識別與話者識別。

  除此之外,Ganapathiraju等人已經將支持向量機成功運用到複雜的大詞表非特定人連續語音識別上來。因此本文選擇SVM結合VQ完成語音模式識別。

  2 系統構建及實現

  為了更好地體現DSP的實時性,選擇的合適參數相當重要。考慮到DSP的存儲容量和實時性要求,本文首先選用Matlab平臺對系統進行仿真以比較選取合適的參數。

  2.1 Matlab平臺上的仿真實現

  2.1.1 實驗數據的建立

  基於Matlab平臺,本文實驗語音信號在安靜的實驗室環境下用普通的麥克風通過Windows音頻設備和Cool edit軟體進行錄製,語速一般,音量適中,文件存儲格式為wav文件。語音採樣頻率為8kHz,採樣量化精度為16bit,雙聲道。

  由於無調音節有412個,有調音節為1 282個,若採用SVM 對所有音節進行分類,數據量很龐大,故本文選擇10個人對6個不固定的連續漢語數字進行發音,每人發音15次,音節切分後共900個樣本,其中600個樣本作為訓練樣本集,其餘300個樣本用於特定人的識別;另外選擇5個人對漢語數字0~9發音,每人發音3次,共150個測試樣本作為非特定人的識別。此外,以上選取的訓練或測試樣本均考慮到0~9共10個數字的均勻分布,並且樣本類型通過手工標定。

  2.1.2 基於Matlab的語音識別系統的仿真及性能分析

  首先對語音信號進行了預處理及時域分析:使用H(Z)=1-0.9375z-1 進行預加重處理;同時考慮語音信號的短時平穩性,進行分幀加窗---選用Hamming窗,幀長32ms,幀移是10ms.本文所設計系統為小詞彙量的連續語音識別,考慮到訓練時的工作量和運算量,選用音節作為基本識別單元。語音特徵參數矢量採用12維MFCC、12維一階MFCC以及每幀的短時歸一化能量共25維構成。

  本文構造了基於SVM 的連續語音識別系統。系統前端採用MFCC特徵參數、並用遺傳算法(GA)與矢量量化(VQ)混合算法對其進行聚類得到優化碼本,然後將所得碼本作為 SVM 模式訓練和識別算法的輸入,按照相應的準則最終得到識別的結果。語音識別系統流程圖如圖2所示。

  

  圖2 語音識別系統流程圖

  首先對不同初始種群數的語音識別系統性能進行了分析。表1給出了不同初始種群下的識別系統性能,從表中可以得出,在迭代次數為100、初始種群數為100時,種群最終平均適應度和正識率最高,之後隨著初始種群數繼續增加,平均適應度和正識率都在降低。綜合考慮迭代所需時間和正識率,本文折衷採用初始種群數為80進行系統的仿真和實現。

  

  表1 不同初始種群下的識別系統性能

  種群數平均適應度迭代所需時間/ (s) 正識率系統設計中考慮到MFCC參數數據量太大,對模型訓練和識別的時間有很大的影響,因此選擇矢量量化對數據進行分類。矢量量化的關鍵問題是如何獲取VQ碼本及碼本長度的確定,對此進行了仿真比較。

  表2給出了不同VQ算法對正識率的影響比較。由表可以採用種群數為80,碼本長度為16,核函數為 RBF,選用的改進遺傳算法(GA)時系統的正識率要明顯高於LBG和傳統GA.LBG容易陷入局部最優,傳統GA 具有全局搜索能力,但收斂速度慢。實驗證明,改進的GA較好地解決了這兩者的問題,收斂速度較快,正識率也有較為明顯的提高。

  

  表2 不同VQ算法對正識率的影響比較

  在此基礎上比較了傳統GA和優化後GA對不同碼本長度失真測度的影響,如圖3所示。由圖可知,在碼本平均失真測度上,改進的GA比傳統GA在整體上明顯有所降低,即種群平均適應度更高。從圖3還可以發現碼本長度為32時失真測度達到最低,但相比碼本長度為16時的值減少的並不太明顯。 考慮到迭代時間問題,本文所採用的碼本長度為16.

  不同SVM 核函數對語音識別系統性能也會有影響。SVM分類器的目的是設計一個具有良好性能的分類超平面,以滿足在高維特徵空間中能通過這個分類超平面區分多類數據樣本。

  已有文獻證明一對一分類器在邊界距離上比一對多分類器更精確,故本文採用一對一方法對多類數據樣本進行訓練和識別。

  

  圖3 碼本長度的失真測度對比

  表3給出了針對非特定人的不同SVM 核函數的識別系統性能。表中顯示,在取C =3,γ= 125(這裡的25為特徵參數維數)情況下,儘管核函數為RBF時所需的支持向量數要略高於核函數為Sigmoid時,但系統的正確識別率要明顯高於採用其他核函數的系統,因此本文選取RBF作為核函數。

  

  表3 不同SVM 核函數的識別系統性能

  通過Matlab仿真分析了不同的矢量量化算法、SVM 核函數和初始種群數對語音識別系統性能產生的影響,為語音識別系統在DSP上的實現提供了參數和模型的選擇。

2.2 語音識別系統在DSP上的實現

  2.2.1 實驗數據的建立

  所有語音信號在安靜的實驗室環境下獲得。基於DSP 平臺的實時識別實驗系統,語音信號通過麥克風輸入,使用TLV320AIC23對模擬語音信號進行採樣。語音採樣頻率為8kHz,採樣量化精度為 16bit,雙聲道。考慮到Flash存儲空間有限,本文選用自建語音庫中900個樣本中的40個樣本作為訓練樣本建立模型參數。

  2.2.2 語音識別系統的硬體結構

  由於語音識別系統算法複雜度較高,同時考慮到實時性,本文選擇TI公司的TMS320C6713DSK 作為硬體開發平臺。

  TMS320C6713DSK是一款低成本獨立開發應用板,其最高工作時鐘頻率可以達到225MHz,且是高性能的浮點數位訊號處理器。且帶有TLV320AIC23 立體編解碼器,8M 字節32bit的SDRAM,512k字節,8bit的非易失性Flash存儲器。

  本系統針對的是非特定人小詞彙量連續語音的識別,硬體結構如圖4所示,主要包括語音數據採集模塊、數據傳輸模塊、數據處理模塊、程序數據存儲及Flash引導裝載模塊、數據存儲器RAM 模塊及其他相關模塊。

  

  圖4 系統硬體結構圖

  數據採集模塊主要採用TLV320AIC23編解碼器來實現對語音數據的採集。由AIC23採集的數位訊號數據通過McBSP1存入SDRAM 中,數據傳輸方式為EDMA方式下的McBSP數據傳輸。數據處理模塊是系統的核心模塊,用TMS320C6713DSP晶片來完成語音識別算法的實現。訓練時,DSP完成語音信號MFCC特徵參數的提取、SVM 建模並存入Flash中;識別時,DSP讀取待識別語音信號數據並將獲得的模型參數與訓練模型參數進行比較,進而得到識別結果。

  2.2.2 基於DSP的語音識別系統的實現及分析

  本系統設計主要涉及到語音數據段、執行代碼段、載入Flash的程序段和模型參數段等。在編程中主要以C語言編程為主,配合使用彙編語言,使程序運行效率更高。

  實驗結果及其性能分析:

  訓練時,系統上電,加入工程項目。圖5所示為讀取「12345」的語音時部分主程序、對音節切分後數字「1」提取的語音及其第10幀的MFCC參數、mfcc子程序等。

  

  圖5 MFCC參數

  識別過程中,將存入Flash中的訓練模型參數依次讀出,與待識別語音信號的MFCC參數比較,最後得到識別結果。

  實驗中讀取20句話,每句話含有6個不同漢語數字的連續語音,通過對其進行測試,得到識別率為76.7%.圖6是對音節切分後的數字「2」的識別情況,在STD欄輸出了最後識別結果即數字「2」。

  3 結論

  本文通過在Matlab平臺上進行仿真實驗選取合適的參數及模型,並將其移植到 TMS320C6713DSK上實現了非特定人小詞彙量連續語音識別系統。其中基於TLV320AIC23完成了對語音數據的採集,藉助SDRAM 和Flash進行數據存儲,並採用短時能量和短時過零率進行語音信號的初步判定,結合起來進行測試,在Windows7作業系統中使用DirectX SDK 9.0b進行視頻顯示,QR解碼程序為自行編制,並與TPS自動測試臺集成。連續地採集視頻,在計算機顯示屏上實時顯示影像圖的同時進行條碼解碼定位,結果顯示單幀圖像的平均解碼時間為630ms,使用幀相關算法後,平均解碼時間為124ms.

  圖6為在單碼定位時預估未定位條碼的結果,q1為已定位碼,q2,q3,q4為未定位碼,由q1預估q2,q3,q4的結果為圖中的加亮框表示,對框區域外擴使其包含完整條碼,然後把擴域後的子區域獨立出來,作為下一幀條碼解碼的有效區域以提高圖像處理速度。

  

  圖5 視頻輔助探針定位

  

  圖6 單碼定位的預估結果

  本方法在採用幀相關及位置相關算法後,在普通PC上實現實時視頻,並具有如下特點:

  a)無需夾具,允許遮擋,允許測試板和探頭位置變化;探針和目標點標記同時出現影像圖上,直接引導,無需在影像和實板上對照查找,提高探測效率,減小出錯機會。

  b)QR碼定位符含測試板信息,可以在PCB板製作過程中通過絲印到PCB板上,也可以在後期紙制粘貼到PCB板上(但要精確地保證每塊板上的QR碼位置相同),允許同一板面任意多定位碼,以區分不同PCB板及不同板面,用作PCB加電前預檢測,可保證加電安全。

相關焦點

  • 基於DSP和FPGA的機器人聲控系統設計與實現
    一個體積小、低功耗、高速度能完成特定範圍語音識別和動作指令的機器人系統的研製具有很大的實際意義。 2 系統硬體總體設計 系統的硬體功能是實現語音指令的採集和步進電機的驅動控制,為系統軟體提供開發和調試平臺。如圖1所示。
  • 基於DSP的漢字語音識別系統的實現方式解析
    語音識別是機器通過識別和理解過程把語音信號轉變為相應的文本文件或命令的高技術。作為專門的研究領域,語音識別又是一門交叉學科,它與聲學、語音學、語言學、數位訊號處理理論、資訊理論、計算機科學等眾多學科緊密相連。語音識別經過四十多年的發展,已經顯示出巨大的應用前景。本文從實現原理入手,介紹語音識別系統的實現方式。
  • 從原理入手,解析基於DSP的漢字語音識別系統的實現方式
    語音識別是機器通過識別和理解過程把語音信號轉變為相應的文本文件或命令的高技術。作為專門的研究領域,語音識別又是一門交叉學科,它與聲學、語音學、語言學、數位訊號處理理論、資訊理論、計算機科學等眾多學科緊密相連。語音識別經過四十多年的發展,已經顯示出巨大的應用前景。本文從實現原理入手,介紹語音識別系統的實現方式。
  • DSP開發板的語音識別系統的研究
    然而針對識別效果來說,ASR 系統則相對較差。尤其在會話任務上,自動語音識別系統遠不及人類。因此,語音識別技術的應用已成為一個極具競爭性和挑戰性的高新技術產業。  隨著DSP技術的快速發展及性能不斷完善,基於DSP的語音識別算法得到了實現,並且在費用、功耗、速度、精確度和體積等方面有著PC機所不具備的優勢,具有廣闊的應用前景。
  • 基於DSP的語音識別計算器電路設計
    根據實際的應用,語音識別可以分為:特定人與非特定人的識別、孤立詞與連續詞的識別、中小詞彙量與無限詞彙量的識別。 考慮到成本及使用範圍因素,本文中應用的是基於TMS320VC5509 DSP的非特定人、孤立詞、小詞彙量的語音識別系統。
  • 基於小波變換與DSP的實時音頻視頻處理系統
    本文介紹一種基於adv611,ct8021晶片同時結合ti公司的tms320c6201晶片實現音/視頻實時處理系統。在該實時系統中,dsp晶片作為控制核心、一方面要管理adv611,ct8021,存儲器和通信接口,另一方面要對adv611的圖像壓縮效果進行調解,對數據速率實時控制。系統實現方案原理圖如圖1所示。
  • 基於Julius的機器人語音識別系統構建
    語音識別技術的發展,使得這一理想得以實現,把語音識別技術與機器人控制技術相結合,正成為目前研究的熱點,不但具有較好的理論意義,而且有較大的實用價值。   語音識別技術應用於機器人系統大多是針對特定的環境,設計出語音命令來進行控制的。
  • 基於嵌入式Linux的語音識別系統硬軟體設計
    在嵌入式Linux作業系統下,運用多進程機制完成了對語音識別晶片、超聲波測距和雲臺的控制,並將語音識別技術應用於多角度超聲波測距系統中。通過測試,系統可以通過識別語音指令控制測量方向,無需手動幹預,最後將測量結果通過語音播放出來。
  • 基於HMM的連續小詞量語音識別系統的研究
    摘要:為了提高語音識別效率及對環境的依賴性,文章對語音識別算法部分和硬體部分做了分析與改進,採用ARMS3C2410微處理器作為主控制模塊,採用UDA1314TS音頻處理晶片作為語音識別模塊,利用HMM聲學模型及Viterbi算法進行模式訓練和識別,設計了一種連續的
  • 基於DL的中文語音識別系統ASRT開源
    2月11日消息,一套基於深度學習實現的語音識別系統ASRT(全稱Auto Speech Recognition Tool),由AI檸檬博主開發並在GitHub上開源(GPL 3.0 協議)。本項目聲學模型通過採用卷積神經網絡和連接性時序分類方法,使用大量中文語音數據集進行訓練,將聲音轉錄為中文拼音,並通過語言模型,將拼音序列轉換為中文文本。
  • 基於語音識別的移動電子病歷應用探索
    語音識別是一門交叉學科,涉及生理學、聲學、語音學、計算機科學、信號處理等,儘管不同的語音識別系統,實現的細節不同,但原理大致相同,如圖1所示。圖1 語音識別原理語音識別技術主要分為前端處理與後端處理2個部分。前端處理主要包括端點檢測、降噪、特徵提取等。後端處理主要包括2個過程,分別是訓練與解碼。端點檢測從連續的語音流中檢測出有效的語音段。
  • 基於FPGA的語音智能操控系統
    基於FPGA實現語音智能操控系統具有:(一)設計靈活、操作方便、快捷(二)準確度高,工作範圍大(三)可隨時用語音操控帶有遙控裝置的用電器(四)可擴展性強,增強了系統的外接功能(五)便於更新和系統升級,可隨時嵌入更新系統程序
  • 第六講 DSP在雷達信號處理中的應用
    引言 dsp是一種基於精簡指令集的可編程數學計算晶片,可以對數位訊號進行時頻域變換、頻譜分析、濾波、估值、增強、壓縮等處理,廣泛應用於家用電器、多媒體系統、雷達、衛星系統、移動通信、網絡會議、醫學儀器、實時圖像識別與處理、語音處理、自適應制導控制、模式識別、定位、導航、聯合戰術無線電系統和智能基站等領域。
  • 基於片上系統SoC的孤立詞語音識別算法設計
    引言本文引用地址:http://www.eepw.com.cn/article/190560.htm目前,嵌入式語音識別系統的實現主要通過單片機MCU和數位訊號處理器DSP來實現[1]。但是單片機運算速度慢,處理能力不高;雖然DSP處理速度很快,但是產品的成本很高,電源能量消耗也很大。
  • 基於DSP的數字掃描探針顯微鏡的硬體解決方案研究
    技術也已經廣泛地應用於通信、測量、多媒體、消費電子產品等領域,由於把dsp和spm結合在一起是spm儀器發展的必然方向,它能使spm性能更趨於完善,為此,本文介紹如何用tms320c5416來實現這一設想!
  • 基於Cyclone II FPGA開發平臺實現語音識別算法程序的設計
    基於Cyclone II FPGA開發平臺實現語音識別算法程序的設計 瀋陽;馮良;洪誠 發表於 2021-01-12 10:21:38 SOPC可編程片上系統是一種獨特的嵌入式微處理系統。
  • 基於非特定人車載音響語音控制系統的設計與實現
    本文首次提出了一種的以專用語音處理晶片UniSpeech-SDA80D51為核心組成非特定人車載音響語音控制系統的設計方案,並實現了系統樣機的研製。該系統在江淮同悅SL1102C1型車載音響上進行了語音控制實驗,實驗數據表明系統語音識別率可達到95%,為下一步項目產品化開發奠定了基礎。
  • 基於DSP與FPGA的機器人聲控系統設計方案
    2 系統硬體總體設計  系統的硬體功能是實現語音指令的採集和步進電機的驅動控制,為系統軟體提供開發和調試平臺。如圖1所示。     系統硬體分為語音信號的採集和播放,基於DSP的語音識別,FPGA動作指令控制、步進電機及其驅動、DSP外接快閃記憶體晶片,JTAG口仿真調試和鍵盤控制幾個部分。
  • 語音識別原理及其語音識別系統分類
    YQ語音識別方案語音識別是一個多層模式識別任務。聲音信號經過考察,結構分為一個層次詞根單位(例如,音素)、詞、短語、句子。一個標準的語音識別系統如下圖所示。YQ5969語音識別二、語音識別系統分類語音識別系統根據對說話人說話方式的要求,可以分為孤立詞語音識別系統、連接字語音識別系統和連續語音識別系統;根據對說話人的依賴程度,可以分為特定人和非特定人語音識別系統
  • 雷達和矽麥結合音頻處理器實現最優的語音識別
    英飛凌科技股份公司攜手XMOS有限公司推出全新的語音識別構件。該構件將英飛凌的雷達和矽麥克風傳感器與XMOS 的音頻處理器相結合,通過音頻波束成形和雷達目標位置檢測進行遠場語音識別。