高性能語音撥號器的設(shè)計與實現(xiàn)
摘要:以數(shù)字信號處理器ADSP2186L為核心,通過單片機進行系統(tǒng)控制,設(shè)計語音撥號器,實現(xiàn)語音控制的自動撥號功能。
本文引用地址:http://www.ex-cimer.com/article/242291.htm關(guān)鍵詞:DSP 語音識別 雙音多頻
隨著語音信號處理理論以及超大規(guī)模集成電路的發(fā)展,語音識別、語音編碼以及語音合成技術(shù)逐步走向?qū)嵱没?。國外已有相?yīng)的應(yīng)用電子產(chǎn)品問世(如美國Sensory公司的產(chǎn)品),國內(nèi)市場上也出現(xiàn)了具備語音識別功能的手機(如PHILIPS,SAMSUNG等公司的產(chǎn)品)。本文介紹的基于ADSP2186L的語音撥號器集語音識別、語音編解碼、語音提示、語音合成以及雙音多頻撥號功能于一體,與現(xiàn)有產(chǎn)品相比具有容量大,識別率高,使用方便的優(yōu)點。
1 系統(tǒng)功能
·可存儲200個用戶詞條,800個電話號碼。
·支持語音查詢方式,用戶只需口述詞條,即可獲得相應(yīng)的電話號碼。同時兼容手動查詢方式。
·具有方便的編輯功能(增加、刪除、修改用戶記錄)。
·具有雙音多頻撥號功能,使用普通電話機便可實現(xiàn)自動撥號。
2 系統(tǒng)整體模塊設(shè)計
整個系統(tǒng)可分為信號處理單元,系統(tǒng)控制單元和用戶界面單元共三個功能模塊。
2.1 信號處理單元
本單元包括數(shù)字信號處理器,編解碼器和存儲器。
作為系統(tǒng)語音信號處理核心的ADSP2186L是ANALOG DEVICES公司生產(chǎn)的低電壓16位定點數(shù)字信號處理器。該芯片具有以下特點:
· 運算速度33MIPS;
·片內(nèi)含40K Byte RAM,分為16K Byte的程序RAM及24K Byte的數(shù)據(jù)RAM;
·兩路獨立可編程全雙工串行通信接口,支持A律/μ律的硬件語音解壓擴,支持自動緩沖區(qū)操作;
·4M Byte的外部尋址空間;
·支持內(nèi)外存之間的DMA操作;
·13個可編程的I/O口。
DSP在系統(tǒng)中主要完成語音信號的特征提取,端點檢測和模板匹配,同時負責(zé)用戶記錄的管理。
與ADSP2186L配套使用的是ANALOG DEVICES公司最新生產(chǎn)的低電壓16位編解碼器AD73311L,該芯片通過設(shè)置相應(yīng)的寄存器可實現(xiàn)8~64kHz的多種采樣頻率,具有可編程的輸入輸出增益控制。該芯片在系統(tǒng)中完成語音信號的A/D,D/A轉(zhuǎn)換。
系統(tǒng)存儲器選用SILICON STORAGE TECHNOLOGY公司生產(chǎn)的8M位快閃存儲器(Flash Memory)SST39VF080Q,主要存儲兩部分內(nèi)容,DSP的應(yīng)用程序和用戶的語音記錄數(shù)據(jù)。該芯片具有軟件寫保護功能,可以防止應(yīng)用程序的意外更改,全片分為256個4KByte的扇區(qū),適于語音記錄的存取。
2.2 系統(tǒng)控制單元
選用SAMSUNG公司生產(chǎn)的4位單片機KS57C2308,該芯片主要負責(zé)系統(tǒng)整體流程控制以及用戶界面控制。KS57C2308具有較寬的工作電壓,同時提供段式液晶的驅(qū)動,具有較強的I/O操作能力,適合應(yīng)用于要求多個I/O口以及液晶顯示的工作環(huán)境。采用KS57C2308可以簡化系統(tǒng),并使系統(tǒng)具有較好的外部接口擴展能力。
2.3 用戶界面單元
包括鍵盤、液晶、駐極話筒和揚聲器四部分。
系統(tǒng)硬件模塊結(jié)構(gòu)如圖1所示。
2.4數(shù)字信號處理器與編解碼器之間的通信
數(shù)字信號處理器ADSP2186L與編解碼器之間的通信通過獨立的串行口完成。具體連線如圖2所示,信號說明如表1所示。
表1 信號說明
引腳名稱 | 作 用 |
SCLK | 串口位時鐘 |
RFS | 接收幀同步時鐘 |
TFS | 發(fā)送幀同步時鐘 |
DR | 數(shù)據(jù)接收引腳 |
DT | 數(shù)據(jù)發(fā)送引腳 |
由于AD73311L采取自接外部晶振,通過內(nèi)部設(shè)置分頻寄存器確定采樣率的工作方式,ADSP2186L的SCLK、TFS,RFS均設(shè)為外部輸入。采用DSP的串口時序進行通信。
2.5 數(shù)字信號處理其余單片機間的通信
ADSP2186L與單片機的接口與此類似,區(qū)別在于ADSP2186L的SCLK、TFS、RFS均設(shè)為內(nèi)部輸出。單片機通過通用的I/O口模擬DSP的串口時序,通信協(xié)議采用自定義的數(shù)據(jù)包格式,速度快,可靠性高。單片機同時控制DSP的復(fù)位引腳,進一步保證系統(tǒng)工作的可靠性。
2.6 數(shù)字信號處理器與外部存儲器的接口
DSP與外部存儲器之間通過地址和數(shù)據(jù)總線連接,利用DSP的BMS、WR、RD引腳實現(xiàn)對外部存儲器存的片選及讀寫控制。系統(tǒng)復(fù)位時,DSP由外部存儲器中自動加載程序,系統(tǒng)運行過程中的數(shù)據(jù)通過DMA方式進行傳輸。
單片機通過專用的液晶驅(qū)動引腳控制液晶,通過通用的I/O引腳完成鍵盤掃描。
3 系統(tǒng)軟件實現(xiàn)
系統(tǒng)軟件采取模塊化設(shè)計,根據(jù)功能將DSP的程序分為10個基本模塊。
(1)系統(tǒng)初始化
初始化內(nèi)容包括算法參數(shù),狀態(tài)變量,端口設(shè)置。
(2)通信接口
主要功能是接收單片機指令,并在完成相應(yīng)的操作序列后回送操作結(jié)果。
(3)語音記錄
使用DSP的自動緩沖區(qū)技術(shù),在用戶口述詞條的過程中,實時提取用于識別和回放的特征參數(shù),利用高性能的端點檢測算法去除靜音段及噪聲段,將實際語音段的特征數(shù)據(jù)保存在數(shù)據(jù)RAM中。
(4)語音識別
使用模式識別方法將數(shù)據(jù)RAM中的特征參數(shù)與外部存儲器中保存的現(xiàn)有用戶記錄相比較,找出最相近的記錄作為識別結(jié)果,獲得相應(yīng)的記錄指針。
(5)語音提示
利用預(yù)先編碼的數(shù)據(jù)合成語音,用于對用戶的相應(yīng)操作進行提示,方便用戶使用,減少誤操作的可能性。編解碼采用多脈沖線性預(yù)測編碼(Multi-Pulse Linear Predict Code)算法,能以較低的碼率獲得較高質(zhì)量的合成語音。
(6)語音回放
利用“語音記錄”過程中提取的回放特征參數(shù)合成語音,用于用戶檢驗記錄結(jié)果或識別結(jié)果。根據(jù)參數(shù)提取的實時性要求,此處采取速度快,合成質(zhì)量好的編解碼算法。
(7)增加記錄
將“語音記錄”中提取的特征參數(shù)連同相應(yīng)的用戶電話號碼存入外部存儲器。同時修改記錄指針。
(8)修改記錄
保持記錄的特征參數(shù)不變,只修改電話號碼。
(9)刪除記錄
刪除整個用戶記錄,包括特征參數(shù)和電話號碼,同時清除相應(yīng)指針。
(10)雙音多頻撥號
利用級數(shù)展開的方法合成正弦信號,經(jīng)編解碼器進行D/A轉(zhuǎn)換后至揚聲器輸出,實現(xiàn)自動撥號功能。
單片機利用鍵盤接收用戶指令,通過功能模塊的不同組合方式,可以形成多種控制流程,以適應(yīng)不同應(yīng)用場合的需要。
系統(tǒng)軟件框圖如圖3所示。
4 系統(tǒng)性能測試
本系統(tǒng)具有較高的識別率,對于普通詞條,識別率超過99%,對于發(fā)音相近的易混淆詞條,如“李平,李寧,李丁”,識別率也可達到90%以上。同時,本系統(tǒng)具有良好的用戶界面,用戶在語音提示下完成相應(yīng)操作,方便快捷。
本系統(tǒng)具備語音撥號器的基本功能,由于它的軟件和硬件設(shè)計都具有模塊化特性,很容易改造成適用于其他應(yīng)用場合的語音控制系統(tǒng)。因此,本系統(tǒng)具有較為廣泛的應(yīng)用前景。
評論