語(yǔ)音信號(hào)的識(shí)別涉及眾多學(xué)科知識(shí)體系,與計(jì)算機(jī)、語(yǔ)言學(xué)、通信、數(shù)理統(tǒng)計(jì)、信號(hào)處理和人工智能等學(xué)科都有著密切的關(guān)系,由于語(yǔ)音信號(hào)具有信息量大、不確定性、動(dòng)態(tài)性和連續(xù)性的特點(diǎn),在語(yǔ)音信號(hào)的預(yù)處理、特征提取等階段處理數(shù)據(jù)量非常大,對(duì)軟件的處理算法和硬件的處理能力都有較高的要求,傳統(tǒng)使用PC機(jī)或者工控機(jī)等高處理性能的平臺(tái)實(shí)現(xiàn)語(yǔ)音信號(hào)識(shí)別,但硬軟件開(kāi)發(fā)造價(jià)無(wú)疑是阻礙普及的重要因素,本系統(tǒng)采用ARM Cortex M3 內(nèi)核ST 公司的32 位高性能單片機(jī)STM32F103C8T6結(jié)合LD3320語(yǔ)音識(shí)別芯片,通過(guò)構(gòu)建SD卡文件系統(tǒng)實(shí)現(xiàn)非特定人語(yǔ)音識(shí)別關(guān)鍵詞動(dòng)態(tài)編輯功能,適用于嵌入式語(yǔ)音識(shí)別場(chǎng)合。系統(tǒng)電路簡(jiǎn)單,性?xún)r(jià)比高,識(shí)別距離和識(shí)別精度都可以滿(mǎn)足嵌入式應(yīng)用。
1 非特定人語(yǔ)音識(shí)別技術(shù)原理
非特定人語(yǔ)音識(shí)別技術(shù)研究的最終目的是讓計(jì)算機(jī)等設(shè)備能夠“聽(tīng)懂”人類(lèi)語(yǔ)音,提取出語(yǔ)音中所包含的特定信息,成為人機(jī)通信和交互最便捷的手段。由于語(yǔ)音信號(hào)本身具有不確定性、動(dòng)態(tài)性和連續(xù)性,這就為準(zhǔn)確量化和處理該信號(hào)帶來(lái)非常大的困難,每個(gè)人的語(yǔ)音要建立不同的語(yǔ)音樣本也為識(shí)別的普及帶來(lái)瓶頸約束。目前的語(yǔ)音識(shí)別是先建立特征庫(kù)然后將待識(shí)別的信號(hào)經(jīng)處理與特征庫(kù)比對(duì)得到相似結(jié)果判定輸出。從本質(zhì)上屬于基于統(tǒng)計(jì)模式的基本理論,分語(yǔ)言模型訓(xùn)練、識(shí)別分析兩個(gè)大階段構(gòu)成和實(shí)現(xiàn),如圖1所示。
聲學(xué)訓(xùn)練階段通常是離線(xiàn)完成的,由語(yǔ)言學(xué)家對(duì)預(yù)先收集好的海量語(yǔ)音樣本、語(yǔ)言數(shù)據(jù)庫(kù)、噪聲數(shù)據(jù)進(jìn)行信號(hào)處理和知識(shí)挖掘,通過(guò)語(yǔ)音信號(hào)處理理論及相應(yīng)數(shù)學(xué)算法模型建立語(yǔ)音識(shí)別系統(tǒng)所需要的“聲學(xué)模型”和“語(yǔ)言模型”.
識(shí)別分析階段通常是在線(xiàn)完成的,對(duì)用戶(hù)實(shí)時(shí)的語(yǔ)音進(jìn)行自動(dòng)識(shí)別。識(shí)別過(guò)程通常又可以分為“前端”和“后端”兩大模塊:“前端”模塊主要的作用是進(jìn)行端點(diǎn)檢測(cè)、降噪、特征提取等;“后端”模塊的作用是利用訓(xùn)練好的“聲學(xué)模型”和“語(yǔ)言模型”對(duì)用戶(hù)說(shuō)話(huà)的特征向量進(jìn)行統(tǒng)計(jì)模式識(shí)別,得到其包含的文字信息,此外,后端模塊還存在一個(gè)“自適應(yīng)”的反饋模塊,可以對(duì)用戶(hù)的語(yǔ)音進(jìn)行自學(xué)習(xí),從而對(duì)“聲學(xué)模型”和“語(yǔ)音模型”進(jìn)行必要的“校正”,進(jìn)一步提高識(shí)別的準(zhǔn)確率。
2 系統(tǒng)設(shè)計(jì)的整體結(jié)構(gòu)
本系統(tǒng)以STM32F103C8T6 微控制器為控制核心,搭配微控制器最小核心電路、LD3320語(yǔ)音識(shí)別電路、SD卡電路、電源電路、用戶(hù)按鍵輸入電路、串口數(shù)據(jù)輸出電路、狀態(tài)指示電路等綜合組成。該系統(tǒng)體積小巧,可以作為嵌入式組件單元融入用戶(hù)電路或者板卡中,上電后STM32F108C8T6內(nèi)部程序進(jìn)行程序初始化、SD 卡文件系統(tǒng)初始化、LD3320初始化、隨后等待識(shí)別音頻接收,識(shí)別完成后輸出響應(yīng)信息或者解碼音頻,系統(tǒng)整體結(jié)構(gòu)如圖2所示,最終實(shí)現(xiàn)積木式功能組件的全部功能。
[page]
3 系統(tǒng)硬件電路設(shè)計(jì)
3.1 微控制核心方案選型及電路
系統(tǒng)采用ARM Cortex M3內(nèi)核ST公司的32位高性能單片機(jī)STM32F103C8T6 為控制核心,該芯片可以達(dá)到72 MHz的工作頻率,內(nèi)置高速存儲(chǔ)器(64 KB的閃存和20 KB的SRAM),擁有豐富的I/O口資源和鏈接到兩條APB 總線(xiàn)的外設(shè)。包括了12 b 的ADC、通用16 b 的定時(shí)器、還包括I2C、SPI、USART、USB、CAN等總線(xiàn)或串行通信接口,片內(nèi)資源和擴(kuò)展接口都十分豐富,該微控制核心是專(zhuān)門(mén)設(shè)計(jì)于滿(mǎn)足高穩(wěn)定性、低功耗、實(shí)時(shí)性、高性?xún)r(jià)比的嵌入式產(chǎn)品應(yīng)用。該內(nèi)核芯片可以滿(mǎn)足非特定人語(yǔ)音識(shí)別的功能要求,利用相關(guān)電路構(gòu)成STM32F103C8T6 的最小系統(tǒng),在硬件PCB 中還集成了功能引針輸出接口、SD卡接口、USB下載調(diào)試電路,用戶(hù)按鍵、電源電路等,核心系統(tǒng)電路圖如圖3所示,配合其他外圍擴(kuò)展達(dá)到功能要求。
3.2 非特定人語(yǔ)音識(shí)別方案選型及電路
本系統(tǒng)中選用IC Route公司生產(chǎn)的LD3320非特定人語(yǔ)音識(shí)別芯片,該芯片是非特定人語(yǔ)音識(shí)別的專(zhuān)用芯片,內(nèi)部已經(jīng)集成了語(yǔ)音識(shí)別處理器和一些信號(hào)調(diào)制電路,擁有高性能的A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、麥克風(fēng)音頻信號(hào)輸入接口、音頻解碼輸出接口等,用戶(hù)只需要用軟件編輯好待識(shí)別的關(guān)鍵詞列表,LD3320最大可以支持50 條關(guān)鍵詞句,把這些列別以字符的形式傳送到芯片中,就可以對(duì)待識(shí)別的語(yǔ)音信號(hào)進(jìn)行近似度分析,識(shí)別后輸出結(jié)果。
LD3320 整體工作電路如圖4 所示,總體上可以把電路圖分為8個(gè)部分,分別是LD3320基礎(chǔ)外圍電路、電源電路、外部晶體振蕩器電路、麥克風(fēng)信號(hào)處理電路、去耦合濾波電路、解碼音頻去直流成分電路、功能引針輸出電路、狀態(tài)信號(hào)指示電路。語(yǔ)音識(shí)別單元對(duì)于電源供電電路的要求較高,電路中注重對(duì)供電純凈度的要求,由系統(tǒng)中的LDO芯片LM1117-3.3 V為語(yǔ)音識(shí)別系統(tǒng)供電,加上電感、電容為供電進(jìn)行濾波,RSTB為L(zhǎng)D3320復(fù)位引腳,連接到主控制器進(jìn)行復(fù)位控制。LD3320支持并行數(shù)據(jù)通信和串行數(shù)據(jù)通信,在本系統(tǒng)設(shè)計(jì)中考慮對(duì)主控I/O 資源的占用問(wèn)題,故而選用串行通信方式對(duì)LD3320 進(jìn)行數(shù)據(jù)傳送和控制,LD3320 的MD 引腳通過(guò)上拉電阻鉗位為高電平。SPI總線(xiàn)的SDI、SDO、SDCK和SCS引腳連接到主控芯片對(duì)應(yīng)引腳。INTB為中斷信號(hào)引腳,遇到識(shí)別結(jié)果輸出或者是內(nèi)部音頻文件解碼完成等狀態(tài),該引腳會(huì)對(duì)應(yīng)輸出電平狀態(tài)通知主控。MBS引腳作為麥克風(fēng)偏置電壓輸入,連接了RC電路,保證產(chǎn)生一個(gè)浮動(dòng)電壓供給麥克風(fēng)信號(hào)。
4 系統(tǒng)軟件功能設(shè)計(jì)
4.1 語(yǔ)音識(shí)別軟件設(shè)計(jì)
系統(tǒng)主控上電后首先進(jìn)行各項(xiàng)初始化,包括LD3320 需要的8M 時(shí)鐘信號(hào),由STM32 初始化后輸出8M 頻率供給LD3320使用,初始化STM32內(nèi)部時(shí)鐘、SD卡文件系統(tǒng)、SPI相關(guān)寄存器、SDIO數(shù)據(jù)初始化、中斷設(shè)置等等。經(jīng)過(guò)初始化后SD 卡文件系統(tǒng)會(huì)在SD 卡中尋找system.ini配置文件,將里面的字段進(jìn)行拆分后提取,送給LD3320相關(guān)寄存器,隨后把關(guān)鍵字句列表和長(zhǎng)度信息傳送給LD3320并啟動(dòng)識(shí)別過(guò)程,當(dāng)識(shí)別成功后串口會(huì)發(fā)出響應(yīng)的返回值參數(shù),并且按照用戶(hù)需求可以指定需要解碼的音頻文件,經(jīng)過(guò)LD3320進(jìn)行MP3文件解碼輸出,程序流程圖如圖5所示。
[page]
主控程序初始化代碼如下:
4.2 SD卡文件系統(tǒng)軟件設(shè)計(jì)
在實(shí)際應(yīng)用中,修改主控制單片機(jī)程序較為復(fù)雜,本系統(tǒng)將識(shí)別關(guān)鍵語(yǔ)句寫(xiě)在一個(gè)命名為system.ini文件中,將此文件拷貝到SD卡中,SD卡需要實(shí)現(xiàn)格式化,只能出現(xiàn)一個(gè)。ini 文件,其他的文件均為XXX.mp3 文件,SD 的片選信號(hào)CS、數(shù)據(jù)輸入信號(hào)DI、數(shù)據(jù)輸出信號(hào)DO、時(shí)鐘信號(hào)SCLK 在硬件上已經(jīng)與STM32的SPI接口相連接,系統(tǒng)上電后會(huì)初始化SD卡文件系統(tǒng),發(fā)送至少74個(gè)時(shí)鐘以上確保SD卡片選正常后將SD卡復(fù)位等待8個(gè)時(shí)鐘周期進(jìn)入SPI讀寫(xiě)模式,通過(guò)STM32內(nèi)部編寫(xiě)好的文件系統(tǒng)程序找尋“配置文件”即system.ini文件,讀取關(guān)鍵詞識(shí)別列表內(nèi)容,在系統(tǒng)軟件編程中,采用3個(gè)字段進(jìn)行功能約定,字段功能約定配置如下:
[page]
5 性能測(cè)試與分析
為保證系統(tǒng)對(duì)非特定人的語(yǔ)音識(shí)別效果、環(huán)境底噪影響、語(yǔ)音識(shí)別過(guò)程響應(yīng)時(shí)間、非特定人聲音樣本識(shí)別成功率等參數(shù)達(dá)標(biāo),本文針對(duì)各項(xiàng)參數(shù)指定了測(cè)試方案,實(shí)驗(yàn)環(huán)境分為安靜環(huán)境(如家居環(huán)境)和相對(duì)嘈雜的環(huán)境(如課堂環(huán)境)進(jìn)行了實(shí)測(cè),指定3名發(fā)音人作為3個(gè)不同的聲音識(shí)別樣本,選定了短句識(shí)別語(yǔ)句、中長(zhǎng)句識(shí)別語(yǔ)句,長(zhǎng)句識(shí)別語(yǔ)句各2條進(jìn)行樣本測(cè)試(約定3字以下為短句,3~5字為中長(zhǎng)句,5字以上為長(zhǎng)句),每種測(cè)試語(yǔ)句結(jié)合不同發(fā)音人重復(fù)20次結(jié)果進(jìn)行統(tǒng)計(jì),在安靜環(huán)境下測(cè)試短句識(shí)別準(zhǔn)確率為93.37%、中長(zhǎng)句識(shí)別準(zhǔn)確率為91.67%、長(zhǎng)句識(shí)別準(zhǔn)確率為90.23%.在嘈雜環(huán)境下測(cè)試短句識(shí)別準(zhǔn)確率為87.25%、中長(zhǎng)句識(shí)別準(zhǔn)確率為84.36%、長(zhǎng)句識(shí)別準(zhǔn)確率為81.12%.從實(shí)驗(yàn)數(shù)據(jù)上分析,制約識(shí)別準(zhǔn)確率的原因是多方面的,與發(fā)音人本身聲音質(zhì)量、環(huán)境底噪、識(shí)別語(yǔ)句近似度、識(shí)別語(yǔ)句長(zhǎng)度均有關(guān)系,單從數(shù)據(jù)上不難得到總體識(shí)別率應(yīng)該是在81%以上,可以滿(mǎn)足應(yīng)用需求,系統(tǒng)實(shí)物圖如圖6所示,硬件結(jié)構(gòu)小巧,功耗低、性?xún)r(jià)比高,因此具備市場(chǎng)應(yīng)用前景和市場(chǎng)需求。
6 結(jié)語(yǔ)
普及語(yǔ)音識(shí)別技術(shù)是當(dāng)前研究和發(fā)展的新趨勢(shì),特別是對(duì)于非特定人的語(yǔ)音識(shí)別是語(yǔ)音信號(hào)領(lǐng)域處理的熱點(diǎn)和難點(diǎn),本方案利用了STM32F103C8T6與LD3320結(jié)合,配合各種外圍電路完成了非特定人語(yǔ)音識(shí)別的嵌入式平臺(tái),在平臺(tái)中通過(guò)硬軟件構(gòu)建,在不更改主控制芯片程序的前提下,用戶(hù)可以通過(guò)更改SD 卡內(nèi)配置文件的方法隨意設(shè)定識(shí)別關(guān)鍵語(yǔ)句,經(jīng)過(guò)不同發(fā)音人和環(huán)境的實(shí)測(cè),該系統(tǒng)在嘈雜環(huán)境中的識(shí)別準(zhǔn)確率可達(dá)81%,在安靜環(huán)境中的識(shí)別準(zhǔn)確率可達(dá)90%以上,本系統(tǒng)可以方便的嵌入用戶(hù)系統(tǒng)或者板卡中,積木式搭建靈活實(shí)用,因而具有廣泛的市場(chǎng)需求和應(yīng)用前景。
相關(guān)閱讀:
非特定人車(chē)載音響語(yǔ)音控制系統(tǒng)的設(shè)計(jì)
語(yǔ)音識(shí)別技術(shù)系統(tǒng)結(jié)構(gòu)
語(yǔ)音合成&語(yǔ)音識(shí)別技術(shù)-打造能聽(tīng)會(huì)說(shuō)的智能家電