www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

  0 引言

  隨著微電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)在一些特定的專用設(shè)備上得到了廣泛應(yīng)用,通常這些設(shè)備的硬件資源(如處理器的運(yùn)行速度、存儲(chǔ)器的容量等)非常有限,并且對成本也有苛刻的要求,有時(shí)對實(shí)時(shí)響應(yīng)要求也比較高,在數(shù)字信號(hào)處理芯片上已經(jīng)實(shí)現(xiàn)了語音口令識(shí)別系統(tǒng)或語音口令識(shí)別系統(tǒng)的部分功能。語音口令識(shí)別技術(shù)與嵌入式系統(tǒng)的有效結(jié)合能夠顯示出其優(yōu)勢作用,但是也有很多有待進(jìn)一步提高和改進(jìn)之處,語音識(shí)別技術(shù)對運(yùn)算速度和內(nèi)存容量的要求都比較高,需要采用一些快速算法提高實(shí)時(shí)處理的性能。嵌入式微處理器的價(jià)格在不斷下降,但是其性能卻在不斷上升,嵌入式系統(tǒng)目前已經(jīng)廣泛地應(yīng)用于運(yùn)算量比較大的系統(tǒng)和設(shè)備中,而其體積小和低功耗的特點(diǎn)使其能夠發(fā)揮出更大的優(yōu)勢。

  論文給出一種基于嵌入式系統(tǒng)的語音口令識(shí)別系統(tǒng)的設(shè)計(jì)方案,硬件系統(tǒng)的核心芯片是嵌入式微處理器,語音口令識(shí)別算法采用連續(xù)隱馬爾可夫模型,現(xiàn)有的非特定人語音口令識(shí)別系統(tǒng)中,多采用狀態(tài)輸出具有連續(xù)概率分布的連續(xù)隱馬爾可夫模型CDHMM(Continuous DensityHidden Markov Model)[3]。操作系統(tǒng)則是采用的目前廣泛使用的Windows CE 5.0。

  硬件電路的核心芯片是三星公司的嵌入式微處理器S3C2440AL,主頻為400MHz。該微處理器具有低功耗、高性能等特點(diǎn),廣泛應(yīng)用于便攜式設(shè)備中?;谇度胧较到y(tǒng)的語音口令識(shí)別系統(tǒng)需要有接收語音信號(hào)的輸入芯片配合麥克風(fēng)實(shí)現(xiàn)將模擬語音信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的功能,然后由嵌入式微處理器對輸入的語音口令信號(hào)進(jìn)行處理。完成語音口令信號(hào)輸入功能的芯片采用的是PHILIPS公司的低功耗芯片UDA1341TS。操作系統(tǒng)采用的是Windows CE5.0。Windows CE 5.0是一個(gè)32位操作系統(tǒng),具有模塊化、結(jié)構(gòu)化,能夠支持超過1000個(gè)公共Microsoft Win32應(yīng)用程序接口,并且與處理器無關(guān)等特點(diǎn),為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計(jì)提供了一種可裁剪的、高效的、可升級的操作系統(tǒng)。

  1 系統(tǒng)設(shè)計(jì)

  1.1 硬件電路的設(shè)計(jì)

  論文給出的語音口令識(shí)別系統(tǒng)的硬件電路主要由嵌入式微處理器、存儲(chǔ)器和語音口令輸入芯片組成。核心芯片是嵌入式微處理器Samsung 32位S3C2440AL,其主頻為400MHz,最高頻率533MHz。64MB SDRAM,64MB的NAND FLASH存儲(chǔ)器,用來存儲(chǔ)操作系統(tǒng)文件等,2MB的NOR FLASH存儲(chǔ),為安裝BIOS使用。

  S3C2440AL控制PHILIPS公司的UDA 1341TS完成輸入語音口令信號(hào)的功能。該音頻處理芯片由AD/DA轉(zhuǎn)換、控制邏輯電路、可編程增益放大器(PGA)和數(shù)字自動(dòng)增益控制器(AGC)以及數(shù)字信號(hào)處理器等部分組成,能進(jìn)行數(shù)字語音處理。[!--empirenews.page--]

  對于一個(gè)基于嵌入式系統(tǒng)的語音口令識(shí)別系統(tǒng),主要有以下幾個(gè)要求:

 ?。?)完成語音口令識(shí)別功能時(shí),需要系統(tǒng)對人所發(fā)出的語音口令做出快速的響應(yīng),然后給出相應(yīng)的判斷結(jié)果。

 ?。?)自動(dòng)獲得語音信號(hào)。語音口令識(shí)別系統(tǒng)一直處于隨時(shí)接受語音口令的工作狀態(tài),無需人工操作就能將人的語音命令與環(huán)境噪聲分離出來,舍棄靜音信號(hào)和環(huán)境噪聲信號(hào)部分,僅僅對有效的語音口令信號(hào)做處理和識(shí)別。

 ?。?)需要有足夠的存儲(chǔ)器容量存儲(chǔ)操作系統(tǒng)文件和訓(xùn)練好的語音口令模型庫以及存儲(chǔ)大量數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)。

  論文給出的語音口令識(shí)別系統(tǒng)選擇高性價(jià)比的嵌入式微處理器S3C2440AL和64MB隨機(jī)存儲(chǔ)器和64MB的閃存來滿足計(jì)算速度和數(shù)據(jù)緩存的要求。

  1.2 軟件程序的設(shè)計(jì)

  選擇Windows CE 5.0為語音口令識(shí)別系統(tǒng)的操作系統(tǒng),Windows CE 5.0是一個(gè)多任務(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編寫。

  由于語音口令識(shí)別系統(tǒng)算法的運(yùn)算量比較大,所以為了能夠加快運(yùn)算速度,首先對Windows CE 5.0操作系統(tǒng)進(jìn)行配置,需要將相應(yīng)的板級支持包BSP(Board SupportPackage)導(dǎo)入到Platform. Builder 5.0,裁剪掉一些使用不到的資源,保留一些需要的資源,驅(qū)動(dòng)的配置正確后,將配置好的操作系統(tǒng)內(nèi)核裝入到嵌入式平臺(tái)中,然后進(jìn)行應(yīng)用程序的開發(fā)。

  語音口令識(shí)別系統(tǒng)分為訓(xùn)練和識(shí)別兩個(gè)過程。訓(xùn)練時(shí),語音口令信號(hào)首先經(jīng)過預(yù)處理,然后提取語音特征參數(shù),采用MFCC(Mel-Frequency Ceptral Coefficients)參數(shù)[4],然后建立此口令的連續(xù)隱馬爾可夫(CDHMM)模型,把所有經(jīng)過訓(xùn)練的語音口令的模型放在模型庫中。

  在識(shí)別階段,與訓(xùn)練時(shí)提取語音口令信號(hào)的特征參數(shù)一樣,也要提取MFCC特征參數(shù),然后與保存在語音口令模型庫中的每一條語音口令模型相匹配,根據(jù)概率*分確定輸出識(shí)別結(jié)果。語音口令識(shí)別系統(tǒng)的程序流程圖如圖1所示。[!--empirenews.page--]

  

  圖1 語音口令識(shí)別系統(tǒng)的程序流程圖。

  當(dāng)語音口令識(shí)別系統(tǒng)采集到命令語音信號(hào)后,要提取參數(shù),做出比較判斷,調(diào)用相應(yīng)語音口令識(shí)別算法。對每條語音口令信號(hào),先切除靜音,進(jìn)行預(yù)加重處理,然后通過Hamming窗分幀,幀長和幀移分別為20ms和10ms,對每一幀語音信號(hào)提取16階MFCC和△MFCC一共32維參數(shù)作為特征矢量。

  語音口令識(shí)別軟件系統(tǒng)由許多不同的語音信號(hào)預(yù)處理、識(shí)別算法和其它子程序組成,為了實(shí)現(xiàn)參數(shù)的傳遞,每個(gè)程序執(zhí)行后的參數(shù)以文件的形式輸出,而這些程序的調(diào)用先后順序和參數(shù)的輸入輸出文件的位置等都由一個(gè)主程序管理。

  在Windows CE中,編寫可執(zhí)行程序,需要調(diào)用應(yīng)用程序編程接口API(Application Programming Interface)函數(shù),并且要設(shè)定程序入口點(diǎn)。調(diào)用過程為:

  無論是進(jìn)行語音口令訓(xùn)練還是語音口令識(shí)別操作,都需要對語音口令信號(hào)的采集和實(shí)時(shí)處理程序,所以對語音口令信號(hào)的采集和實(shí)時(shí)處理程序是語音口令識(shí)別系統(tǒng)軟件中的重要部分之一。對于語音音頻接口的管理是通過Windows CE 5.0里的API函數(shù)完成的,對語音口令信號(hào)的采集和實(shí)時(shí)處理程序流程圖如圖2所示。[!--empirenews.page--]

  

  圖2 信號(hào)的采集和處理流程圖。

  主程序在配置好初始化參數(shù)后,建立一個(gè)子線程,建立子線程有利于將靜音檢測的復(fù)雜運(yùn)算過程和主程序的音頻數(shù)據(jù)采集過程分開進(jìn)行,以確保在靜音檢測時(shí)不會(huì)丟掉音頻數(shù)據(jù)。與此同時(shí),主程序開始采集數(shù)據(jù),并存入到緩沖區(qū)。當(dāng)預(yù)先設(shè)定好的緩沖區(qū)內(nèi)的數(shù)據(jù)采集滿后,會(huì)將所采集的數(shù)據(jù)交給子線程,子線程做靜音檢測判斷。主程序會(huì)依然繼續(xù)重新采集新的音頻數(shù)據(jù)。對于子線程,子線程的任務(wù)是等待主程序發(fā)出命令,然后對數(shù)據(jù)做處理。如果檢測到有語音口令的開始,會(huì)繼續(xù)采集數(shù)據(jù),得到完整命令語音口令信號(hào),提取相應(yīng)的特征參數(shù)。

  具體程序中有如下幾個(gè)主要過程:

 ?。?)初始化參數(shù)設(shè)置:

 ?。╝)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ū)存滿后會(huì)自動(dòng)訪問的一個(gè)特殊函數(shù))

  (b)Thread_process=AfxBeginThread((AFX_THREADPROC)RecordThreadProc,(LPVOID)this,THREAD_PRIORITY_NORMAL,0,0,0);//要為其單獨(dú)建立一個(gè)線程,為了實(shí)現(xiàn)靜音檢測,在混雜著環(huán)境噪聲的前提下,找出語音口令信號(hào)。

 ?。╟)FuncReturn=waveInStart(Record_Buffer_Manager.hWaveIn);//打開音頻數(shù)據(jù)流,開始錄音。(緩沖區(qū)存滿后,系統(tǒng)會(huì)自動(dòng)訪問回調(diào)函數(shù))

  (2)主程序與子線程通信

  SetEvent(pRecord-》hRecordEvent );//發(fā)出信號(hào),使得子線程函數(shù)得到命令,對采集到的音頻流進(jìn)行靜音的檢測判斷。

 ?。?)在子線程內(nèi)接收消息作出反應(yīng)

  WaitForSingleObject(pRecord-》hRecordEvent,INFINITE);ResetEvent(pRecord-》hRecordEvent);//與回調(diào)函數(shù)的信號(hào)發(fā)出程序?qū)?yīng),接受信號(hào),并重新設(shè)定狀態(tài),等待下一次信號(hào)。

  ……

  pRecord-》ProcessData((SAMPLE_TYPE *)pRecord-》pLeftData,……);//將得到的數(shù)據(jù)段進(jìn)行處理,也就是真正執(zhí)行靜音檢測的部分。

 ?。?)得到完整語音口令信號(hào)后提取特征參數(shù)。

  2 結(jié)束語

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

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

