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