你的位置:首頁 > 互連技術(shù) > 正文

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)

發(fā)布時(shí)間:2014-01-24 責(zé)任編輯:mikeliu

【導(dǎo)讀】語音交互是人類交流和交換信息中最便捷的手段和最重要的媒體,長久以來,人們都希望找尋一種新的途徑解決人類與機(jī)器的交互方式,希望機(jī)器設(shè)備能夠“聽”懂人類的語音信息進(jìn)行交互,識(shí)別其含義并響應(yīng)、從而做出相應(yīng)動(dòng)作,這樣的交互方式更能被使用者接受,取代原有的鍵盤、按鈕、開關(guān)等傳統(tǒng)交互方式,基于非特定人的語音識(shí)別技術(shù)已然成為人機(jī)交互新方式的一個(gè)重要發(fā)展方向和研究熱點(diǎn)。

語音信號的識(shí)別涉及眾多學(xué)科知識(shí)體系,與計(jì)算機(jī)、語言學(xué)、通信、數(shù)理統(tǒng)計(jì)、信號處理和人工智能等學(xué)科都有著密切的關(guān)系,由于語音信號具有信息量大、不確定性、動(dòng)態(tài)性和連續(xù)性的特點(diǎn),在語音信號的預(yù)處理、特征提取等階段處理數(shù)據(jù)量非常大,對軟件的處理算法和硬件的處理能力都有較高的要求,傳統(tǒng)使用PC機(jī)或者工控機(jī)等高處理性能的平臺(tái)實(shí)現(xiàn)語音信號識(shí)別,但硬軟件開發(fā)造價(jià)無疑是阻礙普及的重要因素,本系統(tǒng)采用ARM Cortex M3 內(nèi)核ST 公司的32 位高性能單片機(jī)STM32F103C8T6結(jié)合LD3320語音識(shí)別芯片,通過構(gòu)建SD卡文件系統(tǒng)實(shí)現(xiàn)非特定人語音識(shí)別關(guān)鍵詞動(dòng)態(tài)編輯功能,適用于嵌入式語音識(shí)別場合。系統(tǒng)電路簡單,性價(jià)比高,識(shí)別距離和識(shí)別精度都可以滿足嵌入式應(yīng)用。

1 非特定人語音識(shí)別技術(shù)原理

非特定人語音識(shí)別技術(shù)研究的最終目的是讓計(jì)算機(jī)等設(shè)備能夠“聽懂”人類語音,提取出語音中所包含的特定信息,成為人機(jī)通信和交互最便捷的手段。由于語音信號本身具有不確定性、動(dòng)態(tài)性和連續(xù)性,這就為準(zhǔn)確量化和處理該信號帶來非常大的困難,每個(gè)人的語音要建立不同的語音樣本也為識(shí)別的普及帶來瓶頸約束。目前的語音識(shí)別是先建立特征庫然后將待識(shí)別的信號經(jīng)處理與特征庫比對得到相似結(jié)果判定輸出。從本質(zhì)上屬于基于統(tǒng)計(jì)模式的基本理論,分語言模型訓(xùn)練、識(shí)別分析兩個(gè)大階段構(gòu)成和實(shí)現(xiàn),如圖1所示。

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)

聲學(xué)訓(xùn)練階段通常是離線完成的,由語言學(xué)家對預(yù)先收集好的海量語音樣本、語言數(shù)據(jù)庫、噪聲數(shù)據(jù)進(jìn)行信號處理和知識(shí)挖掘,通過語音信號處理理論及相應(yīng)數(shù)學(xué)算法模型建立語音識(shí)別系統(tǒng)所需要的“聲學(xué)模型”和“語言模型”.

識(shí)別分析階段通常是在線完成的,對用戶實(shí)時(shí)的語音進(jìn)行自動(dòng)識(shí)別。識(shí)別過程通常又可以分為“前端”和“后端”兩大模塊:“前端”模塊主要的作用是進(jìn)行端點(diǎn)檢測、降噪、特征提取等;“后端”模塊的作用是利用訓(xùn)練好的“聲學(xué)模型”和“語言模型”對用戶說話的特征向量進(jìn)行統(tǒng)計(jì)模式識(shí)別,得到其包含的文字信息,此外,后端模塊還存在一個(gè)“自適應(yīng)”的反饋模塊,可以對用戶的語音進(jìn)行自學(xué)習(xí),從而對“聲學(xué)模型”和“語音模型”進(jìn)行必要的“校正”,進(jìn)一步提高識(shí)別的準(zhǔn)確率。

2 系統(tǒng)設(shè)計(jì)的整體結(jié)構(gòu)

