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