一種基于DSP的中文語(yǔ)音合成系統(tǒng)設(shè)計(jì)
0 引言
隨著語(yǔ)音信號(hào)處理技術(shù)的不斷發(fā)展與成熟,語(yǔ)音合成正逐步成為信息技術(shù)中人機(jī)接口的關(guān)鍵技術(shù)。DSP芯片,即數(shù)字信號(hào)處理器,是專門(mén)為快速實(shí)現(xiàn)各種信號(hào)處理算法而設(shè)計(jì)的、具有特殊結(jié)構(gòu)的微處理器,其處理速度比最快的CPU還快10~50倍。本文介紹的就是一種基于DSP的中文語(yǔ)音合成系統(tǒng)的實(shí)現(xiàn)方法。
1 系統(tǒng)總體方案
語(yǔ)音合成的最大特點(diǎn)就是要從有限的存儲(chǔ)單元中合成出無(wú)限字匯的連續(xù)語(yǔ)句來(lái)[1]。為了做到這一點(diǎn),本系統(tǒng)設(shè)計(jì)了由(1)前端預(yù)處理模塊將輸入文本文件轉(zhuǎn)換成系統(tǒng)可以處理的標(biāo)準(zhǔn)格式;(2)韻律規(guī)則庫(kù)給出當(dāng)前語(yǔ)言環(huán)境下各個(gè)音節(jié)的韻律特征參數(shù);(3)語(yǔ)音合成器根據(jù)給定的韻律特征參數(shù)對(duì)原始語(yǔ)音庫(kù)中相應(yīng)語(yǔ)音單元的聲學(xué)參數(shù)進(jìn)行調(diào)整;(4)將經(jīng)過(guò)調(diào)整的各個(gè)語(yǔ)音單元拼接在一起,得到相應(yīng)于輸入文本的連續(xù)語(yǔ)音輸出等4個(gè)基本流程組成。系統(tǒng)基本原理框圖如圖1所示。
2 硬件系統(tǒng)設(shè)計(jì)
*基金項(xiàng)目:湖南省教育廳(03C025)
該中文語(yǔ)音合成系統(tǒng)的目的是對(duì)輸入的文本文件能夠清晰地、自然地、能懂地以連續(xù)語(yǔ)音地形式輸出。ATMEL公司的AT89S52單片機(jī)對(duì)鍵盤(pán)輸入的文本文件進(jìn)行
顯示,再送TMS320VC5402處理,最后將合成結(jié)果輸出。硬件結(jié)構(gòu)框圖如圖2所示。
2.1 鍵盤(pán)電路和顯示電路
AT89S52的鍵盤(pán)接口電路是采用中斷方式的,有鍵按下時(shí),就產(chǎn)生中斷請(qǐng)求,進(jìn)入中斷處理,然后通過(guò)查詢P1.0和P1.1的情況,進(jìn)行相應(yīng)的處理。用電阻和電容夠成了消抖電路,以防止電路的誤操作。
AT89S52把從鍵盤(pán)輸入的文本信息送給LCD顯示,同時(shí)把數(shù)據(jù)寫(xiě)到外部存儲(chǔ)器CY7C133,然后TMS320 VC5402讀取CY7C133上的信息進(jìn)行處理。LCD的指令格式如表1所示:
表1 LCD的指令格式
其中RS,%20R/W共同決定選擇哪一個(gè)寄存器,如表2所示:
表2%20寄存器選擇
2.2 TMS320VC5402與AT89S52的通信
AT89S52和TMS320VC5402各自獨(dú)立工作,其信息和數(shù)據(jù)交換通過(guò)共享一片外部存儲(chǔ)器來(lái)實(shí)現(xiàn),它們之間信號(hào)聯(lián)絡(luò)通過(guò)硬連接和軟件判斷來(lái)實(shí)現(xiàn)[2]。
外部存儲(chǔ)器采用的是CY7C133,它是高速的2K X 16bit的靜態(tài)異步雙端口RAM,其存儲(chǔ)速度為25ns。它有兩套獨(dú)立的地址線、數(shù)據(jù)線和控制信號(hào)線,允許兩個(gè)控制器件中的數(shù)據(jù)通過(guò)共同連接的存儲(chǔ)器來(lái)進(jìn)行通信。該雙端口RAM允許兩個(gè)控制器同時(shí)讀取任何存儲(chǔ)單元(包括同時(shí)讀同一單元),但不允許同時(shí)寫(xiě)或者一讀一寫(xiě)統(tǒng)一地址單元。
對(duì)于TMS320VC5402,數(shù)據(jù)存儲(chǔ)器CY7C133的對(duì)應(yīng)地址為4000H~47FFH。
對(duì)于AT89S52,數(shù)據(jù)存儲(chǔ)器CY7C133的對(duì)應(yīng)地址為2000H~27FFH。
3 軟件系統(tǒng)設(shè)計(jì)
漢語(yǔ)作為一種有調(diào)語(yǔ)言,其韻律特征非常復(fù)雜。為了從有限的存儲(chǔ)單元中合成出無(wú)限字匯的連續(xù)語(yǔ)句來(lái),必須在一定的韻律規(guī)則下對(duì)語(yǔ)音庫(kù)單元的韻律參數(shù)進(jìn)行調(diào)整,以得到符合當(dāng)前語(yǔ)流環(huán)境的音變單元[3]。
根據(jù)得到音變單元的方法不同,可將語(yǔ)音合成器分成兩種類(lèi)型:(1)波形拼接合成;(2)參數(shù)合成(又稱源/濾波器合成)。本系統(tǒng)采用波形拼接合成的方法直接對(duì)波形的時(shí)域和頻域波形進(jìn)行調(diào)整以得到所需要的音變單元。
簡(jiǎn)單的波形拼接法很難進(jìn)行音高和音長(zhǎng)(時(shí)間長(zhǎng)度)調(diào)整。因此,本系統(tǒng)采用中性語(yǔ)調(diào)音節(jié)直接拼接配合基音同步波形疊加(PSOLA)算法,并用碼激勵(lì)線性預(yù)測(cè)(CELP)編碼方法對(duì)原始采樣音庫(kù)進(jìn)行編碼壓縮的方法?;玖鞒虉D如圖3所示。
4 結(jié)束語(yǔ)
本系統(tǒng)利用SCM實(shí)時(shí)顯示輸入的文本文件,能夠?qū)⒑铣烧Z(yǔ)音和輸入文本文件實(shí)現(xiàn)對(duì)比輸出,直觀性強(qiáng);具有清晰度、能懂度和自然度高;合成算法運(yùn)算復(fù)雜度低,能夠用盡量小的音庫(kù)來(lái)實(shí)現(xiàn)對(duì)容量有限的存儲(chǔ)空間的占用程度的要求。
參考文獻(xiàn):
[1] 戴逸民,梁曉雯,裴小平等.基于DSP的現(xiàn)代電子系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社.2002
[2] 易克初,田斌,付強(qiáng).語(yǔ)音信號(hào)處理.北京:國(guó)防工業(yè)出版社,2000
[3] 黃海波,蔣偉榮,程登良.通用語(yǔ)音處理系統(tǒng)的DSP實(shí)現(xiàn)[J]微計(jì)算機(jī)信息2006,5,173-175