立邦不斷推動(dòng)環(huán)境友好型涂料的創(chuàng)新研發(fā),并將低溫固化粉末涂料產(chǎn)品應(yīng)用于煤礦設(shè)備領(lǐng)域。相較其他粉末涂料,立邦低溫固化粉末涂料NPD-ACE -LT系列,全面降低了實(shí)現(xiàn)涂料理想固化效果所需的烘烤溫度,使之所需的升溫時(shí)間也大幅減...

關(guān)鍵字: 溫度 PD D-A CE

云頂新耀宣布其合作伙伴Providence Therapeutics Holdings Inc.的mRNA新冠候選疫苗PTX-COVID19-B在評估其安全性、耐受性和免疫原性的II期研究中取得了積極的頂線結(jié)果。云頂新耀...

關(guān)鍵字: VI OV IDE CE

四季酒店集團(tuán)2022年10月17日宣布任命Alejandro Reynal為CEO兼總裁,希望提高集團(tuán)的數(shù)據(jù)應(yīng)用能力,以提升業(yè)績表現(xiàn)。在加入四季酒店之前,Reynal擔(dān)任凱悅旗下度假村品牌Apple Leisure的總裁...

關(guān)鍵字: APPLE CE TE 電信

近日,一個(gè)存在于Windows Mark of the Web (MotW)中的零日漏洞被發(fā)現(xiàn),并正在被攻擊者積極利用。但有趣的是,在微軟官方還沒有對該漏洞做出修復(fù)之前,第三方平臺(tái)0patch就提供了該漏洞的修復(fù)補(bǔ)丁。據(jù)...

