SD178A型集成式TTS處理器及其串行接口
摘要:SDA178是臺(tái)灣翔音公司推出的集成式“文字轉(zhuǎn)發(fā)音”(TTS)單芯片處理器,該處理器以真人發(fā)音為樣本,輸出的語音真實(shí)、自然。介紹該處理器的工作原理及應(yīng)用,給出SD178A與微處理器的接口電路及軟件程序。
關(guān)鍵詞:文字轉(zhuǎn)發(fā)音;SD178A;串行接口;處理器
1 引言
隨著計(jì)算機(jī)和多媒體技術(shù)的發(fā)展與應(yīng)用,對(duì)計(jì)算機(jī)語音輸出的要求愈加迫切,應(yīng)用也愈加廣泛。語音是人類最自然的交互方式,也是現(xiàn)階段軟件用戶界面發(fā)展的最高目標(biāo),語音技術(shù)包括語音識(shí)別(Speech Recognition)和語音合成(Speech Synthesis,即文字轉(zhuǎn)語音"TTS"(text-to-speech))。語音識(shí)別用于告訴電腦我們想讓它干什么。而語音合成則可讓電腦告訴我們它想讓我們知道什么,利用這種技術(shù)可以完成人機(jī)交互。目前,無論是在研究方面還是應(yīng)用方面,語音合成技術(shù)都處在發(fā)展期,有的已經(jīng)投入實(shí)際應(yīng)用。而文字轉(zhuǎn)語音技術(shù)TTS(text-to-speech)及相關(guān)產(chǎn)品也得到很多廠商的推廣,如Microsoft)公司推出的純軟件性質(zhì)的TTS處理軟件包(SAPI SDK軟件包),華邦電子推出的WTS701型語音處理電路等。
SD178A是我國臺(tái)灣翔音公司推出的單芯片TTS處理器,它采用真人發(fā)音為樣本,輸出的語音真實(shí)、自然、可將漢字及ASCⅡ碼轉(zhuǎn)換為語音輸出。例如SD178A可以制作很多帶語音功能的設(shè)備和日常用品,如會(huì)說話的GPS、會(huì)說話的三用電表、會(huì)說話的血壓計(jì)、會(huì)說話的體溫計(jì)、會(huì)說話的書籍等。
2 SD178A的特點(diǎn)及工作原理
SD178A具有如下的特點(diǎn):
●工作電壓范圍為2.6V-5.2V;
●工作電流僅為1mA;
●具有睡眠省電模式及喚醒功能,待機(jī)電流僅為1μA;
●設(shè)置了標(biāo)點(diǎn)符號(hào)的靜音時(shí)間及字與字間的靜音時(shí)間;
●采用單一時(shí)鐘及RC振蕩方式;
●內(nèi)含12位的A/D轉(zhuǎn)換器及D/A轉(zhuǎn)換器;
●支持英文男女發(fā)音和中文女音發(fā)音。
SD178A的內(nèi)部結(jié)構(gòu)如圖1所示,內(nèi)部帶有1個(gè)30字節(jié)的文本緩沖存儲(chǔ)器,輸入的中文或ASCⅡ碼來自SD178A的輸入端并暫時(shí)存放在該文本緩沖區(qū),SD178A會(huì)自動(dòng)將該文本緩沖區(qū)的資料及時(shí)轉(zhuǎn)換為高品質(zhì)的語音輸出,同時(shí)將存放在該本文緩沖區(qū)的已轉(zhuǎn)換過的信息清除,以便輸入的文字不斷地進(jìn)入該文本緩沖區(qū)。SD178A還提供多種控制命令,如停止播放、暫停播放、重新啟動(dòng)及調(diào)整文字間(或文字及標(biāo)點(diǎn)間)靜音時(shí)間的長度等。在電池供電裝置中,節(jié)電是很重要的,SD178A不僅提供了讓其自身進(jìn)入睡眠省電模式的命令及轉(zhuǎn)換功能,而且還提供了PWDN引腳,以便與SD178A相連的其他器件也可在SD178A的睡眠省電模式進(jìn)入睡眠省電模式。SD178A的引腳功能如表1所列。
3 SD178A的應(yīng)用
3.1 SD178A與微處理器的接口
SD178A可直接與其他微處理器相連,如圖2所示,圖中RYD、SCLK和SDI用于與主控制器進(jìn)行串行通信,當(dāng)RDY為低電平時(shí),表示SD178A正處于準(zhǔn)確接收資料的狀態(tài),SCLK由高電平變?yōu)榈碗娖綍r(shí),SD178A會(huì)讀取SDI線的狀態(tài)信號(hào)。
3.2 SD178A的TTS功能
等待轉(zhuǎn)換為語音的文字暫時(shí)存放在文本緩沖區(qū)中,由SD178A依序進(jìn)行處理,為控制這一過程,系統(tǒng)提供了7個(gè)命令(如表2所示)這些命令有較高的優(yōu)先權(quán),會(huì)被系統(tǒng)優(yōu)先執(zhí)行。
3.3 SD178A輸出端的控制命令碼
SD178A提供2個(gè)輸出端的控制命令碼,即0x8A和0x8B,分別用來控制輸出端PA0-PA7及PC0-PC5的狀態(tài),命令碼0x8A和0x8B后面緊跟要輸出的信息碼(均為8位)如表3所示,命令碼0x8A和0x8B輸出的時(shí)序如圖3所示。
使用2個(gè)命令碼0x8A和0x8B時(shí),應(yīng)注意SD178A緩沖器內(nèi)要轉(zhuǎn)換為語音的信息必須全部備處理完;表2中b7-b0的信息不會(huì)被轉(zhuǎn)換為語音,而且被輸出到PA7-PA0和PC5-PC0端口,表3中b7-b0的信息也不能插在漢字碼的0和1碼之間。
3.4 SD178A的實(shí)現(xiàn)TTS功能的軟件接口
SD178A實(shí)現(xiàn)TTS功能的軟件可分為主控制器軟件接口和SD178A控制接口,其流程分別如圖4和圖5所示。
4 結(jié)束語
與其他形式的TTS相比,SD178A有很多更具人性化的設(shè)計(jì),如設(shè)置了標(biāo)點(diǎn)符號(hào)的靜音時(shí)間及字與字間的靜音時(shí)間,并且靜音時(shí)間也可通過設(shè)置來調(diào)節(jié)其長短,使人感覺有一種語氣上加重或停頓的味道,聽起來更具感情色彩,利用SD178A的TTS語音電路可以生產(chǎn)很多帶語音提示功能的產(chǎn)品,如會(huì)說話的血壓計(jì)、會(huì)說話的體溫計(jì)、會(huì)說話的書籍等。