前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的語音識別系統(tǒng)主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞: 語音識別;DHMM;Viterbi;嵌入式系統(tǒng);ARM
中圖分類號:TP399 文獻標識碼:A文章編號:1006-4311(2012)04-0126-020引言
隨著計算機技術(shù)的飛速發(fā)展,各種各樣的應用層出不窮,其中使用語音與計算機程序進行交互成為了最近熱門的研究方向。語音作為人類與計算機之間無形的連接方式,可以使人們方便、快捷地控制和使用計算機。語音識別技術(shù)是能夠讓原來非智能的計算設(shè)備理解人類思想的高科技技術(shù),融合了信號處理、人工智能以及自動化等多學科、多領(lǐng)域的研究成果,是目前實現(xiàn)人工智慧的主要途徑之一。
根據(jù)不同的分類標準,語音識別可分為不同的種類,例如依據(jù)識別對象的不同,可分為特定人語音識別及非特定人語音識別;又根據(jù)人類的講話方式可分為孤立詞識別、連接詞識別以及連續(xù)語音識別。不同的識別系統(tǒng)雖然在語音識別過程中步驟相似,但根據(jù)不同系統(tǒng)的需求及特點其實現(xiàn)方式及具體細節(jié)是不同的[1]。
嵌入式技術(shù)的迅猛進步,使得語音識別技術(shù)的應用更加廣泛,不再局限于實驗室以及大型場合;其已經(jīng)被嵌入各種移動設(shè)備,為人們對移動設(shè)備的操作方式提供了一種嶄新途徑和使用體驗。本文就針對移動設(shè)備的特點,設(shè)計了一種面向非特定人的孤立詞語音識別系統(tǒng)。
1語音識別的工作原理
原始的自然語音信號中不僅含有人體自身的聲音信號,同樣也包含了大量的雜音、噪聲等混雜在一起的隨機干擾信號,尤其作為移動、嵌入式設(shè)備被使用者隨身攜帶使用,會有更多的環(huán)境噪聲信號。針對大量噪聲的數(shù)據(jù)計算以及嵌入式設(shè)備有限的計算資源,為保證系統(tǒng)的對自然語言的正確識別率,并且有效減少處理原始語音信號的大量數(shù)據(jù)密集計算,有必要研究語音信號的預處理技術(shù),以期高效提取語音特征參數(shù),并選取合適的壓縮算法進行語音數(shù)據(jù)壓縮,之后再進行語音的模式匹配[2]。
如圖1所示,人本身的語音信號從語音錄入設(shè)備進入后,將進行預處理、端點檢測、特征提取,轉(zhuǎn)換為可以對比的信號參數(shù),然后將特征參數(shù)通過選取的特征匹配方法與參考樣例庫中的模板樣例進行語言匹配,選擇符合度最大的語言樣例進行相應處理,得出識別結(jié)果。
2系統(tǒng)硬件設(shè)計
系統(tǒng)的硬件結(jié)構(gòu)示意圖如圖2所示。
系統(tǒng)的處理核心采用了韓國三星公司的一款基于ARM 920T內(nèi)核的S3C2440微處理器;此款處理器中的CMOS宏單元和存儲單元采用了0.18um電子工藝,內(nèi)部總線采用Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu),具備出色的全靜態(tài)設(shè)計,利用了多項低功耗技術(shù),系統(tǒng)架構(gòu)精簡,特別為價格和功耗敏感的應用而精心打造。除此之外,它特別為各種外設(shè)準備了豐富的中斷處理資源,包括總計共有60個中斷源(其中包括5個定時器硬中斷,9個串口中斷,24個外部中斷,1個看門狗定時器,4個DMA,2個ADC,1個LCD,1個電池故障,1個IIC,2個SPI,1個SDI,2個USB,1個NAND FLASH口,2個視頻口和1個AC97音頻口),這些中斷既可以使用電平/邊沿觸發(fā)模式進行外部中斷的觸發(fā),也可以使用軟件編程的方式改變邊沿/電平觸發(fā)極性,能夠為緊急中斷請求提供快速中斷(FIQ)服務[3]。
系統(tǒng)工作時,人的語音信號經(jīng)過MIC輸入,并通過濾波、去噪等操作后,在S3C2440上執(zhí)行語音特征提取、語音模式匹配算法,最終輸出結(jié)果;系統(tǒng)中的USB接口可以方便系統(tǒng)外擴各種標準USB外設(shè),以便使用語音識別結(jié)果進行各種設(shè)備控制。
3系統(tǒng)軟件設(shè)計
3.1 Linux內(nèi)核移植移植Linux內(nèi)核一般分為幾個固定的步驟,目前較為流行快速開發(fā)方法通常先在內(nèi)核的處理器架構(gòu)目錄下,選擇與目標開發(fā)板硬件結(jié)構(gòu)最接近的并且各種配置較為完善的開發(fā)板目錄作為移植模板。接著針對本開發(fā)板與目標開發(fā)板的硬件具體差別,進行對應的修改或使用前人的移植補丁進行升級。針對本開發(fā)板,我們使用了穩(wěn)定的Linux-2.6.15內(nèi)核進行移植,考慮到本系統(tǒng)的具體硬件配置,最后選擇了SMDK2440開發(fā)板模板作為移植的目標開發(fā)板模板。在編譯和配置內(nèi)核前,建議使用menuconfig或其它配置工具對內(nèi)核進行適當?shù)牟眉?,還可以進一步編寫配置腳本。嵌入式Linux內(nèi)核的裁減類似于PC上Linux內(nèi)核的裁減,主要的工作是根據(jù)硬件和系統(tǒng)需求增添需要支持的模塊,并除去無用的功能模塊,以使Linux內(nèi)核與目標硬件系統(tǒng)緊密相依,但要注意嵌入式Linux內(nèi)核的特征是小、精、有效。內(nèi)核的編譯則通常是通過修改根目錄以及其它子目錄下的Makefile,以及在預編譯前設(shè)置編譯參數(shù)值時進行選定,或是使用編譯工具[4]。
最后,使用make工具生成U-boot可以識別的uImage引導程序鏡像文件。uImage鏡像文件通過U-Boot引導程序從FLASH中取出并解壓縮,裝入內(nèi)存后,Linux內(nèi)核便取得系統(tǒng)控制權(quán)。
Linux內(nèi)核移植的整個過程如圖3所示。
3.2 系統(tǒng)軟件設(shè)計整個系統(tǒng)軟件結(jié)構(gòu)如圖4所示。面向終端用戶的軟件形勢分為兩種:web插件和普通的軟件界面;web插件可以使用在瀏覽器中,方面用戶控制網(wǎng)頁瀏覽。下面是命令解析層Command layer,負責解釋兩種界面發(fā)送的命令,調(diào)用相應的程序接口并返回執(zhí)行后的結(jié)果。功能模塊Function modules主要封裝軟件API,負責提供各種常用的功能服務。控制模塊Control modules負責管理和控制語音識別引擎,建立語音樣例庫以及調(diào)整語音設(shè)備引擎的內(nèi)部參數(shù),將來還可以加入新的語音模式匹配算法。再下面一層是統(tǒng)一APIs層,主要對核心語音識別引擎進行簡單的API封裝,同時預留了將來要擴展的功能接口,以便后續(xù)的功能升級和代碼維護;最下面的就是核心語音識別引擎,主要提供模式匹配算法以及對底層系統(tǒng)級的控制功能。
3.3 語音識別算法本語音識別系統(tǒng)的識別任務主要為針對設(shè)備持有者的小詞匯量孤立詞的語音識別,功能較為簡單,需要使用者進行一定量的訓練后,系統(tǒng)對應建立語音樣例庫,然后針對每次的聲音進行模式匹配即可,所以算法的重點在于模式匹配算法。綜合計算性能需要、存儲資源消耗以及價格成本考慮,目前流行的DHMM語言識別模型對本系統(tǒng)較為合適。DHMM模型是一種隨機統(tǒng)計過程,通過大量的模板訓練過程提取語音特征,可滿足語音實時變化且識別實時性要求較高的應用場合。
本系統(tǒng)采用了當前性價比較高的Viterbi算法實現(xiàn)DHMM模型。Viterbi算法可以由如下公式描述[5]:
?啄t(i)=■p(s1,s2,…,st=si,O1,O2,…,Ot|?姿)
其中,?啄t(i)為被識別語音序列t時刻的最大概率密度;其中t時刻前經(jīng)過的語音狀態(tài)序列為s1,s2,...st,且t時刻狀態(tài)為si,對應輸出觀察符序列為O1,O2,...Ot。
4結(jié)束語
人類與計算機之間的交流的方式經(jīng)過了按鍵輸入、鍵盤輸入、手寫輸入以及觸摸輸入的階段,但這已經(jīng)不能滿足人們對于便捷、快速輸入的更高需求,而語音識別技術(shù)的發(fā)展和應用,使得人們看到了計算機輸入的未來趨勢。相信隨著電子技術(shù)和信號處理技術(shù)的進一步提高,語音輸入將會廣泛應用于各種計算機以及嵌入式設(shè)備中。
參考文獻:
[1]馬莉,黨幼云.特定人孤立詞語音識別系統(tǒng)的仿真與分析[J].西安工程科技學院學報,2007,(03).
[2]邢銘生,朱浩,王宏斌.語音識別技術(shù)綜述[J].科協(xié)論壇(下半月),2010,(03).
[3]涂剛,陽富民等.嵌入式操作系統(tǒng)綜述[J].計算機應用研究,2000,17(11):4-6.
關(guān)鍵詞:語音識別;LD3320;STM32F407;W25Q128
隨著科技的發(fā)展,人們的操作模式從最初的按鍵操作到觸屏操作,再到現(xiàn)在的語音操作,其越來越便捷,越來越人性化。語音操作的基礎(chǔ)就是語音識別技術(shù)(Automatic Speech Recognition),簡稱ASR,其目標就將人類語言轉(zhuǎn)換為計算機可讀的輸入。語音識別作為一門交叉學科,從產(chǎn)生到現(xiàn)在已取得了顯著的進步,現(xiàn)在已逐步走向市場,并且人們預計,語音識別技術(shù)在未來10年將會應用于人們生活的各個領(lǐng)域。
根據(jù)發(fā)音人的不同,語音識別技術(shù)可分為特定人語音識別和非特定人語音識別兩類,前者只能識別一個或幾個人的語音,而后者則能被任何人使用。本文設(shè)計的多鼉壩鏌羰侗鶼低塵褪粲詵翹囟ㄈ擻鏌羰侗鷲庖煥啵其以嵌入式微處理器STM32F407為核心,采用ICRoute公司的LD3320語音識別芯片,并配以存儲空間為16M字節(jié)的W25Q128芯片,能夠?qū)崿F(xiàn)2000個場景共計識別句100000條的語音識別操作。
1 系統(tǒng)整體結(jié)構(gòu)
如圖1所示,整個系統(tǒng)主要是由STM32F407處理器、LD3320語音識別芯片以及W25Q128Flash芯片構(gòu)成。其中STM32F407處理器用于切換場景和場景關(guān)鍵詞更改;LD3320語音識別芯片用于語音識別,W25Q128Flash芯片用于存識別句,兩種都是通過SPI總線與處理器相連。整套系統(tǒng)與外部其他系統(tǒng)則是通過串口進行通信。
2 系統(tǒng)硬件介紹及存儲空間設(shè)計
2.1 系統(tǒng)硬件介紹
2.1.1 STM32F407ZGT6處理器
STM32F407ZGT6采用Cortex_M4內(nèi)核,集成FPU和DSP指令,具有192KB SRAM、1024KB FLASH、3個SPI、6個串口等。基于其強大的配置,所以本系統(tǒng)的處理器選用該芯片。
2.1.2 LD3320語音識別模塊
LD3320語音識別模塊是ICRoute公司的一款產(chǎn)品,其特有的快速而穩(wěn)定的優(yōu)化算法,能夠完成非特定人語音識別,識別準確率高達95%。該模塊每次最多可以設(shè)置50條候選識別詞或識別句,只要單個詞或句長度不超過10個漢字和79字節(jié)的拼音串,同時我們可以對識別內(nèi)容動態(tài)編輯。模塊的通訊方式有并行和串行兩種,根據(jù)需求的不同可以選擇不同的通訊方式。除了語音識別這一功能之外,模塊還支持MP3播放功能,只要MCU將MP3數(shù)據(jù)依次送入芯片,就能夠從芯片的PIN引腳輸出聲音。
2.1.3 W25Q128Flash芯片
W25Q128是華邦公司推出的大容量SPIFLASH產(chǎn)品,容量為128Mbit,即16M。該芯片將16M空間分為256塊,每塊64KB,每塊又分為16個扇區(qū),每個扇區(qū)4KB。由于W25Q128的最小擦除單位為一扇區(qū),也就是說每次擦除4KB。
2.2 存儲空間設(shè)計
由于W25Q128芯片每次擦除的單位為4KB,而每句識別語句至少有80字節(jié),一個場景有50句識別語句,所以一個扇區(qū)用于一個場景是不夠的,因此我們將兩個扇區(qū)劃為一個場景;圖2是單個場景數(shù)據(jù)存儲關(guān)系圖,圖中每個場景占8192字節(jié),每條識別語句占100個字節(jié),其中第一個字節(jié)為識別語句編號,范圍為1-50;單個場景的第一個扇區(qū)可以存儲40條識別語句,第二個扇區(qū)可以存儲10條識別語句,其中第4000B-4096B和5096B-8190B保留,不存儲數(shù)據(jù),整個場景的最后兩個字節(jié)用于存儲場景編號,范圍為1-2000。W25Q128共有4096個扇區(qū),理論上可以劃分2048個場景,但是我們只劃分2000個場景,也就是4000個扇區(qū);還剩下96個扇區(qū),剩下的第1-50扇區(qū)用于存放每個場景的相關(guān)信息,計算可以得到每個場景有1KB的存儲空間,然后我們將最后一個扇區(qū)的最后兩個字節(jié)存儲現(xiàn)在所在場景編號,剩下的空間保留。
3 系統(tǒng)軟件設(shè)計
3.1 通訊協(xié)議格式設(shè)置
整個系統(tǒng)主要具有場景切換和場景識別語句存取功能,表1是部分對應協(xié)議格式。
3.2 初始化函數(shù)及操作函數(shù)介紹
STM32處理器與其他各個模塊建立通信連接,除了連接好對應IO口后,還需要對各個IO進行初始化,這樣才能進行數(shù)據(jù)的收發(fā),以下是主函數(shù)中相關(guān)初始化函數(shù):
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//首先設(shè)置系統(tǒng)中斷優(yōu)先級分組
delay_init(168); //初始化延時函數(shù)
LED_Init();//指示燈初始化
KEY_Init();//按鍵初始化
IWDOG_Init();//看門狗初始化
USART1_Init(9600);//初始化串口1
W25QXX_Init();//W25Q128初始化
LD3320_Init();//LD3320初始化
while(W25QXX_ReadID()!=W25Q128) //檢測是否存在W25Q128
{
LED0=!LED0; //如果檢測不到W25Q128指示燈1會不停閃爍
}
關(guān)鍵詞:連續(xù)語音識別;動態(tài)范圍調(diào)整;歸一化;算法
中圖分類號:TN912.34
當噪音引起連續(xù)語音信號失真時,提取的連續(xù)語音特征曲線也會在時域和頻域內(nèi)失真[1]。如果用帶噪特征去匹配純凈語音的特征模型,會造成帶噪特征與模型之間的不匹配,這就導致了識別率的下降。
在連續(xù)語音識別中為了減少上述不匹配的問題,有三種主要解決技術(shù)。一是多條件或者多類型的訓練方法,也就是使用帶噪數(shù)據(jù)來進行訓練[2]。雖然這個方法能夠在特定的噪音環(huán)境下可以得到較好的識別精度,但是如果噪音環(huán)境發(fā)生變化識別精度還會急劇的降低。換言之,如果待識別數(shù)據(jù)與模型數(shù)據(jù)的條件(環(huán)境)不同,如:信噪比或者噪聲類型,在待識別數(shù)據(jù)和模型之間仍會存在不匹配的現(xiàn)象。二是采用自適應模型方法[3],通過自適應模型來減少不匹配的問題。這種訓練模型方法同時使用純凈和噪音數(shù)據(jù)來進行訓練,這又會導致模型的區(qū)分度不高,同樣會是識別精度下降。三是采用特征歸一化方法,這種方法雖然不能從根本上改變待識別特征與模型之間的不匹配,但是在一定程度上會保留模型的區(qū)分度并減少由于環(huán)境變化導致帶噪語音失真的影響。本文主要研究第三種方法。
語音增強和特征補償方法以恢復語音特征為目的,但是特征歸一化方法只是對語音特征的某些統(tǒng)計信息進行改變,并期望由此減少噪聲引起的失真。不論是語音補償還是特征補償,都需要改變語音的特征向量,而傳統(tǒng)的歸一化方法只是對語音特征統(tǒng)計信息的范圍進行處理,提出的算法在保證原有語音統(tǒng)計信息的前提下,適當改變部分語音特征向量。從而減少由噪音引起的語音特征曲線的失真。
動態(tài)范圍調(diào)整方法屬于歸一化方法的一種,能夠?qū)Ω蓛艉蛶г胝Z音的特征統(tǒng)計信息處理到相對較小的一個范圍內(nèi)。歸一化方法能夠根據(jù)一些模板值減少噪音特征在統(tǒng)計信息上的影響。相比使用歸一化方法之前,在干凈語音特征和帶噪語音特征之間的不匹配部分會顯著減少。語音增強一般應用在時域和頻域中恢復語音特征的質(zhì)量。特征補償方法通常應用在加強連續(xù)語音系數(shù)在對數(shù)濾波階數(shù)和頻譜域使用。
減少待識別語音特征和模型的不匹配的方法雖然不是提高語音識別魯棒性的唯一方法,但卻是一種很有效的方法。通過這種方法可以減少待識別特征和模型之間的不匹配使得識別性能得以提高。
1 噪音對孤立詞語音數(shù)據(jù)的影響
加法性噪音和乘法性噪音是影響語音信號最普通的兩種噪音類型。例如:加法性噪音包含背景噪音,交通噪音,等等。乘法性噪音主要是傳輸過程中產(chǎn)生的信道失真。例如麥克風自身的噪音,房間的反射噪音等等。干凈的語音信號首先被信道失真所干擾,進一步被加法性噪音干擾。
包含噪音的頻譜可以用如下公式描述:
噪音干擾在增益部分和直流分量部分的影響是不同的,如圖1所示:在孤立詞識別中,很多實驗表明使用DRA方法對加法性噪音和乘法性噪音都具有很好的性能。
圖2展示了噪音影響在孤立詞中的性能。在圖2中,有兩條不同的特征曲線,曲線表示了干凈語音和10db信噪比的噪音特征在第二項MFCC中。者兩條曲線來源于同一個語音數(shù)據(jù)。
然而,由于噪音嚴重的影響,噪音下的MFCC特征曲線的動態(tài)范圍要小于干凈語音的MFCC特征曲線的動態(tài)范圍。如果使用干凈語音特征建立HMM訓練模型,能夠獲得理想的模型并在同等條件下獲得更高的識別率。但是對噪音下的語音識別,由于上述的原因,自動語音識別系統(tǒng)無法在任何噪音下獲得正確的識別結(jié)果。雖然DRA歸一化方法能夠在孤立詞識別中獲得較好的識別結(jié)果,但直接用于連續(xù)語音識別并不是特別的理想。
圖2展示了在孤立詞中不匹配的峰值。DRA歸一化方法算法使用最大值的方法將頻譜系數(shù)范圍標準化到一個統(tǒng)一的范圍。在每個維度,DRA方法將干凈或者帶噪語音頻譜系數(shù)的動態(tài)范圍調(diào)整到同一個標準范圍中。但在孤立詞識別中,特征曲線中的峰值是有限的。歸一化方法非常適用于孤立詞識別。而連續(xù)語音識別特征曲線的峰值要遠多于孤立詞識別,歸一化方法并不直接適用。
2 噪音對連續(xù)語音數(shù)據(jù)的影響
對連續(xù)語音特征曲線來說,不匹配的峰值隨著語音特征曲線的增長而增加,語音特征曲線的動態(tài)范圍隨著噪音的增加而減少。因此簡單的歸一化算法不能有效適用連續(xù)語音識別。
我們的目標是縮小待識別噪音特征曲線與干凈的語音特征曲線之間的差異。經(jīng)過噪音魯棒性方法和DRA方法,語音信號中的直流分量的不同得以減少,特征曲線中不匹配的峰值也得以減少。
基于前面提到的孤立詞識別的歸一化方法,我們可以假設(shè)噪音沒有改變原有的特征曲線的統(tǒng)計順序,也就是在語音特征曲線上會存在很多峰值,如第一高峰值,第二高峰值,等等。在連續(xù)語音特征中,全局的統(tǒng)計信息的匹配就在整個訓練數(shù)據(jù)集中顯得比較重要。一般來說,這些特征曲線上的峰值信息代表了元音的語音特征。隨著訓練量的增加,這些峰值信息一般會集中到相對穩(wěn)定的區(qū)域。但實際上,噪音通常會改變特征曲線的統(tǒng)計順序。如果能恢復部分特征曲線上統(tǒng)計信息的順序,就能增加這些峰值的匹配幾率。
雖然通過上述的圖示可以看出通過歸一化方法可以增加干凈語音特征曲線和帶噪語音特征曲線的擬合程度,連續(xù)語音特征曲線中存在較多的峰值,帶噪語音特征曲線會改變一些峰值的統(tǒng)計信息,因此把歸一化方法簡單的使用到連續(xù)語音識別中無法達到如圖的擬合程度。提出的算法可以盡最大可能恢復帶噪語音的峰值統(tǒng)計信息。
使用DRA歸一化能提高特征曲線的峰值匹配概率。孤立詞特征曲線通常不含靜音部分,但在連續(xù)語音中,語音之間存在由于思考或者換氣產(chǎn)生的靜音,在此部分仍然使用歸一化方法在過渡位置會放大只有噪音的信號特征。這就導致了連續(xù)語音特征在此部分無法匹配。
根據(jù)上面的討論,可以通過下面兩步對特征曲線進行處理。
第一步:從連續(xù)語音數(shù)據(jù)中提取所有的短句子。
估計無音部分。連續(xù)語音包含許多無音部分和只有噪音的部分,因為這些部分不適合使用DRA。在下一步中消除連續(xù)語音特征曲線中各個動態(tài)范圍的不平衡性。
第二步:把選取出來的短句子分成更小的片段,在每個片段中使用歸一化方法。
如果片段的長度接近短句長度,導致識別結(jié)果與傳統(tǒng)DRA方法接近,如果片段的長度特別小,則導致識別精度急劇下降。根據(jù)實驗得到經(jīng)驗數(shù)據(jù)當片段長度為80幀時,識別精度最高。不同片段長度得到的識別結(jié)果如下圖:
3 小結(jié)
在訓練過程中使用大量的數(shù)據(jù)可以使各個音素的模型逐漸集中在某一個范圍。對于測試數(shù)據(jù)來說,音素的范圍很有可能與模型不在同一個范圍內(nèi),待識別音素是有限的,不可知的。
使用噪音魯棒性方法和DRA在建立區(qū)分度較高模型方法,這些魯棒性方法在發(fā)音較短的孤立詞識別中展現(xiàn)了良好的識別性能,并說明了這些方法無法直接在連續(xù)語音識別中的原因。
雖然在帶噪語音特征曲線和干凈語音特征曲線仍然有不匹配的峰值,需要指出的是,對比使用傳統(tǒng)的DRA算法,減少了不匹配的峰值。由此可以看出,使用提出的算法調(diào)整帶噪語音特征曲線可以增加峰值部分的匹配幾率。使用該算法在干凈和噪音環(huán)境下可以提高整體的識別性能。特別指出的是,提出的算法大幅提高了在噪音環(huán)境下的連續(xù)語音識別性能,根本原因就是相對于傳統(tǒng)的DRA,選擇了更合適的調(diào)整值,適當?shù)姆糯罅朔逯?。該算法在語音頻譜系數(shù)的對數(shù)系數(shù)特征里也適用。
參考文獻:
[1]張雄偉等編著.現(xiàn)代語音處理技術(shù)及應用[M].機械工業(yè)出版社,2003.
關(guān)鍵詞:語音識別;智能家居;HR7P194單片機
前言
隨著科技的發(fā)展,語音交互逐步走了進人們的生活中。例如蘋果手機中Siri和Win10系統(tǒng)中小娜都已被人們所熟悉,小米語音識別遙控器也給智能家居帶來新體驗??紤]到智能語音識別技術(shù)在未來科技和生活中的普及是必然,我國在上世紀末期已開展對其的研究。因此,將非特定性語音識別技術(shù)運用到智能家居中,并以語音控制方式進行控制家具電器設(shè)備,為人們的生活帶來了很大的便捷[1]。
1 語音識別系統(tǒng)簡介
語音識別技術(shù)其任務是將人類的聲音轉(zhuǎn)換成計算機可識別的信息。語音識別技術(shù)過程為:語音信號采集、預處理、特征信號提取、根據(jù)庫模板測度估計、語音識別、語音輸出[1]。
語音識別技術(shù)有兩方面的應用[2]:一是連續(xù)語音大詞匯語音識別系統(tǒng),應用于聽寫機及語言信息查詢服務系統(tǒng);二是體積小、方便攜帶的語音設(shè)備,如智能手機、玩具、家電遙控器等。
語音識別技術(shù)就是讓機器通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎畹母呒壖夹g(shù)[3]。語音識別技術(shù)過程為:語音信號采集、預處理、特征信號提取、根據(jù)庫模板測度估計、語音識別、語音輸出。
2 系統(tǒng)主要硬件組成
2.1 語音識別系統(tǒng)的硬件總體設(shè)計
本系統(tǒng)包括語音信號采集模塊、語音信號調(diào)理模塊、單片機控制模塊、語音識別模塊、液晶顯示模塊、控制執(zhí)行模塊等[1]。
語音信號調(diào)理模塊包括自動調(diào)整增益電路和帶通濾波電路。語音信號強度會隨傳播距離的增加成指數(shù)下降,為了防止近距離出現(xiàn)飽和限幅現(xiàn)象,因此采用自動調(diào)整增益電路[1]。人類的語音信號主要分布在300Hz-3.4KHz,帶通濾波電路可以有效地防止造成干擾,提高識別效率[1]。
2.2 單片機控制模塊電路設(shè)計
市面上可用于語音識別的單片機多種多樣,文章所用的是HR7P194單片機。HR7P194單片機具有單時鐘周期短、運行速度快、性能穩(wěn)定的特性,采用哈弗型RISC,66條精簡指令集,工作頻率最高16MHz,支持硬件除法器,支持17個中斷處理,具有8KB Flash程序儲存器、496字節(jié)的SRAM、1路8位定時器T8N、3路8位PWM時基定時器T8P1/T8P2/T8P3、1路16位門控定時器T16G、10位模擬數(shù)字轉(zhuǎn)換器ADC、液晶顯示控制器LCDC、41根I/O口線以及1個全雙工異步串行口和1路IIC總線主控器IICM等。
HR7P194單片機控制模塊最小工作系統(tǒng)電路如圖1所示。
2.3 語音識別模塊
以LD3320為核心的語音識別技術(shù)有語音識別和聲音控制方面的優(yōu)勢,其優(yōu)點是在不需要存儲器及模數(shù)轉(zhuǎn)換器的情況下,由HR7P194進行獨立控制;此外LD3320是一款自定義關(guān)鍵詞進行識別的芯片,用戶語音操作便捷。
2.4 液晶顯示系統(tǒng)
相較于其他顯示方式液晶顯示具有顯示便捷、功耗小、使用壽命長的優(yōu)勢[4],基于液晶顯示的優(yōu)點文章采用LCD128*64液晶顯示屏。LCD128*64這種通用模塊其優(yōu)點主要在能夠顯示文字、數(shù)字、字母及圖形。利用該模塊主要顯示語音識別出的命令、處理器發(fā)出的控制指令及系統(tǒng)狀態(tài),同時利用其可以顯示圖形的特點,可以模擬顯示人的聲音動態(tài)波形,科技感更強。
3 系統(tǒng)軟件設(shè)計
主程序開始先對包括單片機在內(nèi)的所有元件進行初始化[4],包括單片機控制模塊初始化、語音識別模塊初始化、液晶顯示模塊初始化、控制執(zhí)行模塊初始化。初始化之后進行語音識別,通過對LD3320讀寫芯片的控制,獲取語音命令,根據(jù)識別情況判斷是否調(diào)用相應的子程序并進行數(shù)據(jù)處理,最后控制繼電器和液晶顯示。
4 系統(tǒng)測試
系統(tǒng)硬件實驗平臺設(shè)計、組裝調(diào)試好后,通過東軟載波單片機開發(fā)工具HR10M將程序下載到HR7P194單片機中。然后分別在一個沒有噪音室內(nèi)環(huán)境中和具有一定噪音的室外環(huán)境中進行語音訓練。通過訓練后分別在兩種環(huán)境中進行測試:通過5人分別說出“開燈”“關(guān)燈”等命令來進行驗證。實驗結(jié)果為:語音識別系統(tǒng)對5種不同的聲音均可良好的識別并做出相應的動作,在外界環(huán)境良好的狀況下(無噪音的情況下),識別效率在92%以上;在具有一定噪音的室外環(huán)境中,識別效率有所降低,在85%以上。
經(jīng)過長期、多次測試結(jié)果表明:本系統(tǒng)能夠識別語音信息,識別效率高、性能穩(wěn)定,適合智能家居環(huán)境的語音交互系統(tǒng)。
5 結(jié)束語
文章所構(gòu)建基于HR7P194單片機和LD3320芯片的智能家居語音識別系統(tǒng),能夠有效地識別人的聲音,實現(xiàn)語音控制電燈開關(guān)、風扇轉(zhuǎn)速、電視及熱水器等家用電器,同時東軟載波單片機具有非常良好的穩(wěn)定性,在后期產(chǎn)品穩(wěn)定性測試中發(fā)揮重要作用。
參考文獻
[1]陳濤,高必梵,艾菊梅.語音識別技術(shù)在智能家居控制系統(tǒng)中的應用研究[J].電子質(zhì)量,2015(3):1-3.
[2]語音識別技術(shù)新熱點――語音識別專用芯片[J].世界電子元器件,2002(2):26-27.
【關(guān)鍵詞】手指靜脈識別 門禁系y 設(shè)計
1 前言
手指靜脈識別技術(shù)是一種新的生物特征識別技術(shù),依據(jù)人類手指中流動的血液可吸收特定波長光線的原理,得到手指靜脈的清晰圖像。利用這一固有的科學特征,將實現(xiàn)對獲取的影像進行分析、處理,從而得到手指靜脈的生物特征,再將得到的手指靜脈特征信息與注冊樣本的手指靜脈特征進行提取比對,從而確認身份的真實性。由于必須是具有一定血壓的活體才能采集到血管結(jié)構(gòu)特征,真正的活體生物特征;靜脈血管人人具有,適應范圍廣,據(jù)研究結(jié)果表明,只有0.01%的人識別率偏低,幾乎人人可用。
兩者的有機結(jié)合,勢必會有效提高銀行金融系統(tǒng)的安全方法等級,給人員安全管理帶來很大的便利性。
2 系統(tǒng)概述
聯(lián)網(wǎng)型門禁系統(tǒng)是最典型、功能強大的門禁管理系統(tǒng),系統(tǒng)由專用以太網(wǎng)門禁控制器、指靜脈儀、電鎖、門磁、紅外、煙感、出門按紐、網(wǎng)絡轉(zhuǎn)換器、聯(lián)動報警系統(tǒng)、管理軟件、計算機及配套設(shè)備組成,還可實現(xiàn)聲音提示、監(jiān)控聯(lián)動等功能。
智能門禁管理系統(tǒng)將指靜脈識別與電控鎖有機地結(jié)合起來,進而由指靜脈替代鑰匙,配合上位機管理軟件,聯(lián)動監(jiān)控系統(tǒng),實行智能化管理,有效地解決了傳統(tǒng)門鎖的多種不足,其拓展功能――人力資源的管理更是給人們帶來意想不到的方便。
3 系統(tǒng)工作流程
通道AB門雙門互鎖門禁點位于現(xiàn)金營業(yè)廳工作場所進出通道,兩扇門的中間是一個通道,要求雙門互鎖聯(lián)動。A門外(受保護區(qū)域外)安裝一臺HJ-300A指靜脈終端,A門內(nèi)安裝出門按鈕,B門內(nèi)安裝一臺HJ-300A指靜脈終端,B門外安裝出門按鈕。打開A門進入通道,必須把A門關(guān)好,才能打開B門通行,如果此時A門沒關(guān)閉好,便無法打開B門,防止犯罪分子尾隨等,為區(qū)域內(nèi)安全提供了更高一級的保障。門禁控制器可通過TCP/IP局域網(wǎng)或RS485網(wǎng)絡與管理工作站聯(lián)網(wǎng)。
在各分行設(shè)置加鈔間門禁點,中心網(wǎng)點可對各分行加鈔間門禁點進行監(jiān)控、遠程開門、禁止開門等操作,以及開門權(quán)限的設(shè)置等??蓪崿F(xiàn)本地“N+1確認(按指靜脈、刷卡或密碼隨意組合)開門”、本地確認中心軟件遠程開門、本地紅外等探測器聯(lián)動報警、DVR聯(lián)動控制、語音提示、遭遇脅迫時開門同時報警等等功能。
系統(tǒng)提供專門為銀行門禁設(shè)計的CHD802D1CP銀行加鈔間門禁控制器,該控制器可實現(xiàn)多人權(quán)限開門功能,即需要多個按指靜脈及密碼且均為合法才能開門,該開門方式更適于銀行高安全區(qū)域的管理方式,開門時必須有多名員工或多名員工以及一名高級管理人員同時在場,防止了銀行內(nèi)部個別人員利用職務之便進行犯罪行為。
門外安裝指靜脈識別儀(讀卡器)、門上安裝電控鎖、門內(nèi)安裝出門按鈕,門內(nèi)門外均在門的上方合適位置安裝揚聲器,控制器與語音驅(qū)動板、電源等設(shè)備則放置于一專用鐵盒內(nèi)安裝于門內(nèi)墻上或隱蔽處。
4 系統(tǒng)手指靜脈識別終端參數(shù)表
作為銀行門禁系統(tǒng)中的重要組成部分,我們設(shè)計的手指靜脈識別終端的參數(shù)如表1所示。
5 結(jié)論
本設(shè)計方案很好的融合了最新的生物特征識別技術(shù)與金融安防系統(tǒng),有效的提高了安全防范級別,為諸如金庫、監(jiān)獄等重要機構(gòu)提供了參考依據(jù)。
參考文獻
[1]KONO M,UEKI H,UMEMURA S I.A flew method for the identification of individuals by using of vein pattern matching of a finger[C]Fifteenth Symposium on Pattern Measurement,2014:9-12.
[2]管風旭.王科俊.基于自動調(diào)光功能的手指靜脈圖像采集系統(tǒng)[J].電子技術(shù)應用,2013,36(10):120-123
關(guān)鍵詞 機器人 語音識別 聲學模型 語音特征參數(shù)
中圖分類號:TP242 文獻標識碼:A
1語音識別技術(shù)的研究意義
人們使用的聲音語言是一種人在特定高度思維和意識活動下的產(chǎn)品。語言是人類最直接以及最理想的交流方式,也是人機通信是最方便的方式。在機器人發(fā)展的高級發(fā)展階段中,機器人的智能語音識別與人類的活動是密切相關(guān)的,有聲語言的人機交互信息成為重要的手段。例如,語音識別獲取外界信息很自然,沒有特殊的訓練方法,隨著機器人技術(shù)的發(fā)展和廣泛應用,有越來越多的機會來接觸人類和機器人,所以人們希望通過語音識別和機器人去處理,不管誰能能準確安全,方便地操縱機器人。機器人和人類之間的信息交互,表現(xiàn)在兩個方面,一是對更高層次的機器人操作,方便軟件的設(shè)計開發(fā),這種多為教學機器人,另一種是在實際操作的要求下完成信息交互任務的機器人。智能機器人作為機器人技術(shù)發(fā)展的高級階段,其發(fā)展趨勢是:不僅要求機器人具有高度的自治能力,還要使機器人和人類之間的協(xié)調(diào)也具有一定的智能性。這就要求機器人具有不同的高性能主動做事能力,而不是被動地接受任務,為了實現(xiàn)這一目標,自然語言作為人機信息交換將發(fā)揮越來越重要的作用。目前,智能機器人已成為機器人研究領(lǐng)域的一個熱點。工業(yè)機器人是智能機器人的一個重要研究領(lǐng)域。當今,工業(yè)機器人的發(fā)展方興未艾,巨大的市場潛力,使真正的工業(yè)機器人的已經(jīng)在市場上嶄露頭角,以滿足人們?nèi)找嬖鲩L的需求,我們不能沒有一個高性能的語音識別系統(tǒng)。由于工業(yè)機器人是面向生產(chǎn)實際的需要,最好的工作方式是讓機器人能顧聽懂最常見的人類語言,完成指定的工作,并能與人交流。機器人語音識別是機器人研究領(lǐng)域中的語音識別應用,最終的目標是讓機器人了解人們的口頭語言,然后按照人們的命令來行動或反應,從而形成一個良好的人機對話系統(tǒng)。為了能夠進一步推動智能機器人的開發(fā)應用,因此,在語音識別機器人的研究領(lǐng)域中,機器人語音識別系統(tǒng)是工業(yè)機器人的實際推廣應用,具有重要的意義。
語音識別技術(shù)在智能機器人中的應用已經(jīng)有很多年的歷史,作為智能機器人的一個分支,工業(yè)機器人得到了迅速發(fā)展,工業(yè)機器人通過語音識別從工業(yè)噪聲中提取有效的語音命令。為了實現(xiàn)機器人在一些特殊工業(yè)環(huán)境中工作的目的,機器人要能夠識別命令意圖。語音識別技術(shù),可以實現(xiàn)人機對話,從而讓機器能模仿人類完成所有工作的分配,使其在各行各業(yè)中能夠得以應用。目前所面臨的實際問題是:噪聲和干擾環(huán)境下對大型工業(yè)機器人的語音識別有嚴重的影響。在機器人識別領(lǐng)域,工業(yè)環(huán)境中的實時性是一個非常重要的任務。機器人在工業(yè)環(huán)境下應用的聽覺識別是使智能機器人發(fā)展速率低的瓶頸。
2語音識別系統(tǒng)的發(fā)展
2.1語音識別系統(tǒng)的發(fā)展方向
語音識別系統(tǒng)是基于一套應用軟件系統(tǒng)的硬件平臺和操作系統(tǒng)的一些。語音識別一般分為兩個步驟。第一步是學習或培訓。這一階段的任務是建立基本單元的聲學模型來進行識別和模型的語音語法分析等。第二步是識別或測試。根據(jù)識別系統(tǒng)的類型可以滿足一個識別方法的要求,使用語音分析的方法來分析語音特征參數(shù),并建立了比較和測量系統(tǒng)模型,根據(jù)一定的標準,鑒定結(jié)果。
語音識別系統(tǒng)的應用可分為兩個發(fā)展方向,其中一個是大詞匯連續(xù)語音識別系統(tǒng),主要應用于計算機的聽寫機,以及結(jié)合電話網(wǎng)或互聯(lián)網(wǎng)的語音信息服務系統(tǒng),這些系統(tǒng)是在計算機平臺上的一個重要發(fā)展方向。其次是應用的小型化,便攜式音頻產(chǎn)品,如無線移動電話的撥號,語音控制車載設(shè)備,智能玩具,家用電器和其他方面的應用的遠程控制,這些應用系統(tǒng)大多采用特殊的硬件系統(tǒng)來實現(xiàn),特別是語音信號處理芯片和語音識別芯片,最近幾年快速發(fā)展,為其廣泛應用創(chuàng)造了極為有利的條件。
2.2語音識別系統(tǒng)的模型與模式
語音識別系統(tǒng)的核心是聲學模型和模式分類。首先通過學習算法,訓練語音聲學模型的特點是通過學習過程來生成聲學模型,這是識別潛在的模型的前提,是最關(guān)鍵的語音識別系統(tǒng)的一部分。聲學模型的目的是提供一種有效的方法來計算特征向量的聲音序列和每個發(fā)音模板之間的距離。人的發(fā)音在每一刻發(fā)音之前和之后都會受到影響。
為了模仿自然連續(xù)的協(xié)同發(fā)音和識別不同的發(fā)音,通常需要使用復雜的聲學模型。聲學模型和語言的發(fā)音特點的設(shè)計是密切相關(guān)的。聲學模型單元大小與單詞發(fā)音,音節(jié)模式和音位語音訓練數(shù)據(jù)大小有關(guān),故要求其系統(tǒng)識別具有很大的靈活性。大詞匯量語音識別系統(tǒng),通常采用較小的單元和少量的計算,該模型只有較小的存儲容量,減少訓練數(shù)據(jù)的數(shù)量,但相應的聲音定位和分割問題就顯得更加困難,規(guī)則識別模型變得越來越復雜。通常大型模型中識別單元包括協(xié)同發(fā)音,這有利于提高系統(tǒng)的識別率,但訓練數(shù)據(jù)也相對增加。必須根據(jù)不同語言的特點來識別詞匯,詞匯量大小決定單位大小。
參考文獻
關(guān)鍵詞:孤立詞識別 免疫粒子群優(yōu)化 LBG算法 DHMM
中圖分類號:TN912.34 文獻標識碼:A 文章編號:1007-9416(2013)01-0111-03
語音識別是一項極具魅力且大有作為的新興技術(shù),其涉及語音語言學、生理心理學、信號處理及計算機科學等眾多學科。該技術(shù)的目標主要是利用人機接口來實現(xiàn)人與機器的直接對話,并能夠使機器根據(jù)人的語音執(zhí)行各種相應的命令。作為語音識別的一個分支,孤立詞語音識別已廣泛應用于移動通信中的查詢和語音撥號、汽車導航中的語音控制、語音檢索等[1][2],具有重要的理論研究意義和實際應用價值。
然而,很多應用產(chǎn)品的效果仍不夠理想,如識別率低、語音庫詞匯量少、識別速度慢等都嚴重制約著語音識別技術(shù)在生產(chǎn)生活中的推廣應用。目前,語音識別中運用較多的是隱馬爾科夫模型(HMM)、矢量量化(VQ)、動態(tài)時間規(guī)整(DTW)、人工神經(jīng)網(wǎng)絡(ANN)以及支持向量機(SVM)等方法[3]。其中,HMM和VQ在孤立詞語音識別中應用較為成功。
在HMM的孤立詞識別系統(tǒng)中,首先是提取用于訓練的語音特征矢量,然后對其進行矢量量化。矢量量化中,用LBG算法訓練得出矢量量化器,再用矢量量化器量化訓練參數(shù)。最后,訓練參數(shù)進入HMM語音識別系統(tǒng)中進行訓練識別。但是,經(jīng)典的LBG算法對初始碼書的選取較為敏感,易陷入局部最優(yōu)[4]。因此,本文運用免疫粒子群優(yōu)化(IPSO)算法改進LBG初始碼書設(shè)計,并通過HMM語音識別系統(tǒng)進行實驗測試。實驗結(jié)果證明,該方法極大的提高了系統(tǒng)的識別率,具有一定的可行性。
1 DHMM孤立詞語音識別方法
隱馬爾可夫模型作為一種語音信號處理中廣泛運用的統(tǒng)計模型,可實現(xiàn)雙重隨機過程[5],既可以描述直接觀測到的信號瞬態(tài)特征,又可以描述隱含在觀測序列中的動態(tài)特征。HMM分為離散HMM(DHMM)、半連續(xù)HMM(SCHMM)和連續(xù)HMM(CHMM)三種[6]。本文中側(cè)重孤立詞語音識別研究,鑒于DHMM輸出離散分布概率,實現(xiàn)時所需的計算量以及存儲量都較小,因此選用DHMM模型(圖1)。
DHMM語音識別的系統(tǒng)框圖如圖1所示。假設(shè)為一個觀察序列,為HMM參數(shù)組,DHMM語音識別過程需要進行如下三步:(1)給定模型的條件下,計算得出觀測序列的概率;(2)選擇一個最優(yōu)的狀態(tài)序列來表達觀測序列;(3)通過調(diào)整模型參數(shù),以使最大。
在DHMM孤立詞語音識別中,要計算觀測序列對模型的概率,可以使用Baum-Welch算法和Viterbi算法[7]。Baum-Welch算法用于計算所有可能狀態(tài)序列所對應概率,Viterbi算法用于計算最大似然狀態(tài)序列對應的概率。它們均是動態(tài)匹配過程,計算觀測序列與模型之間的最佳匹配,兩種算法具有幾乎相同的計算量。但是Viterbi算法能將浮點乘法轉(zhuǎn)為定點加法,還能將概率對數(shù)化,從而能夠提高識別的速度。本文的DHMM的語音識別系統(tǒng)采用Viterbi算法來進行識別。
2 免疫粒子群優(yōu)化(IPSO)算法
Kennedy和Eberhart通過研究鳥群捕食行為,在1995開發(fā)了一種仿生進化算法——粒子群優(yōu)化(PSO)算法[8]。PSO算法和其他優(yōu)化算法相似,運用群體進化的方式,假設(shè)單個粒子無體積無重量,以一定速度在搜索空間中飛行。根據(jù)自身及群體的飛行經(jīng)驗,空間中的粒子不斷調(diào)整自身的飛行速度,通過調(diào)節(jié)并改變飛行方向和距離,在空間中根據(jù)最優(yōu)粒子的位置進行搜索,經(jīng)過不斷迭代獲得最優(yōu)解。
在PSO算法中,假設(shè)一個D維搜索空間,群體由N個粒子組成。在聚類過程中,先對這群粒子隨機初始化。在迭代過程中,通過跟蹤個體最優(yōu)值和全局最優(yōu)值的變化,每個粒子不斷更新自己的位置及速度。設(shè)第個粒子的速度為,第個粒子的位置為,則粒子優(yōu)化計算如下式:
(1)
(2)
式中,、是對應的學習因子,取值通常為2,和取[0,1]間的隨機數(shù),代表慣性權(quán)重,其取值將影響算法的收斂性,取值太大會導致算法不收斂,因此權(quán)重大小的選擇很重要。
設(shè)第個粒子為最優(yōu)位置,在求解最小化問題時,目標函數(shù)值越小,則適應度就越好,則個體最優(yōu)值:
(3)
設(shè)目標函數(shù)為,為所有粒子搜索到的位置最優(yōu)值,則有全局最優(yōu)值:
(4)
式中,、、和分別表示第次迭代過程中,粒子在第維的速度、位置、個體最優(yōu)位置和整個種群的全局最優(yōu)位置。在進化的過程中,為了避免粒子飛出搜索空間外,通常取值為,取值為,則將有,。
PSO雖然算法簡單,實現(xiàn)容易,但仍存在一定缺陷。PSO算法的各種參數(shù)值往往是通過經(jīng)驗來確定,其很難保證種群的多樣性,算法容易陷入早熟。因此,本文設(shè)計了免疫粒子群算法(IPSO)。通過將免疫記憶、免疫調(diào)節(jié)及接種疫苗等處理機制[9]運用到PSO算法中,每個粒子都作為一個抗體,使算法有了全局收斂能力,避免陷入早熟,提高了粒子群的多樣性和收斂速度。
在本文中,將每次迭代生成的最優(yōu)粒子作為記憶細胞保存起來,當部分粒子適應度較低,不合要求時用記憶細胞來代替,從而加快搜索速度。在粒子群更新的過程中,本文利用免疫系統(tǒng)的調(diào)節(jié)作用,當抗體(即粒子)的濃度增高時,系統(tǒng)對其進行抑制的作用就增大,選擇的概率就減??;反之,選擇的概率增大。這樣就可保證粒子具有多樣性。
通過下式可計算第個粒子的濃度為:
(5)
通過式(5)可計算第個粒子濃度的選擇概率為:
(6)
其中,表示第個粒子的適應度函數(shù)值。從公式(6)可以看出,與粒子相似的粒子數(shù)量越多,粒子被選擇的概率就越??;反之,粒子被選擇的概率就越大。
3 基于IPSO算法的碼書設(shè)計
3.1 參數(shù)設(shè)計
LBG算法是經(jīng)典的碼書設(shè)計方法[10],但LBG中初始碼書的好壞對碼書收斂的速度和最終碼書的性能都會產(chǎn)生很大的影響。因此,本文充分利用IPSO算法的全局搜索性能,將每個粒子看作一個碼書,經(jīng)過聚類、迭代得出最優(yōu)解,然后將最優(yōu)解作為初始碼書,再用LBG算法優(yōu)化得到最優(yōu)碼書。
本文所用免疫粒子群改進LBG算法中參數(shù)的設(shè)計為:粒子群規(guī)模;新增粒子數(shù);粒子維數(shù);最大迭代計算次數(shù);學習因子;慣性權(quán)重及適應度函數(shù)分別通過公式(7)及公式(8)進行計算。
(7)
式中,為慣性因子最大值,取值為1.0,為慣性因子最小值,取值為0.4,為迭代次數(shù),為最大迭代代數(shù)。
(8)
其中,表示第個聚類中心,為屬于第個聚類中心的數(shù)據(jù)集合,為聚類類別數(shù)。適應度越小,說明聚類越緊湊,碼書性能越好。
3.2 碼書設(shè)計
基于IPSO的碼書設(shè)計算法的具體步驟為:
步驟1:種群初始化。隨機地從語音庫訓練矢量集中選取D個矢量作為一個粒子(即碼書),矢量的維數(shù)為,反復進行N次得到N個粒子,初始化粒子的速度,位置。
步驟2:計算各個粒子的適應度值,對個體最優(yōu)值和全局最優(yōu)值進行更新,將作為免疫記憶粒子保存。
步驟3:根據(jù)公式(1),(2)對粒子當前速度和所在位置進行進化計算。
步驟4:隨機產(chǎn)生個粒子,形成新的粒子群。
步驟5:對N+M個粒子的濃度選擇概率通過公式(6)進行計算,將概率大的個粒子選出,進入下一代。
步驟6:選取為疫苗,隨機確定一段基因,將步驟5中選出的粒子與疫苗對應的基因進行替換。
步驟7:計算被替換粒子的適應度值,與父代進行比較,若不如父代,則取消接種,反之保留該粒子,形成新的粒子群。
步驟8:對每一個粒子(即碼書)按照最近鄰法則,重新確定聚類劃分,計算出新的聚類中心,形成新碼書。
步驟9:當計算達到最大迭代次數(shù)就結(jié)束,否則,跳轉(zhuǎn)至步驟2后重復進行。
4 實驗仿真分析
4.1 實驗建立
孤立詞語音識別仿真實驗需要語音特征提取、矢量量化、模型訓練及識別測試4步:
首先,分幀提取待訓練和識別的語音信號特征參數(shù),每幀為一個矢量,構(gòu)成矢量序列。本文采用過零峰值幅度(ZCPA)語音特征,形成1024維特征矢量。
其次,對高數(shù)據(jù)率矢量序列進行矢量量化。本文通過IPSO改進LBG算法來形成矢量量化器,將訓練數(shù)據(jù)庫中10人在不同噪聲、不同詞匯量下的語音特征矢量量化形成相應碼書。
第三,將上步得到的碼書輸入到DHMM模型的孤立詞語音識別系統(tǒng)中,采用5狀態(tài)單詞模型,27個樣本訓練一個單詞,將每個單詞運用Baum-Welch算法訓練成一個模板。
第四,運用矢量量化器對待測試的8個人在不同噪聲、不同詞匯量下形成的數(shù)據(jù)進行矢量量化,形成測試碼書。然后用Viterbi算法得到測試語音數(shù)據(jù)與上步形成的模板所匹配的概率,最大概率值極為識別結(jié)果。
4.2 仿真分析
本文通過C++語言編程,在PC機上建立基于過零峰值幅度語音特征的IPSO-LBG改進DHMM的孤立詞識別系統(tǒng)。實驗中選用在不同高斯白噪聲條件下(包含15dB、20dB、25dB、30dB和無噪音),18個人都分別采集10詞、20詞、30詞、40詞、50詞,每人每個詞發(fā)音三次,形成實驗語音數(shù)據(jù),其中10人的語音數(shù)據(jù)作為訓練數(shù)據(jù)庫,另外8個人的語音數(shù)據(jù)作為識別數(shù)據(jù)庫。這樣,通過PC機編程仿真,得到了不同噪聲和詞匯量下的基于免疫粒子群優(yōu)化LBG算法的DHMM語音識別結(jié)果。
表1所示為在不同詞匯量和不同SNR下,分別基于LBG算法和IPSO-LBG算法的DHMM在語音識別實驗中的識別結(jié)果。從表中可以看出,基于IPSO-LBG算法的識別率在不同詞匯量和不同信噪比下都比基于LBG的高,正確識別的詞匯量也增多,這說明IPSO-LBG算法跳出了局部最優(yōu)值,提高了系統(tǒng)的識別性能,尤其在大詞匯量的語音識別中表現(xiàn)出更加明顯的優(yōu)勢。
(圖2)和(圖3)分別是基于LBG、IPSO-LBG兩種算法的DHMM語音識別系統(tǒng)在不同詞匯量下的平均識別率柱狀圖和在不同信噪比下平均識別率的柱狀圖。從兩圖中可以看出,在不同詞匯量下識別率都有所提高,且隨著詞匯量的增多,識別率的提高也加快。在不同的信噪比條件下,識別率的提高速度差不多,在無噪聲的情況下識別率最好,系統(tǒng)的抗噪性能還有待提高。總體上驗證了基于IPSO-LBG算法的語音識別系統(tǒng)的有效性。
5 結(jié)語
本文將免疫粒子群算法運用到碼書設(shè)計中,設(shè)計了IPSO-LBG算法,并將IPSO-LBG算法用于DHMM孤立詞語音識別系統(tǒng)中,并給出了實驗的結(jié)果及分析。通過與基于傳統(tǒng)LBG算法的DHMM孤立詞語音識別系統(tǒng)相比,證明了IPSO優(yōu)化的識別系統(tǒng)有較好的識別率,對今后孤立詞語音識別研究具有重要的借鑒作用。
參考文獻
[1]袁里馳.基于改進的隱馬爾科夫模型的語音識別方法[J].中南大學學報(自然科學版),2008,06:1303-1308.
[2]M. Benzeghiba, R. De Mori, O. Deroo, S. Dupont. Automatic speech recognition and speech variability: A review[J].Speech Communication,2007,49(10):763–786.
[3]任杰.語音識別技術(shù)概述[J].大眾科技,2010,08:21.
[4]王社國,魏艷娜.基于遺傳算法的VQ碼本設(shè)計及語音識別[J].計算機工程與應用,2007,17:71-73.
[5]A-V.I. Rosti, M.J.F. Gales. Factor analyzed hidden Markov models for speech recognition[J].Computer Speech and Language,2004,18(2):181-200.
[6]高清倫,譚月輝,王嘉禎.基于離散隱馬爾科夫模型的語音識別技術(shù)[J].河北省科學院學報,2007,02:8-11.
[7]于倩,李春利.自適應矢量量化在語音識別中的應用[J].現(xiàn)代電子技術(shù),2007,06:128-130.
[8]陳立偉,宋憲晨,章東升,楊洪利.一種基于優(yōu)化小波神經(jīng)網(wǎng)絡的語音識別[J].應用科技,2008,02:17-20.
關(guān)鍵詞:嵌入式系統(tǒng);語音識別;隱馬爾可夫;智能家居
中圖分類號:TP316.9
文獻標識碼:A
DOI:10.3969/j.issn.1003-6970.2015.07.021
0 引言
隨著計算機的發(fā)展,智能家居在近幾年也得到了大家的重視,智能家居利用各種通信、網(wǎng)絡技術(shù)實現(xiàn)家居設(shè)備集成,為用戶提供了更加舒適高效的環(huán)境。近幾年人們對智能家居的便利程度提出了更高的要求,同時語音識別技術(shù)也進一步的發(fā)展,但是語音在智能家居中的應用還是相對較少,一般還要依靠遙控、手機等中控設(shè)備。語言是信息交流的重要手段,語音識別可以用聲音來控制設(shè)備完成一些特定的命令,減少用戶如手機,遙控等中控設(shè)備的依賴,使生活更加方便。
本文通過對語音識別技術(shù)與嵌入式控制技術(shù)的研究,用語音命令實現(xiàn)直接管控從而可以取代以往利用手機或者遙控方式來控制的方法,方便操作而又能提高效率。本系統(tǒng)基于NL6621板與語音芯片VS1003實現(xiàn)語音采集,并采用當今語音識別領(lǐng)域的主流技術(shù)一一隱馬爾科夫模型(Hidden Markov Model,HMM)算法實現(xiàn)對人語音命令的識別主要是進行模型訓練和匹配。實驗證明在多個語音樣本對系統(tǒng)的訓練識別下,系統(tǒng)在非特定人、孤立詞語識別上具有良好的效果。
1 語音識別與智能家居
1.1 語音識別技術(shù)
語音識別技術(shù)本質(zhì)上是一種模式匹配識別的過程,是機器通過識別和理解過程把語音信號轉(zhuǎn)變成相應的文本文件或命令的技術(shù)。根據(jù)模式匹配過程語音識別系統(tǒng)可以如下圖表示。語音識別系統(tǒng)可以分為:特定人和非特定人的識別、獨立詞和連續(xù)詞的識別等,無論哪種識別系統(tǒng)識別過程都主要包括了語音信號預處理、特征提取、訓練等。分別通過對信號的預處理分析和計算建立模板,當對語音進行識別時,需要將輸入的語音與系統(tǒng)中存放的語音進行比較從而得到識別結(jié)果。
1.2 語音識別算法
人的言語過程是一個雙重隨機過程。因為語音信號本身是一個可觀察的序列,而它又是由大腦里的不可觀察的、根據(jù)言語需要和語法知識狀態(tài)選擇所發(fā)出的音素(詞、句)的參數(shù)流,大量實驗表明,隱馬爾可夫模型(HMM)的確可以非常精確地描述語音信號的產(chǎn)生過程。隱馬爾可夫模型是對語音信號的時間序列結(jié)構(gòu)建立統(tǒng)計模型,將之看作一個數(shù)學上的雙重隨機過程,采用HMM進行語音識別,實質(zhì)上是一種概率運算,根據(jù)訓練集數(shù)據(jù)計算得出模型參數(shù)后,測試集數(shù)據(jù)只需分別計算各模型的條件概率(Viterbi算法),取此概率最大者即為識別結(jié)果。一階離散馬爾可夫模型可表示為:有N個狀態(tài),Sl,S2... SN,存在一個離散的時間序列t=0,t=1…在每個時刻t,系統(tǒng)只能處于唯一一個狀態(tài)qt,下一個時刻所處的狀態(tài)是隨機出現(xiàn)的,當前狀態(tài)qt只與前面相鄰的一個狀態(tài)qt-l有關(guān), 與其他狀態(tài)無關(guān),用表達式
HMM語音識別的一般過程:
1.前向后向算法計算
已知觀測序列 和模型 ,如何有效的計算在給定模型條件下產(chǎn)生觀測序列O的概率
2.Baum-Welch算法求出最優(yōu)解 :
(1)初始化
(2)迭代計算
(3)最后計算
3.Viterbi算法解出最佳狀態(tài)轉(zhuǎn)移序列:
已知觀測序列 和模型 ,如何選擇在某種意義上最佳的狀態(tài)序列。
(1)初始化
(2)迭代計算:
4.根據(jù)最佳狀態(tài)序列對應的九給出候選音節(jié)或聲韻母
5.通過語言模型形成詞和句子
2 基于NL6621嵌入式硬件設(shè)計
語音識別的硬件平臺主要包括中央處理器NL6621,可讀寫存儲器,聲卡芯片vs1003以及一些設(shè)備,硬件體系結(jié)構(gòu)如圖2所示。
主系統(tǒng)使用新岸線公司的NL6621。MCU采用的最高主頻為160MHz,支持802.llb/g/n/i/e/p和Wi-Fidirect,BSS STA,軟AP,WiFi保護設(shè)置以及WMM-PS和WPA/WPA2安全協(xié)議。codec芯片是vs1003,它與核心控制器NL6621的數(shù)據(jù)通信是通過SPI總線方式進行的。它集成了麥克風輸入接口,音頻輸出接口,對話筒輸入或者線路輸入進行IMA ADPCM編碼,能有效的接受和播放音頻信息。
硬件電路實現(xiàn):VS1003通過xCS、xDCS引腳的置高或低來確認是哪一個接口處于傳送狀態(tài)。通過串行命令接口(SCI)和串行數(shù)據(jù)接口(SDI)來接收NL6621的控制命令和數(shù)據(jù),通過SCI HDAT1來獲取語音流;VS1003的功能控制,如初始化、軟復位、暫停、音量控制、播放時間的讀取等,均是通過SCI口寫入特定寄存器實現(xiàn)的。兩條SCI指令之間要通過DREQ引腳信號判斷上一次處理是否完成。
3 基于NL6621嵌入式軟件設(shè)計
軟件設(shè)計主要包括兩部分實現(xiàn)軟件控制嵌入式系統(tǒng)和基于HMM技術(shù)的語音識別算法編寫,基本的軟件架構(gòu)如圖3所示。
針對嵌入式系統(tǒng)控制部分,包括硬件初始化以及采集音頻信號。主要是使用NL6621提供的軟件開發(fā)包,利用SDK編寫應用程序,包括硬件管腳初始化,波特率匹配,錄音文件配置,WiFi配置,錄音,音頻文件格式轉(zhuǎn)化、程序編寫完成后需要用燒寫工具進行燒寫。系統(tǒng)啟動后,先初始化硬件模塊。然后系統(tǒng)開始工作,通過語音輸入設(shè)備MIC采集語音,并通過聲卡VS1003輸入語音。當系統(tǒng)監(jiān)聽到語音輸入,開始語音識別,判斷識別是否正確,若正確,將命令發(fā)送給執(zhí)行設(shè)備,入耳不正確,給出相應
的錯誤提示,不執(zhí)行語音命令。判斷識別是否結(jié)束,如果結(jié)束則退出,否則繼續(xù)下一輪的識別。基于HMM技術(shù)的語音識別算法編寫,還包括了語音預處理,特征值提取和匹配識別的部分。主要的原理如圖4所示,輸入語音經(jīng)過預處理后,語音信號的特征被提取出來,首先在此基礎(chǔ)上建立所需的模板,這個建立模板的過程稱為訓練過程。根據(jù)語音識別整體模型,將輸入的語音信號特征與存在的語音模板(參考模式)進行比較,找出一系列最優(yōu)的與輸入的語音相匹配的模板。然后,根據(jù)此模板號的定義,通過查表就可以給出計算機的識別結(jié)果。采用HMM進行語音識別,實質(zhì)上是一種概率運算。根據(jù)訓練集數(shù)據(jù)計算得出模型參數(shù)后,測試集數(shù)據(jù)只需分別計算各模型的條件概率(Viterbi算法),取此概率最大者即為識別結(jié)果。除訓練時需運算量較大外,識別時的運算量僅有模式匹配法的幾分之一。
[關(guān)鍵詞]語音識別;頻譜歸一化;三音素;狀態(tài)綁定;
[中圖分類號]G71 [文獻標識碼]A [文章編號]1672-5158(2013)06-0325-02
目前,現(xiàn)已發(fā)行的HTK穩(wěn)定版是3.4。本系統(tǒng)即是在其基礎(chǔ)上來搭建??梢苑奖阌行У慕⒓安僮鱄MM。HMM已經(jīng)被廣泛地應用在了諸多的科研領(lǐng)域,比如AI(Artificial Intelligence,人工智能)和生物工程,HTK也主要針對智能語音技術(shù)的應用及研究而設(shè)計。
本系統(tǒng)是針對所有的中文詞匯能夠做識別,這種識別過程是基于三音素(Triphone)的自動拼接過程,因此,我們設(shè)計了一個詞庫,包含403個中文詞匯,覆蓋了所有的聲韻拼接,并且我們借助HTK的輔助錄音工具來采集足夠的語音數(shù)據(jù)用于模型訓練。此外,為能夠使得識別系統(tǒng)能夠針對不同的采樣率做識別,又特別加入了一種采用率下采樣(Downsampling)自動轉(zhuǎn)換機制,以使得系統(tǒng)能夠針對待識別語音做采用率自動轉(zhuǎn)換識別的功能。
1 聲韻母基元
1.1 模型基元定義
模型識別基元的選擇對于語音識別率以及訓練數(shù)據(jù)量的大小都有較大的影響。音素(Phoneme)、聲韻母(Initial/Final)、音節(jié)(Syllable)、整詞(Word)都是中文語音識別中常用到的建模單元,漢語中有409個無調(diào)音節(jié)和1300多個有調(diào)音節(jié)。
采用聲韻母建立聲學模型是相對比較合適的,特別說明本文中使用的問題集是基于語音學知識的?;谝羲兀≒honeme)的語音識別已經(jīng)被廣泛地應用在英文識別中并且取得了很好的識別性能。本文所采用的基元集是由37個韻母,24個聲母和1個靜音模型共同組成,參見(表1):
2 基于Triphones模型的自動拼詞識別機制實現(xiàn)
2.1 原理介紹
首先解碼原始音頻數(shù)據(jù)進行識別,得到初步的單音素以及前后階音素的關(guān)系,然后依據(jù)得到的這種上下文依賴關(guān)系,查找其對應的映射文件,進而確定相應的三音素模型。再根據(jù)這種聲韻拼接信息,通過查找Triphone模型的上下文相關(guān)模型映射文件生成了最終的全詞匹配結(jié)果。
2.2 實現(xiàn)過程
該模塊旨在實現(xiàn)待識別詞匯表的自動更新識別功能。整個識別過程是不需要重新訓練的。之前已經(jīng)完成了漢字轉(zhuǎn)拼音的轉(zhuǎn)換程序,在此基礎(chǔ)之上又進—步實現(xiàn)了系統(tǒng)自動拼詞的機制。其目的在于允許用戶傳送詞匯表(并不在訓練集當中),自動做拼接識別。
處理結(jié)束后,還要調(diào)用自動映射處理模塊將用戶傳過來的新詞匯表映射到已存在的詞表當中,并相應的標出漢語,以便于在反饋用戶結(jié)果的時候?qū)⑵匆魧臐h語一并反饋給用戶(圖1)。
3 HTK上實現(xiàn)Downsampling自動轉(zhuǎn)換機制
3.1 原理介紹
通過修改功能模塊,我們將SSRC自動采樣率的轉(zhuǎn)換功能嵌套在HTK當中,實現(xiàn)了下采樣的自動轉(zhuǎn)換功能,前端采樣自動檢測準確與否,直接影響到語音識別系統(tǒng)的識別性能。
3.2 實現(xiàn)方法
該模塊提供一種采樣速率自動轉(zhuǎn)換機制,用于提高最終的語音識別率。首先,我們需要引入一個新的開源工具包SSRC,其功能是實現(xiàn)采樣率的自動轉(zhuǎn)換。通過做SSRC使測試語音與訓練時語音采樣速率保持一致,也是優(yōu)化識別系統(tǒng)整體識別性能的一種方法,進一步減少因為采樣率不一致而導致的誤識率(圖2)。
整體的采樣率自動轉(zhuǎn)換功能模塊參照下面步驟運行:
對從客戶端采集到的聲音文件進行初步的判斷,采樣率是否滿足系統(tǒng)的要求,如果上圖第一次判斷走了“NO”分支,要接著進行SSRC的采樣率自動轉(zhuǎn)換,統(tǒng)一將從客戶端采集到的聲音文件的采樣率標準化;然后,抽取相應的Mel頻譜參數(shù)(MFCC),再將特征參數(shù)傳人識別系統(tǒng)的核心模塊Recognizer,得到識別結(jié)果。
4 實驗結(jié)果
本實驗采用的訓練數(shù)據(jù)是由12個人借助HTK錄音工具共同錄制的包含4200個詞條的語音庫。測試數(shù)據(jù)集是由三個人采用平板電腦錄制的30個連續(xù)發(fā)音詞條(每人10條)。然后又通過CoolEdit工具[9]將其手工切分為彼此分離開來的詞條,即每一個單獨的詞匯保存與一個獨立的WAV文件中,然后對所有這些WAV片段做識別(表2)。
由上面結(jié)果容易看出,CMN可以大大提升識別系統(tǒng)的識別性能。倒譜均值歸一化算法(CMN)對于語音識別系統(tǒng)抗噪聲性能的提高十分有效。接下來,我們將測試語音經(jīng)過SSRC做采樣率自動轉(zhuǎn)換,都同一轉(zhuǎn)換為16KHz,然后將錄音測試詞(2/3)加入訓練集。剩余1/3做集外測試,并重估參數(shù),得出的實驗結(jié)果如(表3):
①在未將測試詞加入訓練集,并作CMN,SSRC:識別結(jié)果18/28=68%
②將測試詞加入訓練集,并作CMN,SSRC處理:識別結(jié)果20/28=71%
③將測試詞加入訓練集,并作CMN處理,采樣率按照初始(44100HZ),未作SSRc處理:識別結(jié)果很低,基本不能識別。另外,以上是針對原始音頻格式wAV所做的識別結(jié)果。而對于3GPP音頻文件的識別結(jié)果準確度卻比較低(圖4):
由以上實驗結(jié)果可以看出,本識別系統(tǒng)對于3gpp格式的媒體文件尚不能夠有很好的識別率,因此,綜上所述本系統(tǒng)目前對3GPP格式的識別相對較低(39%),而對WAV格式的音頻支持相對較好(71%)。