關(guān)鍵字: PATCH Windows 微軟 APP

科濟(jì)藥業(yè)宣布, 中國國家藥品監(jiān)督管理局已受理澤沃基奧侖賽注射液(zevorcabtagene autoleucel,研發(fā)代號(hào):CT053)的新藥上市申請。澤沃基奧侖賽注射液是一種用于治療復(fù)發(fā)/難治多發(fā)性骨髓瘤的全人抗自體...

關(guān)鍵字: GEN RC EV CE

摩根大通(JPMorgan Chase)首席執(zhí)行官戴蒙(Jamie Dimon)預(yù)測,美國經(jīng)濟(jì)可能在明年陷入衰退。他警告稱,經(jīng)濟(jì)低迷可能在信貸市場引發(fā)“恐慌”,令美國股市價(jià)值再蒸發(fā)20%?;ㄆ旒瘓F(tuán)(Citigroup)首...

關(guān)鍵字: CE SE MORGAN GROUP

深圳2022年10月14日 /美通社/ -- 日前,國際獨(dú)立第三方檢測、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國萊茵TUV大中華區(qū)(以下簡稱“TUV萊茵”)攜手深圳驛普樂氏科技有限公司(以下簡稱“...

關(guān)鍵字: 充電設(shè)備 新能源汽車 CE PLAYER

(全球TMT2022年10月14日訊)富士通線上全球大會(huì)Fujitsu ActivateNow 2022于10月12日正式拉開帷幕。通過主題演講、分組會(huì)議及客戶圓桌對話等豐富內(nèi)容,富士通在本次Fujitsu Activ...

關(guān)鍵字: 富士通 數(shù)字化 FUJITSU CE

北京2022年10月13日 /美通社/ -- CE Innovation Capital ("CEiC") 宣布完成對東南亞最大開放金融API平臺(tái)Ayoconnect的投資。本次公司B+輪融資額為13...

關(guān)鍵字: API NEC IC CE

據(jù)全球最大石油生產(chǎn)商沙特阿美(Saudi Aramco)稱,全球石油市場依然緊張。對于一個(gè)仍然嚴(yán)重依賴化石燃料的世界來說,這不是一個(gè)好兆頭。沙特阿美CEO Amin Nasser表示,如今閑置產(chǎn)能非常低。如果亞洲重新開放...

關(guān)鍵字: NAS RAM SE CE

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