當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Windows CE的語音口令識別系統(tǒng)的設(shè)計

摘要:論文給出一種基于嵌入式系統(tǒng)的語音口令識別系統(tǒng)的設(shè)計方案,該系統(tǒng)的硬件電路由嵌入式微處理器和音頻處理等主要芯片組成,采用Windows CE操作系統(tǒng),語音口令識別算法為連續(xù)隱馬爾可夫模型。實驗結(jié)果表明,隨著嵌入式微處理器性能的不斷提高和價格的不斷下降,對運算量要求比較高的語音口令識別技術(shù)就可以通過嵌入式系統(tǒng)來實現(xiàn),并且應(yīng)用到許多需要使用口令控制的便攜式設(shè)備中。
關(guān)鍵詞:語音口令識別;嵌入式系統(tǒng);隱馬爾可夫模型;Windows CE

0 引言
    隨著微電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)在一些特定的專用設(shè)備上得到了廣泛應(yīng)用,通常這些設(shè)備的硬件資源(如處理器的運行速度、存儲器的容量等)非常有限,并且對成本也有苛刻的要求,有時對實時響應(yīng)要求也比較高,在數(shù)字信號處理芯片上已經(jīng)實現(xiàn)了語音口令識別系統(tǒng)或語音口令識別系統(tǒng)的部分功能。語音口令識別技術(shù)與嵌入式系統(tǒng)的有效結(jié)合能夠顯示出其優(yōu)勢作用,但是也有很多有待進一步提高和改進之處,語音識別技術(shù)對運算速度和內(nèi)存容量的要求都比較高,需要采用一些快速算法提高實時處理的性能。嵌入式微處理器的價格在不斷下降,但是其性能卻在不斷上升,嵌入式系統(tǒng)目前已經(jīng)廣泛地應(yīng)用于運算量比較大的系統(tǒng)和設(shè)備中,而其體積小和低功耗的特點使其能夠發(fā)揮出更大的優(yōu)勢。
    論文給出一種基于嵌入式系統(tǒng)的語音口令識別系統(tǒng)的設(shè)計方案,硬件系統(tǒng)的核心芯片是嵌入式微處理器,語音口令識別算法采用連續(xù)隱馬爾可夫模型,現(xiàn)有的非特定人語音口令識別系統(tǒng)中,多采用狀態(tài)輸出具有連續(xù)概率分布的連續(xù)隱馬爾可夫模型CDHMM(Continuous Density
Hidden Markov Model)。操作系統(tǒng)則是采用的目前廣泛使用的WindowsCE 5.O。
    硬件電路的核心芯片是三星公司的嵌入式微處理器S3C2440AL,主頻為400MHz。該微處理器具有低功耗、高性能等特點,廣泛應(yīng)用于便攜式設(shè)備中?;谇度胧较到y(tǒng)的語音口令識別系統(tǒng)需要有接收語音信號的輸入芯片配合麥克風(fēng)實現(xiàn)將模擬語音信號轉(zhuǎn)換成數(shù)字信號的功能,然
后由嵌入式微處理器對輸入的語音口令信號進行處理。完成語音口令信號輸入功能的芯片采用的是PHILIPS公司的低功耗芯片UDA1341TS。操作系統(tǒng)采用的是Windows CE5.0。Windows CE 5.0是一個32位操作系統(tǒng),具有模塊化、結(jié)構(gòu)化,能夠支持超過1000個公共Microsoft Win32應(yīng)用程序接口,并且與處理器無關(guān)等特點,為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計提供了一種可裁剪的、高效的、可升級的操作系統(tǒng)。