本系統(tǒng)以STM32F103C8T6 微控制器為控制核心,搭配微控制器最小核心電路、LD3320語音識(shí)別電路、SD卡電路、電源電路、用戶按鍵輸入電路、串口數(shù)據(jù)輸出電路、狀態(tài)指示電路等綜合組成。該系統(tǒng)體積小巧,可以作為嵌入式組件單元融入用戶電路或者板卡中,上電后STM32F108C8T6內(nèi)部程序進(jìn)行程序初始化、SD 卡文件系統(tǒng)初始化、LD3320初始化、隨后等待識(shí)別音頻接收,識(shí)別完成后輸出響應(yīng)信息或者解碼音頻,系統(tǒng)整體結(jié)構(gòu)如圖2所示,最終實(shí)現(xiàn)積木式功能組件的全部功能。

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)
[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 總線的外設(shè)。包括了12 b 的ADC、通用16 b 的定時(shí)器、還包括I2C、SPI、USART、USB、CAN等總線或串行通信接口,片內(nèi)資源和擴(kuò)展接口都十分豐富,該微控制核心是專門設(shè)計(jì)于滿足高穩(wěn)定性、低功耗、實(shí)時(shí)性、高性價(jià)比的嵌入式產(chǎn)品應(yīng)用。該內(nèi)核芯片可以滿足非特定人語音識(shí)別的功能要求,利用相關(guān)電路構(gòu)成STM32F103C8T6 的最小系統(tǒng),在硬件PCB 中還集成了功能引針輸出接口、SD卡接口、USB下載調(diào)試電路,用戶按鍵、電源電路等,核心系統(tǒng)電路圖如圖3所示,配合其他外圍擴(kuò)展達(dá)到功能要求。

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)

3.2 非特定人語音識(shí)別方案選型及電路

本系統(tǒng)中選用IC Route公司生產(chǎn)的LD3320非特定人語音識(shí)別芯片,該芯片是非特定人語音識(shí)別的專用芯片,內(nèi)部已經(jīng)集成了語音識(shí)別處理器和一些信號調(diào)制電路,擁有高性能的A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、麥克風(fēng)音頻信號輸入接口、音頻解碼輸出接口等,用戶只需要用軟件編輯好待識(shí)別的關(guān)鍵詞列表,LD3320最大可以支持50 條關(guān)鍵詞句,把這些列別以字符的形式傳送到芯片中,就可以對待識(shí)別的語音信號進(jìn)行近似度分析,識(shí)別后輸出結(jié)果。

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)

LD3320 整體工作電路如圖4 所示,總體上可以把電路圖分為8個(gè)部分,分別是LD3320基礎(chǔ)外圍電路、電源電路、外部晶體振蕩器電路、麥克風(fēng)信號處理電路、去耦合濾波電路、解碼音頻去直流成分電路、功能引針輸出電路、狀態(tài)信號指示電路。語音識(shí)別單元對于電源供電電路的要求較高,電路中注重對供電純凈度的要求,由系統(tǒng)中的LDO芯片LM1117-3.3 V為語音識(shí)別系統(tǒng)供電,加上電感、電容為供電進(jìn)行濾波,RSTB為LD3320復(fù)位引腳,連接到主控制器進(jìn)行復(fù)位控制。LD3320支持并行數(shù)據(jù)通信和串行數(shù)據(jù)通信,在本系統(tǒng)設(shè)計(jì)中考慮對主控I/O 資源的占用問題,故而選用串行通信方式對LD3320 進(jìn)行數(shù)據(jù)傳送和控制,LD3320 的MD 引腳通過上拉電阻鉗位為高電平。SPI總線的SDI、SDO、SDCK和SCS引腳連接到主控芯片對應(yīng)引腳。INTB為中斷信號引腳,遇到識(shí)別結(jié)果輸出或者是內(nèi)部音頻文件解碼完成等狀態(tài),該引腳會(huì)對應(yīng)輸出電平狀態(tài)通知主控。MBS引腳作為麥克風(fēng)偏置電壓輸入,連接了RC電路,保證產(chǎn)生一個(gè)浮動(dòng)電壓供給麥克風(fēng)信號。

4 系統(tǒng)軟件功能設(shè)計(jì)

4.1 語音識(shí)別軟件設(shè)計(jì)


系統(tǒng)主控上電后首先進(jìn)行各項(xiàng)初始化,包括LD3320 需要的8M 時(shí)鐘信號,由STM32 初始化后輸出8M 頻率供給LD3320使用,初始化STM32內(nèi)部時(shí)鐘、SD卡文件系統(tǒng)、SPI相關(guān)寄存器、SDIO數(shù)據(jù)初始化、中斷設(shè)置等等。經(jīng)過初始化后SD 卡文件系統(tǒng)會(huì)在SD 卡中尋找system.ini配置文件,將里面的字段進(jìn)行拆分后提取,送給LD3320相關(guān)寄存器,隨后把關(guān)鍵字句列表和長度信息傳送給LD3320并啟動(dòng)識(shí)別過程,當(dāng)識(shí)別成功后串口會(huì)發(fā)出響應(yīng)的返回值參數(shù),并且按照用戶需求可以指定需要解碼的音頻文件,經(jīng)過LD3320進(jìn)行MP3文件解碼輸出,程序流程圖如圖5所示。

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)
[page]

