李康平
(安徽醫(yī)科大學(xué)第一附屬醫(yī)院 醫(yī)學(xué)工程部,安徽 合肥 230000)
隨著互聯(lián)網(wǎng)的飛速發(fā)展,信息網(wǎng)絡(luò)技術(shù)和遠(yuǎn)程醫(yī)療技術(shù)不斷進(jìn)步,互聯(lián)網(wǎng)技術(shù)給教育帶來了機(jī)遇和挑戰(zhàn)[1]。新冠疫情依舊持續(xù),極大地改變了我們的生活,一方面“互聯(lián)網(wǎng)醫(yī)療”在實(shí)際生活中的應(yīng)用越來越多,用戶使用習(xí)慣進(jìn)一步養(yǎng)成[2];另一方面在此次疫情的催化下,也給教育發(fā)展提供了新的平臺,在線教育的優(yōu)勢越來越明顯。在疫情的影響下,教育部門提出了“停課不停學(xué)”的方案,改變了傳統(tǒng)的教學(xué)模式[3]。按下線下教學(xué)暫停鍵的同時,也按下了線上教學(xué)開啟鍵,擴(kuò)大了“互聯(lián)網(wǎng)+教育”的市場。
“互聯(lián)網(wǎng)+教育”最常用的人機(jī)交互方式之一是語音交互,在絕大多數(shù)場景中,均利用語言來完成信息傳遞,原因就在于其信息容量與智能水平均處在最高位[4]。結(jié)合現(xiàn)階段有關(guān)于需求的研究可以明確,人機(jī)交互與智能控制領(lǐng)域研究的目光主要聚焦于人類語音控制機(jī)器的實(shí)現(xiàn)[5]。在人工智能、自動化控制等方面的技術(shù)持續(xù)革新發(fā)展背景下,語音交互的實(shí)現(xiàn)已經(jīng)具備了充足的條件,由于其效率高、靈活性強(qiáng),從而備受眾多研究人員的青睞,實(shí)現(xiàn)程度也在不斷加深[6],可以說,智能控制的發(fā)展必然與語音控制技術(shù)的完善與突破緊密關(guān)聯(lián)。
國內(nèi)外已經(jīng)有部分學(xué)校嘗試采取機(jī)器人輔助教學(xué)。國內(nèi)名為“NAO”的機(jī)器人在東北大學(xué)的課堂為該校機(jī)械工程與自動化學(xué)院大四的學(xué)生們講授了《機(jī)電信號處理及應(yīng)用》課程,引來了大家的關(guān)注和學(xué)習(xí)[7]。國外也有非常成功的教學(xué)案例,美國佐治亞理工大學(xué)引入了叫做吉爾-沃特森的機(jī)器人來充當(dāng)助教,其能夠?qū)崿F(xiàn)授課的功能,幫助畢業(yè)生們解決畢業(yè)論文中遇到的各種問題,并且該機(jī)器人為學(xué)生答疑五個月也未被發(fā)現(xiàn)[8]。機(jī)器人教師走進(jìn)學(xué)校開始進(jìn)行試驗(yàn)性教學(xué),可以完成教學(xué)大綱里規(guī)定的教學(xué)任務(wù),雖然助教機(jī)器人可以應(yīng)用到不同的科目中,但還未應(yīng)用于高等院校的醫(yī)學(xué)工程、醫(yī)學(xué)影像學(xué)等專業(yè),因此我們以《醫(yī)學(xué)影像設(shè)備學(xué)》的課程為依托,進(jìn)行語音問答的收集、整理和存儲,本文設(shè)計(jì)一款助教機(jī)器人幫助學(xué)生學(xué)習(xí)該課程的專業(yè)知識,同時減輕老師教學(xué)壓力。
語言控制系統(tǒng)基于模塊化體系來進(jìn)行設(shè)計(jì),以此來給系統(tǒng)的后續(xù)維護(hù)與功能提升提供便利。在總體結(jié)構(gòu)上,系統(tǒng)由四個模塊所構(gòu)成,各自為電源模塊、主控模塊、語音識別模塊、語音合成模塊以及存儲模塊。具體來看,電力來源為電源模塊,其他各子模塊所需電能均來源于此,主控模塊主要負(fù)責(zé)和其他模塊進(jìn)行數(shù)據(jù)通信與數(shù)據(jù)處理,麥克風(fēng)把獲取到的語音信息傳送至語音識別模塊,通過語音識別模塊實(shí)現(xiàn)語音指令的采集,同時進(jìn)行指定語音指令的識別,識別內(nèi)容具體包含對話語音指令與語音合成指令,其后語音合成模塊完成文本文件內(nèi)容的語音轉(zhuǎn)換,完成播放,存儲模塊用來存儲用戶將要轉(zhuǎn)換成語音的文本文件,語音控制系統(tǒng)總體設(shè)計(jì)框圖見圖1。
圖1 語言交互系統(tǒng)總框圖
語音識別能夠完成人類語音信號的預(yù)處理與特征提取,通過測試以及訓(xùn)練,將其和計(jì)算機(jī)所存儲的標(biāo)準(zhǔn)模型進(jìn)行比較,隨之進(jìn)行結(jié)果的識別與判定[9]。語音識別具體包含兩個流程,各自是訓(xùn)練與識別階段,見圖2。對于訓(xùn)練階段而言,用戶在進(jìn)行相應(yīng)次數(shù)訓(xùn)練語音的輸入后,利用預(yù)處理與特征提取將語音信號來進(jìn)行分組,實(shí)際分組過程以幀為依據(jù)[10],其后對各幀對應(yīng)的特征矢量進(jìn)行計(jì)算,求得此語音模板,最終利用特征建模的方式構(gòu)建的訓(xùn)練語音對應(yīng)的參考模型庫。在識別時,對待識別的語音信號進(jìn)行特征提取后,模塊依據(jù)相應(yīng)的算法,把輸入語音的特征矢量參數(shù)與參考模型庫所包含的參考模型實(shí)施相似性度量比較,之后把相似性最高的輸入特征矢量當(dāng)作識別結(jié)果予以輸出。
圖2 語音識別原理框圖
(1)特征提取
語音識別系統(tǒng)的工作過程中,關(guān)鍵步驟就是進(jìn)行特征提取,具體包含時域特征提取和頻域特征提取兩方面內(nèi)容。本系統(tǒng)采用的是頻域特征提?。?1],使用的特征提取方法為線性預(yù)測分析(linear predictive coding,LPC)。此類分析能夠無須復(fù)雜特征參數(shù)便可以實(shí)現(xiàn)反映語音信號頻譜幅度目的,利用較少的計(jì)算量就能夠得到此組語音信號的特征參數(shù)?;诖私M特征參數(shù),除了能夠有效減少編碼語音信號過程中數(shù)碼率,還能夠把LPC 參數(shù)訓(xùn)練為模板完成存儲,提升識別準(zhǔn)確率,運(yùn)算效率較高。識別過程的信號序列是隨機(jī)序列[12],其對應(yīng)的穩(wěn)態(tài)函數(shù)具體如下式①:
(2)非特定人語音識別技術(shù)
基于語音識別對象來看,實(shí)際識別技術(shù)包含兩類,各自是特定人與非特定人語音識別技術(shù)。根據(jù)本文設(shè)計(jì)的助教機(jī)器人的使用對象為《醫(yī)學(xué)影像設(shè)備學(xué)》課程的所有學(xué)生,該系統(tǒng)采用非特定人語音識別。對于非特定人語音識別訓(xùn)練而言,必須要先針對進(jìn)行足夠量語音信號的語音模型分類分析[13],而后構(gòu)建對應(yīng)模型進(jìn)行相應(yīng)的訓(xùn)練,進(jìn)行細(xì)節(jié)特征的提取,并明確特征差異。采取統(tǒng)計(jì)學(xué)方式確定相應(yīng)基元語音特征,據(jù)此得出參考模型庫,經(jīng)過學(xué)習(xí),達(dá)到較高的識別率。
(1)系統(tǒng)主控模塊
主控模塊是語音識別系統(tǒng)的核心所在[14],其工作過程中具體為:對識別指令予以判斷,提取文本信息,將文本數(shù)據(jù)傳輸?shù)秸Z音合成模塊,進(jìn)行語音轉(zhuǎn)換,由此實(shí)現(xiàn)語音交互控制過程。在硬件設(shè)計(jì)方面,主控模塊為STM32F103C8T6,其是基于ARM Cortex-M3 內(nèi)核的32 位微控制器,兼具穩(wěn)定的中斷管理系統(tǒng)與電源管理系統(tǒng),存在豐富的擴(kuò)展接口。這一芯片的優(yōu)勢在于性能穩(wěn)定、功耗較低、開發(fā)簡便等[15],有效滿足人機(jī)語音交互系統(tǒng)主控制器的要求。
(2)語音識別模塊
語音識別模塊主要是完成語音識別并將結(jié)果傳輸?shù)街骺啬K,利用主控芯片實(shí)現(xiàn)數(shù)據(jù)的處理。本系統(tǒng)在嵌入式處理器外圍擴(kuò)展語音芯片,方法較為便利,僅要求將語音芯片接口和微處理器連接,結(jié)構(gòu)簡易,易于搭建,有效減小了微處理器的計(jì)算壓力,可靠性進(jìn)一步提升,開發(fā)周期顯著縮短。
對于語音識別方案而言,系統(tǒng)采取ICRoute 公司所發(fā)布的LD3320 高性能芯片,此芯片專注于非特定人語音識別,利用頻域特征提取基元語音特征,不要求事先進(jìn)行訓(xùn)練,且能夠達(dá)到至少95%的準(zhǔn)確率。LD3320 和主控制器通信方式具體包含兩類,各自是并行通信與串行外設(shè)接口(serial peripheral interface,SPI)串行通信,相對而言SPI串行通信占用引腳資源較少,是最佳選擇,因而以其來進(jìn)行數(shù)據(jù)傳輸和控制[16]。LD3320 具備最多50 條候選識別句的容量,用戶能夠結(jié)合實(shí)際需求對語句進(jìn)行動態(tài)修改識別。
(3)語音合成模塊
語音合成模塊采用了文字轉(zhuǎn)語音(text to speech,TTS)的轉(zhuǎn)換技術(shù)[17],TTS 語音合成的一般步驟見圖3,編碼后的語音參數(shù)存儲在Flash ROM 中,通過單片機(jī)控制把存儲的語音參數(shù)數(shù)據(jù)進(jìn)行提取且進(jìn)行譯碼,基于既定語音合成方法,實(shí)現(xiàn)語音參數(shù)到數(shù)字語音信號的轉(zhuǎn)換,采取D/A轉(zhuǎn)換器進(jìn)行模擬語音信號轉(zhuǎn)換,放大功率傳輸至揚(yáng)聲器。
圖3 TTS 語音合成的步驟
在語音合成方案上本系統(tǒng)選用語音合成芯片SYN6288(北京宇音天下科技)。與其他形式的TTS 語音芯片相比,SYN6288 進(jìn)行文本控制標(biāo)記用來對輸入語音音量大小進(jìn)行控制,并進(jìn)行語速以及語調(diào)的調(diào)節(jié)等操作,尤其是能夠進(jìn)行標(biāo)點(diǎn)符號靜音時間、字和字間的靜音時間的調(diào)節(jié),使得語氣能夠產(chǎn)生加重或是停頓的感覺。接收需合成的文本數(shù)據(jù)并進(jìn)行語言轉(zhuǎn)換,直接利用脈沖寬度(pulse width modulation,PWM)輸出方式對揚(yáng)聲器進(jìn)行獲取,也能夠與放大電路驅(qū)動揚(yáng)聲器外接[18],實(shí)現(xiàn)語音輸出。
基于Keil MDK 集成環(huán)境,使用C 語言進(jìn)行系統(tǒng)軟件設(shè)計(jì)。語音控制系統(tǒng)軟件采取硬件模塊化設(shè)計(jì),模塊化使得系統(tǒng)可以由多個子系統(tǒng)構(gòu)成,子系統(tǒng)功能逐步實(shí)現(xiàn)后,整體軟件的開發(fā)完成。
(1)軟件開發(fā)環(huán)境
語音控制軟件選擇Keil MDK 作為開發(fā)工具,能夠提供C 編譯器、宏匯編、連接器、庫管理以及具備豐富功能的仿真調(diào)試器,具備整體性的開發(fā)方案,利用集成開發(fā)環(huán)境(uVision)來實(shí)現(xiàn)功能組合。
(2)主程序設(shè)計(jì)
語音控制系統(tǒng)的主程序設(shè)計(jì)選擇中斷方式,具體包含四個步驟,各自是芯片初始化、寫入識別列表、開始識別與響應(yīng)中斷。芯片初始化具體為工作模式設(shè)定、時鐘頻率設(shè)定等;寫入識別列表具體為微控制器針對芯片進(jìn)行標(biāo)準(zhǔn)普通話拼音條目的寫入;開始識別具體為實(shí)現(xiàn)有關(guān)寄存器的設(shè)定;響應(yīng)中斷具體為識別工作啟動后發(fā)出中斷信號,麥克風(fēng)進(jìn)行聲音采集過程能夠引起中斷信號,而中斷程序能夠依據(jù)寄存器值對結(jié)果進(jìn)行分析。
語音識別產(chǎn)生的中斷信號傳給微控制器處理,完成正確有效的語音識別,利用對LD3320 語音識別結(jié)果的讀取,使得寄存器能夠獲取到相應(yīng)的編號,各語音指令均有匹配的編號,依據(jù)編號并基于FATFS 文件系統(tǒng),選取既定音頻文件,之后通過安全數(shù)碼卡(secure digital memory card,SD 卡)抽取512 字節(jié),按照32 字節(jié)每次的速率輸入到SYN6288 的RAM 內(nèi),通過數(shù)據(jù)處理之后,通過D/A轉(zhuǎn)換器來得到模擬音頻信號,揚(yáng)聲器放大后輸出信號,語音控制系統(tǒng)主程序流程圖見圖4。
圖4 系統(tǒng)主程序流程圖
針對該語音識別系統(tǒng)的使用對象為《醫(yī)學(xué)影像設(shè)備學(xué)》課程的學(xué)生,課程主要學(xué)習(xí)內(nèi)容主要分為8 個部分(X 線計(jì)算機(jī)體層成像設(shè)備、X 線發(fā)生裝置、診斷X 線機(jī)、數(shù)字X 線設(shè)備、磁共振成像設(shè)備、超聲成像設(shè)備、核醫(yī)學(xué)成像設(shè)備、圖像存儲與傳輸系統(tǒng))。利用統(tǒng)計(jì)學(xué)方法對該課程的內(nèi)容,包括380 張照片和40 個視頻進(jìn)行問答提取和數(shù)據(jù)整理,共提取出450 個問答,進(jìn)行數(shù)據(jù)庫的存儲。
存儲模塊用來存儲合成語音的文本文件,基于可以獲取更為充足存儲容量進(jìn)行文件存放,并給數(shù)據(jù)讀寫提供便利的目的,文中設(shè)計(jì)將SD 卡當(dāng)作存儲設(shè)備,其具有便攜、通用和安全的特性,采取FATFS 文件系統(tǒng)進(jìn)行文件管理。SD 卡支持SD 模式與SPI 模式存儲。這之中,SPI 模式使用較為普遍,實(shí)現(xiàn)難度小,并且主控模塊存在硬件SPI 接口,所以存儲模塊選擇SPI 通信模式更為適用,利用SPI 接口與主控模塊完成數(shù)據(jù)通信。
基于使得所設(shè)計(jì)語音交互系統(tǒng)的語音識別準(zhǔn)確率、系統(tǒng)穩(wěn)定性以及識別響應(yīng)時間符合要求,要對系統(tǒng)進(jìn)行測試,具體選擇安靜課堂環(huán)境與嘈雜課間環(huán)境兩類,選取4 名非特定測試人員,分別對二、四、六音節(jié)進(jìn)行測試,其中每音節(jié)有3個測試詞語,各詞語進(jìn)行20 次測試,并對指令識別成功次數(shù)予以記錄,對系統(tǒng)語音識別準(zhǔn)確率進(jìn)行統(tǒng)計(jì),測試結(jié)果見表1。
表1 語音交互系統(tǒng)測試效果統(tǒng)計(jì)
進(jìn)行測試的非特定人共計(jì)四名,男女各兩名。結(jié)合表1 數(shù)據(jù)能夠明確,處于安靜課堂環(huán)境條件下,非特定人語音識別率能夠達(dá)到92%,處于嘈雜課間環(huán)境條件下,非特定人語音識別率能夠達(dá)到91.5%。基于語音識別率來看,較之于安靜環(huán)境而言,嘈雜環(huán)境的語音識別率要更低;基于穩(wěn)定性來看,較之于安全環(huán)境而言,嘈雜環(huán)境的穩(wěn)定性也要更低;基于實(shí)時性來看,安靜環(huán)境條件下的語音可以確保系統(tǒng)響應(yīng)實(shí)時性,并能夠控制在1 s 以內(nèi)的響應(yīng)時間,而噪聲環(huán)境條件下所需要的響應(yīng)時間明顯更長。
本系統(tǒng)應(yīng)用于2022 年第二學(xué)期開設(shè)的課程(《醫(yī)學(xué)影像設(shè)備學(xué)》)中,能夠與該課程的學(xué)生進(jìn)行語音交互,完成應(yīng)用與系統(tǒng)驗(yàn)證,取得了良好的教學(xué)效果。實(shí)踐表明,文中設(shè)計(jì)的語音識別模塊具有較高的穩(wěn)定性以及語音識別率,較強(qiáng)的抗噪聲干擾能力、結(jié)構(gòu)簡易、使用便利等優(yōu)勢。并且,由于其強(qiáng)大模塊實(shí)用性,有效適用于服務(wù)機(jī)器人智能空間、智能家居以及消費(fèi)電子等眾多領(lǐng)域,理論價值較高,應(yīng)用前景廣闊。
人機(jī)語音交互是當(dāng)前語音信號處理領(lǐng)域的研究熱點(diǎn)和難點(diǎn),本文對基于STM32 的嵌入式語音識別模塊的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了介紹,闡述了模塊軟件以及硬件構(gòu)成與原理。此系統(tǒng)選擇STM32 微處理器當(dāng)作控制器,采取LD3320 芯片來進(jìn)行非特定人語音識別,應(yīng)用SD 卡進(jìn)行存儲,利用語音合成芯片完成模擬語音信號的輸出,共同作用下實(shí)現(xiàn)人機(jī)語音交互的要求。此語音控制系統(tǒng)設(shè)計(jì)具備較高的模塊化程度,用戶能夠結(jié)合自身需求的針對性增加要求的模塊內(nèi)容。
利用對各音色人員所進(jìn)行的測試驗(yàn)證,以及醫(yī)學(xué)工程、醫(yī)學(xué)影像學(xué)等專業(yè)中《醫(yī)學(xué)影像設(shè)備學(xué)》課程教學(xué)實(shí)踐的驗(yàn)證,該助教機(jī)器人語音控制系統(tǒng)識別效果良好,語音合成自然流暢,系統(tǒng)功能穩(wěn)定,識別正確率平均達(dá)到90%以上,語音交互系統(tǒng)整體達(dá)到了較好的實(shí)驗(yàn)效果,取得了良好的教學(xué)效果。