1 系統(tǒng)設(shè)計
1.1 硬件電路的設(shè)計
    論文給出的語音口令識別系統(tǒng)的硬件電路主要由嵌入式微處理器、存儲器和語音口令輸入芯片組成。核心芯片是嵌入式微處理器Samsung 32位S3C2440AL,其主頻為400MHz,最高頻率533MHz。64MB SDRAM,64MB的NAND FLASH存儲器,用來存儲操作系統(tǒng)文件等,2MB的NOR FLASH存儲,為安裝BIOS使用。S3C2440AL控制PHILIPS公司的UDA 1341TS完成輸入語音口令信號的功能。該音頻處理芯片由AD/DA轉(zhuǎn)換、控制邏輯電路、可編程增益放大器(PGA)和數(shù)字自動增益控制器(AGC)以及數(shù)字信號處理器等部分組成,能進行數(shù)字語音處理。
    對于一個基于嵌入式系統(tǒng)的語音口令識別系統(tǒng),主要有以下幾個要求:
    (1)完成語音口令識別功能時,需要系統(tǒng)對人所發(fā)出的語音口令做出快速的響應(yīng),然后給出相應(yīng)的判斷結(jié)果。
    (2)自動獲得語音信號。語音口令識別系統(tǒng)一直處于隨時接受語音口令的工作狀態(tài),無需人工操作就能將人的語音命令與環(huán)境噪聲分離出來,舍棄靜音信號和環(huán)境噪聲信號部分,僅僅對有效的語音口令信號做處理和識別。
    (3)需要有足夠的存儲器容量存儲操作系統(tǒng)文件和訓(xùn)練好的語音口令模型庫以及存儲大量數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)。
    論文給出的語音口令識別系統(tǒng)選擇高性價比的嵌入式微處理器S3C2440AL和64MB隨機存儲器和64MB的閃存來滿足計算速度和數(shù)據(jù)緩存的要求。
1.2 軟件程序的設(shè)計
    選擇Windows CE 5.0為語音口令識別系統(tǒng)的操作系統(tǒng),Windows CE 5.0是一個多任務(wù)操作系統(tǒng)。開發(fā)工具主要有Platform Builder 5.0和EVC++4.0。Platform Builder5.0用于定制和開發(fā)內(nèi)核,而EVC++4.0則用來編寫基于操作系統(tǒng)的應(yīng)用層程序,也就是算法執(zhí)行程序與圖形化界面,而圖形化的界面使用MFC編寫。
    由于語音口令識別系統(tǒng)算法的運算量比較大,所以為了能夠加快運算速度,首先對Windows CE 5.0操作系統(tǒng)進行配置,需要將相應(yīng)的板級支持包BSP(Board SupportPackage)導(dǎo)入到Platform Builder 5.O,裁剪掉一些使用不到的資源,保留一些需要的資源,驅(qū)動的配置正確后,將配置好的操作系統(tǒng)內(nèi)核裝入到嵌入式平臺中,然后進行應(yīng)用程序的開發(fā)。
    語音口令識別系統(tǒng)分為訓(xùn)練和識別兩個過程。訓(xùn)練時,語音口令信號首先經(jīng)過預(yù)處理,然后提取語音特征參數(shù),采用MFCC(Mel-Frequen-cy Ceptral Coefficients)參數(shù),然后建立此口令的連續(xù)隱馬爾可夫(CDHMM)模型,把所有經(jīng)過訓(xùn)練的語音口令的模型放在模型庫中。
    在識別階段,與訓(xùn)練時提取語音口令信號的特征參數(shù)一樣,也要提取MFCC特征參數(shù),然后與保存在語音口令模型庫中的每一條語音口令模型相匹配,根據(jù)概率評分確定輸出識別結(jié)果。語音口令識別系統(tǒng)的程序流程圖如圖1所示。


    當語音口令識別系統(tǒng)采集到命令語音信號后,要提取參數(shù),做出比較判斷,調(diào)用相應(yīng)語音口令識別算法。對每條語音口令信號,先切除靜音,進行預(yù)加重處理,然后通過Hamming窗分幀,幀長和幀移分別為20ms和10ms,對每一幀語音信號提取16階MFCC和△MFCC一共32維參數(shù)作為特征矢量。
    語音口令識別軟件系統(tǒng)由許多不同的語音信號預(yù)處理、識別算法和其它子程序組成,為了實現(xiàn)參數(shù)的傳遞,每個程序執(zhí)行后的參數(shù)以文件的形式輸出,而這些程序的調(diào)用先后順序和參數(shù)的輸入輸出文件的位置等都由一個主程序管理。
    在Windows CE中,編寫可執(zhí)行程序,需要調(diào)用應(yīng)用程序編程接口API(Application Programming Interface)函數(shù),并且要設(shè)定程序入口點。調(diào)用過程為:
