李康平
(安徽醫科大學第一附屬醫院 醫學工程部,安徽 合肥 230000)
隨著互聯網的飛速發展,信息網絡技術和遠程醫療技術不斷進步,互聯網技術給教育帶來了機遇和挑戰[1]。新冠疫情依舊持續,極大地改變了我們的生活,一方面“互聯網醫療”在實際生活中的應用越來越多,用戶使用習慣進一步養成[2];另一方面在此次疫情的催化下,也給教育發展提供了新的平臺,在線教育的優勢越來越明顯。在疫情的影響下,教育部門提出了“停課不停學”的方案,改變了傳統的教學模式[3]。按下線下教學暫停鍵的同時,也按下了線上教學開啟鍵,擴大了“互聯網+教育”的市場。
“互聯網+教育”最常用的人機交互方式之一是語音交互,在絕大多數場景中,均利用語言來完成信息傳遞,原因就在于其信息容量與智能水平均處在最高位[4]。結合現階段有關于需求的研究可以明確,人機交互與智能控制領域研究的目光主要聚焦于人類語音控制機器的實現[5]。在人工智能、自動化控制等方面的技術持續革新發展背景下,語音交互的實現已經具備了充足的條件,由于其效率高、靈活性強,從而備受眾多研究人員的青睞,實現程度也在不斷加深[6],可以說,智能控制的發展必然與語音控制技術的完善與突破緊密關聯。
國內外已經有部分學校嘗試采取機器人輔助教學。國內名為“NAO”的機器人在東北大學的課堂為該校機械工程與自動化學院大四的學生們講授了《機電信號處理及應用》課程,引來了大家的關注和學習[7]。國外也有非常成功的教學案例,美國佐治亞理工大學引入了叫做吉爾-沃特森的機器人來充當助教,其能夠實現授課的功能,幫助畢業生們解決畢業論文中遇到的各種問題,并且該機器人為學生答疑五個月也未被發現[8]。機器人教師走進學校開始進行試驗性教學,可以完成教學大綱里規定的教學任務,雖然助教機器人可以應用到不同的科目中,但還未應用于高等院校的醫學工程、醫學影像學等專業,因此我們以《醫學影像設備學》的課程為依托,進行語音問答的收集、整理和存儲,本文設計一款助教機器人幫助學生學習該課程的專業知識,同時減輕老師教學壓力。
語言控制系統基于模塊化體系來進行設計,以此來給系統的后續維護與功能提升提供便利。在總體結構上,系統由四個模塊所構成,各自為電源模塊、主控模塊、語音識別模塊、語音合成模塊以及存儲模塊。具體來看,電力來源為電源模塊,其他各子模塊所需電能均來源于此,主控模塊主要負責和其他模塊進行數據通信與數據處理,麥克風把獲取到的語音信息傳送至語音識別模塊,通過語音識別模塊實現語音指令的采集,同時進行指定語音指令的識別,識別內容具體包含對話語音指令與語音合成指令,其后語音合成模塊完成文本文件內容的語音轉換,完成播放,存儲模塊用來存儲用戶將要轉換成語音的文本文件,語音控制系統總體設計框圖見圖1。

圖1 語言交互系統總框圖
語音識別能夠完成人類語音信號的預處理與特征提取,通過測試以及訓練,將其和計算機所存儲的標準模型進行比較,隨之進行結果的識別與判定[9]。語音識別具體包含兩個流程,各自是訓練與識別階段,見圖2。對于訓練階段而言,用戶在進行相應次數訓練語音的輸入后,利用預處理與特征提取將語音信號來進行分組,實際分組過程以幀為依據[10],其后對各幀對應的特征矢量進行計算,求得此語音模板,最終利用特征建模的方式構建的訓練語音對應的參考模型庫。在識別時,對待識別的語音信號進行特征提取后,模塊依據相應的算法,把輸入語音的特征矢量參數與參考模型庫所包含的參考模型實施相似性度量比較,之后把相似性最高的輸入特征矢量當作識別結果予以輸出。