主控程序初始化代碼如下:

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)

4.2 SD卡文件系統(tǒng)軟件設(shè)計(jì)


在實(shí)際應(yīng)用中,修改主控制單片機(jī)程序較為復(fù)雜,本系統(tǒng)將識(shí)別關(guān)鍵語句寫在一個(gè)命名為system.ini文件中,將此文件拷貝到SD卡中,SD卡需要實(shí)現(xiàn)格式化,只能出現(xiàn)一個(gè)。ini 文件,其他的文件均為XXX.mp3 文件,SD 的片選信號CS、數(shù)據(jù)輸入信號DI、數(shù)據(jù)輸出信號DO、時(shí)鐘信號SCLK 在硬件上已經(jīng)與STM32的SPI接口相連接,系統(tǒng)上電后會(huì)初始化SD卡文件系統(tǒng),發(fā)送至少74個(gè)時(shí)鐘以上確保SD卡片選正常后將SD卡復(fù)位等待8個(gè)時(shí)鐘周期進(jìn)入SPI讀寫模式,通過STM32內(nèi)部編寫好的文件系統(tǒng)程序找尋“配置文件”即system.ini文件,讀取關(guān)鍵詞識(shí)別列表內(nèi)容,在系統(tǒng)軟件編程中,采用3個(gè)字段進(jìn)行功能約定,字段功能約定配置如下:

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)
[page]

5 性能測試與分析

為保證系統(tǒng)對非特定人的語音識(shí)別效果、環(huán)境底噪影響、語音識(shí)別過程響應(yīng)時(shí)間、非特定人聲音樣本識(shí)別成功率等參數(shù)達(dá)標(biāo),本文針對各項(xiàng)參數(shù)指定了測試方案,實(shí)驗(yàn)環(huán)境分為安靜環(huán)境(如家居環(huán)境)和相對嘈雜的環(huán)境(如課堂環(huán)境)進(jìn)行了實(shí)測,指定3名發(fā)音人作為3個(gè)不同的聲音識(shí)別樣本,選定了短句識(shí)別語句、中長句識(shí)別語句,長句識(shí)別語句各2條進(jìn)行樣本測試(約定3字以下為短句,3~5字為中長句,5字以上為長句),每種測試語句結(jié)合不同發(fā)音人重復(fù)20次結(jié)果進(jìn)行統(tǒng)計(jì),在安靜環(huán)境下測試短句識(shí)別準(zhǔn)確率為93.37%、中長句識(shí)別準(zhǔn)確率為91.67%、長句識(shí)別準(zhǔn)確率為90.23%.在嘈雜環(huán)境下測試短句識(shí)別準(zhǔn)確率為87.25%、中長句識(shí)別準(zhǔn)確率為84.36%、長句識(shí)別準(zhǔn)確率為81.12%.從實(shí)驗(yàn)數(shù)據(jù)上分析,制約識(shí)別準(zhǔn)確率的原因是多方面的,與發(fā)音人本身聲音質(zhì)量、環(huán)境底噪、識(shí)別語句近似度、識(shí)別語句長度均有關(guān)系,單從數(shù)據(jù)上不難得到總體識(shí)別率應(yīng)該是在81%以上,可以滿足應(yīng)用需求,系統(tǒng)實(shí)物圖如圖6所示,硬件結(jié)構(gòu)小巧,功耗低、性價(jià)比高,因此具備市場應(yīng)用前景和市場需求。

技術(shù)達(dá)人:ARM的非特定人語音識(shí)別系統(tǒng)的設(shè)計(jì)

6 結(jié)語

普及語音識(shí)別技術(shù)是當(dāng)前研究和發(fā)展的新趨勢,特別是對于非特定人的語音識(shí)別是語音信號領(lǐng)域處理的熱點(diǎn)和難點(diǎn),本方案利用了STM32F103C8T6與LD3320結(jié)合,配合各種外圍電路完成了非特定人語音識(shí)別的嵌入式平臺(tái),在平臺(tái)中通過硬軟件構(gòu)建,在不更改主控制芯片程序的前提下,用戶可以通過更改SD 卡內(nèi)配置文件的方法隨意設(shè)定識(shí)別關(guān)鍵語句,經(jīng)過不同發(fā)音人和環(huán)境的實(shí)測,該系統(tǒng)在嘈雜環(huán)境中的識(shí)別準(zhǔn)確率可達(dá)81%,在安靜環(huán)境中的識(shí)別準(zhǔn)確率可達(dá)90%以上,本系統(tǒng)可以方便的嵌入用戶系統(tǒng)或者板卡中,積木式搭建靈活實(shí)用,因而具有廣泛的市場需求和應(yīng)用前景。

相關(guān)閱讀:
非特定人車載音響語音控制系統(tǒng)的設(shè)計(jì)
語音識(shí)別技術(shù)系統(tǒng)結(jié)構(gòu)
語音合成&語音識(shí)別技術(shù)-打造能聽會(huì)說的智能家電

要采購麥克風(fēng)么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