晁坤 艾樂琛 周慧敏 江淇
【摘 要】隨著語音控制技術的廣泛使用,嵌入式的智能語音控制技術已經(jīng)成為目前語音控制技術的應用熱點。本文通過分析語音控制的基本原理,以凌陽SPCE061A單片機為基本載體,設計了智能小車語音控制系統(tǒng)。實驗證明,在該語音控制系統(tǒng)下的小車能夠準確識別語音,反應快速靈敏。同時,簡潔的外圍電路設計以及廉價的凌陽單片機可以有效地降低智能車的成本。
【關鍵詞】語音識別,單片機,SPCE061A
一、引言
人工智能技術是近幾年的研究熱點,漢語語音識別技術的研究和應用進入蓬勃發(fā)展的階段,正逐步從實驗室理論研究走向應用市場,相關語音信號處理的理論、算法、技術和芯片等軟硬件取得了長足進展,并逐漸進入到人們的日常生活當中。凌陽公司生產(chǎn)的SPCE061A作為一種16位新型單片機,自帶語音系統(tǒng),為實現(xiàn)語音信號的自動識別和自動控制系統(tǒng),提供了便利。已有多種語音識別[1]、語音處理[2]、語音通信[3]、語音門禁、語音機器人[4]和智能玩具[5]等相關的產(chǎn)品設計或研究論文發(fā)表。
本文中采用凌陽SPCE061A單片機作為主控MPU設計出的智能小車,將充分發(fā)揮其便于控制、功能強大、設計電路簡潔等優(yōu)點。
二、語音識別理論
語音模塊是智能機器人的核心構件,它完成的功能包括:機器人從外界接收觀眾的語音,送入語音識別器進行識別,再從識別結果中提取若干關鍵詞,而后通過對這些關鍵詞的分析,完成對關鍵詞的復述。最后將文本形式的答案合成為語音,輸出給觀眾。如果觀眾的問題超出限定的對話范圍或者識別結果可信度不高,則在答案生成階段給出錯誤提示,并由語音合成器輸出。如果機器人想向觀眾提出問題,也要由語音合成器合成后輸出。
論文先從小詞匯量出發(fā)實現(xiàn)語音識別,并依據(jù)實驗仿真結果,對相關算法進行性能評測和理論改進。算法研究相對成熟的基礎上,依托于購置的機器人實體,基于單片機對于所設計的語音識別和語音合成算法,進行硬件方案設計和功能實現(xiàn)。
語音識別系統(tǒng)主要包括特征提取和模板匹配兩部分。特征提取之前,首先要經(jīng)過預處理模塊,濾除原始語音信號中的次要信息及背景噪音等,包括抗混疊濾波、預加重、模/數(shù)轉換、自動增益控制等處理過程,將語音信號數(shù)字化;特征提取模塊對語音的聲學參數(shù)進行分析后提取出語音特征參數(shù),形成特征矢量序列。語音識別系統(tǒng)常用的特征參數(shù)有短時平均幅度、短時平均能量、線性預測編碼系數(shù)、短時頻譜等。特征提取和選擇是構建系統(tǒng)的關鍵,對識別效果極為重要。
語音識別技術有著非常廣泛的應用領域和市場前景。在語音輸入控制系統(tǒng)中,它使得人們可以甩掉鍵盤,通過識別語音中的要求、請求、命令或詢問來作出正確的響應,
三、系統(tǒng)設計方案
本設計以SPCE061A單片機作為語音識別的控制核心,本設計的硬件電路主要包括:麥克風(MIC)輸入模塊電路、SPCE061A單片機和輸出模塊電路和通信模塊電路等。
3.1 SPCE061A單片機
SPCE061A單片機是凌陽公司推出的16位一款單片機, 具有速度快、價格低、耗能低、簡便可靠等顯著的優(yōu)勢。
凌陽SPCE061A單片機在具備微處理器功能的基礎上, 兼具DSP運算功能, 具有低電壓、高系統(tǒng)工作頻率特點, 可以快速處理復雜的數(shù)字語音信號,單片機芯片內(nèi)集具自動增益控制功能的麥克風(MIC)輸入方式以及音頻輸出(DAC)功能, 使用SACM-S240音頻編碼方式, 容納210s的語音數(shù)據(jù),提供豐富的C函數(shù)庫和語音處理函數(shù)庫, 適合開發(fā)語音識別和數(shù)字語音產(chǎn)品。該單片機的這一特征, 使得硬件電路要外接的器件達到最少。
SPCE061A具有喚醒功能, 當輸入電平發(fā)生變化的時侯會觸發(fā)中斷CPU, 而在電池供電需要降低功耗時, 可以讓CPU快速進入睡眠模式, 需要時喚醒進入工作狀態(tài)。故SPCE061A成為數(shù)字語音識別應用領域產(chǎn)品理想經(jīng)濟的選擇。
3.2 語音模塊及電機模塊設計
3.2.1 識別訓練
正是因為語音識別系統(tǒng)的硬件電路比較簡單,所以語音識別系統(tǒng)功能的實現(xiàn)大部分就由其軟件來完成。因此說,語音識別系統(tǒng)的軟件設計是十分復雜的。下圖1所示是主程序流程圖。在主程序中開始是對RMA存儲器進行清除,這為存放提取的語音信號的特征矢量和模板庫做準備。播放第一條提示音是為了提醒用戶系統(tǒng)的語音訓練己啟動,現(xiàn)在可以進行訓練。訓練首先是此系統(tǒng)的觸發(fā)名稱,即系統(tǒng)的名字。接下來就是依次對各條命令進行訓練。在訓練過程中,如訓練成功,則有語音提示進行下一條的訓練;如出現(xiàn)訓練失敗也會提示用戶繼續(xù)訓練此條語音。直到全部命令訓練完畢后,系統(tǒng)將準備進行語音識別,識別初始化是確定語音輸入來源于A心轉換器的MCI通道。播放開始識別的提示音是為了讓用戶明確現(xiàn)在可以向系統(tǒng)下達命令了。系統(tǒng)接到命令后就開始進行識別,如識別成功,則系統(tǒng)會按命令執(zhí)行,如識別失敗,系統(tǒng)也會通過語音提示告訴用戶不能識別的原因。
3.2.2 語音輸入設計
語音輸入的基本原理是通過A/D轉換器將語音信號轉換為數(shù)字信號,通過編碼后存入指定的存儲器中。SPCE061A單片機的A/D轉換器總共有8個通道,其中一個通道是MIC- IN輸入,它專門用來對語音信號進行采樣。然后將采樣信號轉換成電信號,輸入至SPCE061A的內(nèi)部前置放大電路。語音輸入功能主要是調用SACM DVR模塊實現(xiàn)的,因此音頻信號的采樣頻率是8 kHz,且按照SACM A2000算法進行壓縮編碼,每秒占用的存儲空間為16 Kb/s,產(chǎn)生的語音數(shù)據(jù)存放在擴展SRAM HM628128A中,其容量為128 KB。HM628128A與SPCE061A板之間通過IOA和IOB進行接口。語音輸入電路如圖2所示,注意該圖中SPCE061A引腳MICP(33腳)為MIC的正向輸入腳;MICN(2 8腳)為 MIC的負向輸入腳。
3.2.3 語音輸出設計
語音輸出的基本原理是通過外擴SRAMHM628128A中存儲語音數(shù)據(jù)順序取出,調SACM- lib庫中的SACM A2000模塊,經(jīng)SACM A2000壓縮算法解碼后,以8 kHz的速率進行D/A轉換,然后通過內(nèi)部濾波電路濾去噪聲,恢復原始波形,由8050晶體管驅動揚聲器放音。語音輸出電路如圖3所示,注意該圖中SPCE061A引腳DAC1(21腳)為音頻輸出通道1。
四、結束語
綜上所述,采取凌陽SPEC061A單片機作為語音識別處理器, 在保證人機交互、高速運轉的情況下, 實現(xiàn)了低投入、高產(chǎn)出、簡便適用、切實可行的效果。值得推廣。語音識別主要是在人機之間充分實現(xiàn)自然語言通信,因為單片機自身在作為語音識別硬件方面的眾多優(yōu)勢,所以它已經(jīng)成為現(xiàn)代智能語音識機器人的主要硬件平臺。可以說目前世界上的語音識別技術已經(jīng)非常先進,出現(xiàn)的人工智能更是極大的改變了,然后是在人工智能上的語音識別技術目前還有很大突破空間。在基于單片機的智能語音識別機器人的具體設計開發(fā)過程中,通常需要做好系統(tǒng)硬件設計、系統(tǒng)軟件設計、系統(tǒng)語音答復、系統(tǒng)語音識別等多個環(huán)節(jié)的工作,這就要求相關技術人員熟練掌握各項技術要點,并將其正確應用到實踐設計過程中。只有這樣才能更好地完成相關的智能語音識別機器人設計任務,推動語音識別技術的進一步發(fā)展與廣泛應用。
【參考文獻】
[1] 徐琳珊,唐祁南,姜林奇,靳韻澤,王彥. 基于SPCE061A單片機的嵌入式語音識別系統(tǒng)的研究[J].電子技術,2018,47(12):37-38.
[2] 王光艷,金正擔.基于SPCE061A的智能語音處理系統(tǒng)設計[J]. 微計算機信息, 2009, 25(20): 62-64.
[3] 吳鵬飛, 張良, 李得全. 基于SPCE061A單片機的X射線語音通信系統(tǒng)[J]. 電子測量技術, 2018(1):86-91.
[4] 薛嵐,楊帥,張賽,王曉楠.智能語音機器人的硬件開發(fā)與設計[J]. 電子世界, 2013(13): 146-147.