圖2 語音識別原理框圖
(1)特征提取
語音識別系統的工作過程中,關鍵步驟就是進行特征提取,具體包含時域特征提取和頻域特征提取兩方面內容。本系統采用的是頻域特征提?。?1],使用的特征提取方法為線性預測分析(linear predictive coding,LPC)。此類分析能夠無須復雜特征參數便可以實現反映語音信號頻譜幅度目的,利用較少的計算量就能夠得到此組語音信號的特征參數?;诖私M特征參數,除了能夠有效減少編碼語音信號過程中數碼率,還能夠把LPC 參數訓練為模板完成存儲,提升識別準確率,運算效率較高。識別過程的信號序列是隨機序列[12],其對應的穩態函數具體如下式①:
(2)非特定人語音識別技術
基于語音識別對象來看,實際識別技術包含兩類,各自是特定人與非特定人語音識別技術。根據本文設計的助教機器人的使用對象為《醫學影像設備學》課程的所有學生,該系統采用非特定人語音識別。對于非特定人語音識別訓練而言,必須要先針對進行足夠量語音信號的語音模型分類分析[13],而后構建對應模型進行相應的訓練,進行細節特征的提取,并明確特征差異。采取統計學方式確定相應基元語音特征,據此得出參考模型庫,經過學習,達到較高的識別率。
(1)系統主控模塊
主控模塊是語音識別系統的核心所在[14],其工作過程中具體為:對識別指令予以判斷,提取文本信息,將文本數據傳輸到語音合成模塊,進行語音轉換,由此實現語音交互控制過程。在硬件設計方面,主控模塊為STM32F103C8T6,其是基于ARM Cortex-M3 內核的32 位微控制器,兼具穩定的中斷管理系統與電源管理系統,存在豐富的擴展接口。這一芯片的優勢在于性能穩定、功耗較低、開發簡便等[15],有效滿足人機語音交互系統主控制器的要求。
(2)語音識別模塊
語音識別模塊主要是完成語音識別并將結果傳輸到主控模塊,利用主控芯片實現數據的處理。本系統在嵌入式處理器外圍擴展語音芯片,方法較為便利,僅要求將語音芯片接口和微處理器連接,結構簡易,易于搭建,有效減小了微處理器的計算壓力,可靠性進一步提升,開發周期顯著縮短。
對于語音識別方案而言,系統采取ICRoute 公司所發布的LD3320 高性能芯片,此芯片專注于非特定人語音識別,利用頻域特征提取基元語音特征,不要求事先進行訓練,且能夠達到至少95%的準確率。LD3320 和主控制器通信方式具體包含兩類,各自是并行通信與串行外設接口(serial peripheral interface,SPI)串行通信,相對而言SPI串行通信占用引腳資源較少,是最佳選擇,因而以其來進行數據傳輸和控制[16]。LD3320 具備最多50 條候選識別句的容量,用戶能夠結合實際需求對語句進行動態修改識別。
(3)語音合成模塊
語音合成模塊采用了文字轉語音(text to speech,TTS)的轉換技術[17],TTS 語音合成的一般步驟見圖3,編碼后的語音參數存儲在Flash ROM 中,通過單片機控制把存儲的語音參數數據進行提取且進行譯碼,基于既定語音合成方法,實現語音參數到數字語音信號的轉換,采取D/A轉換器進行模擬語音信號轉換,放大功率傳輸至揚聲器。

圖3 TTS 語音合成的步驟
在語音合成方案上本系統選用語音合成芯片SYN6288(北京宇音天下科技)。與其他形式的TTS 語音芯片相比,SYN6288 進行文本控制標記用來對輸入語音音量大小進行控制,并進行語速以及語調的調節等操作,尤其是能夠進行標點符號靜音時間、字和字間的靜音時間的調節,使得語氣能夠產生加重或是停頓的感覺。接收需合成的文本數據并進行語言轉換,直接利用脈沖寬度(pulse width modulation,PWM)輸出方式對揚聲器進行獲取,也能夠與放大電路驅動揚聲器外接[18],實現語音輸出。
基于Keil MDK 集成環境,使用C 語言進行系統軟件設計。語音控制系統軟件采取硬件模塊化設計,模塊化使得系統可以由多個子系統構成,子系統功能逐步實現后,整體軟件的開發完成。
(1)軟件開發環境
語音控制軟件選擇Keil MDK 作為開發工具,能夠提供C 編譯器、宏匯編、連接器、庫管理以及具備豐富功能的仿真調試器,具備整體性的開發方案,利用集成開發環境(uVision)來實現功能組合。
(2)主程序設計
語音控制系統的主程序設計選擇中斷方式,具體包含四個步驟,各自是芯片初始化、寫入識別列表、開始識別與響應中斷。芯片初始化具體為工作模式設定、時鐘頻率設定等;寫入識別列表具體為微控制器針對芯片進行標準普通話拼音條目的寫入;開始識別具體為實現有關寄存器的設定;響應中斷具體為識別工作啟動后發出中斷信號,麥克風進行聲音采集過程能夠引起中斷信號,而中斷程序能夠依據寄存器值對結果進行分析。
語音識別產生的中斷信號傳給微控制器處理,完成正確有效的語音識別,利用對LD3320 語音識別結果的讀取,使得寄存器能夠獲取到相應的編號,各語音指令均有匹配的編號,依據編號并基于FATFS 文件系統,選取既定音頻文件,之后通過安全數碼卡(secure digital memory card,SD 卡)抽取512 字節,按照32 字節每次的速率輸入到SYN6288 的RAM 內,通過數據處理之后,通過D/A轉換器來得到模擬音頻信號,揚聲器放大后輸出信號,語音控制系統主程序流程圖見圖4。