#include<windows.h>
int WINAPI_tmain(int argc,TCHAR* argv[])
{
……
}[!--empirenews.page--]
    無論是進行語音口令訓(xùn)練還是語音口令識別操作,都需要對語音口令信號的采集和實時處理程序,所以對語音口令信號的采集和實時處理程序是語音口令識別系統(tǒng)軟件中的重要部分之一。對于語音音頻接口的管理是通過Windows CE 5.0里的API函數(shù)完成的,對語音口令信號的采集和實時處理程序流程圖如圖2所示。


    主程序在配置好初始化參數(shù)后,建立一個子線程,建立子線程有利于將靜音檢測的復(fù)雜運算過程和主程序的音頻數(shù)據(jù)采集過程分開進行,以確保在靜音檢測時不會丟掉音頻數(shù)據(jù)。與此同時,主程序開始采集數(shù)據(jù),并存入到緩沖區(qū)。當預(yù)先設(shè)定好的緩沖區(qū)內(nèi)的數(shù)據(jù)采集滿
后,會將所采集的數(shù)據(jù)交給子線程,子線程做靜音檢測判斷。主程序會依然繼續(xù)重新采集新的音頻數(shù)據(jù)。對于子線程,子線程的任務(wù)是等待主程序發(fā)出命令,然后對數(shù)據(jù)做處理。如果檢測到有語音口令的開始,會繼續(xù)采集數(shù)據(jù),得到完整命令語音口令信號,提取相應(yīng)的特征參數(shù)。
    具體程序中有如下幾個主要過程:
    (1)初始化參數(shù)設(shè)置:
    (a).
FuncReturn=waveInOpen(&(Record_Buffer_Manager.hWaveIn),WAVE_MAPPER,&wFormat,(LONG)(RecordBufferFillProc),(DWORD)this, CALLBACK_FUNCTION);//首先要調(diào)用API函數(shù)打開音頻設(shè)備接口,并且設(shè)置相應(yīng)的回調(diào)(CALLBACK)函數(shù)(回調(diào)函數(shù)是操作系統(tǒng)在每次緩沖區(qū)存滿后會自動訪問的一個特殊函數(shù))
    (b).
Thread_process=AfxBeginThread((AFX_THREADPROC)RecordThreadProc, (LPVOID)this,THREAD_PRIORITY_NORMAL,0,O,0);//要為其單獨建立一個線程,為了實現(xiàn)靜音檢測,在混雜著環(huán)境噪聲的前提下,找出語音口令信號。
    (c).
FuncReturn=waveInStart(Record_Buffer_Managcr.hWaveln);//打開音頻數(shù)據(jù)流,開始錄音。(緩沖區(qū)存滿后,系統(tǒng)會自動訪問回調(diào)函數(shù))
    (2)主程序與子線程通信
SetEvent(pRecord->hRecordEvent);//發(fā)出信號,使得子線程函數(shù)得到命令,對采集到的音頻流進行靜音的檢測判斷。
    (3)在子線程內(nèi)接收消息作出反應(yīng)
WaitForSingleObject(pRecrd->hRecordEvent,INFINTTE);ResetEvent(pRecord->hRecordEvent);//與回調(diào)函數(shù)的信號發(fā)出程序?qū)?yīng),接受信號,并重新設(shè)定狀態(tài),等待下一次信號。
……
pRecord->ProcessData((SAMPLE TYPE *)pRecord->pLeftData,……);//將得到的數(shù)據(jù)段進行處理,也就是真正執(zhí)行靜音檢測的部分。
    (4)得到完整語音口令信號后提取特征參數(shù)。

2 結(jié)束語
    論文建立了一種基于Windows CE的語音口令識別系統(tǒng),并且對上升、下降等14條口令進行測試。實驗結(jié)果表明,本語音口令識別系統(tǒng)達到了實時的要求,可以廣泛應(yīng)用于便攜式設(shè)備中。
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