圖4 系統主程序流程圖
針對該語音識別系統的使用對象為《醫學影像設備學》課程的學生,課程主要學習內容主要分為8 個部分(X 線計算機體層成像設備、X 線發生裝置、診斷X 線機、數字X 線設備、磁共振成像設備、超聲成像設備、核醫學成像設備、圖像存儲與傳輸系統)。利用統計學方法對該課程的內容,包括380 張照片和40 個視頻進行問答提取和數據整理,共提取出450 個問答,進行數據庫的存儲。
存儲模塊用來存儲合成語音的文本文件,基于可以獲取更為充足存儲容量進行文件存放,并給數據讀寫提供便利的目的,文中設計將SD 卡當作存儲設備,其具有便攜、通用和安全的特性,采取FATFS 文件系統進行文件管理。SD 卡支持SD 模式與SPI 模式存儲。這之中,SPI 模式使用較為普遍,實現難度小,并且主控模塊存在硬件SPI 接口,所以存儲模塊選擇SPI 通信模式更為適用,利用SPI 接口與主控模塊完成數據通信。
基于使得所設計語音交互系統的語音識別準確率、系統穩定性以及識別響應時間符合要求,要對系統進行測試,具體選擇安靜課堂環境與嘈雜課間環境兩類,選取4 名非特定測試人員,分別對二、四、六音節進行測試,其中每音節有3個測試詞語,各詞語進行20 次測試,并對指令識別成功次數予以記錄,對系統語音識別準確率進行統計,測試結果見表1。

表1 語音交互系統測試效果統計
進行測試的非特定人共計四名,男女各兩名。結合表1 數據能夠明確,處于安靜課堂環境條件下,非特定人語音識別率能夠達到92%,處于嘈雜課間環境條件下,非特定人語音識別率能夠達到91.5%?;谡Z音識別率來看,較之于安靜環境而言,嘈雜環境的語音識別率要更低;基于穩定性來看,較之于安全環境而言,嘈雜環境的穩定性也要更低;基于實時性來看,安靜環境條件下的語音可以確保系統響應實時性,并能夠控制在1 s 以內的響應時間,而噪聲環境條件下所需要的響應時間明顯更長。
本系統應用于2022 年第二學期開設的課程(《醫學影像設備學》)中,能夠與該課程的學生進行語音交互,完成應用與系統驗證,取得了良好的教學效果。實踐表明,文中設計的語音識別模塊具有較高的穩定性以及語音識別率,較強的抗噪聲干擾能力、結構簡易、使用便利等優勢。并且,由于其強大模塊實用性,有效適用于服務機器人智能空間、智能家居以及消費電子等眾多領域,理論價值較高,應用前景廣闊。
人機語音交互是當前語音信號處理領域的研究熱點和難點,本文對基于STM32 的嵌入式語音識別模塊的設計與實現進行了介紹,闡述了模塊軟件以及硬件構成與原理。此系統選擇STM32 微處理器當作控制器,采取LD3320 芯片來進行非特定人語音識別,應用SD 卡進行存儲,利用語音合成芯片完成模擬語音信號的輸出,共同作用下實現人機語音交互的要求。此語音控制系統設計具備較高的模塊化程度,用戶能夠結合自身需求的針對性增加要求的模塊內容。
利用對各音色人員所進行的測試驗證,以及醫學工程、醫學影像學等專業中《醫學影像設備學》課程教學實踐的驗證,該助教機器人語音控制系統識別效果良好,語音合成自然流暢,系統功能穩定,識別正確率平均達到90%以上,語音交互系統整體達到了較好的實驗效果,取得了良好的教學效果。