盧如意
摘 要:文語(yǔ)轉(zhuǎn)換(Text to Speech)技術(shù)是一種綜合了語(yǔ)言學(xué)處理和聲學(xué)處理兩部分的計(jì)算機(jī)語(yǔ)音合成技術(shù),前者是對(duì)輸入文本進(jìn)行語(yǔ)言學(xué)分析,后者則是通常所說(shuō)的語(yǔ)音合成。文語(yǔ)轉(zhuǎn)換技術(shù)能將任意的文字信息實(shí)時(shí)的轉(zhuǎn)化為標(biāo)準(zhǔn)流暢的語(yǔ)音,它是一項(xiàng)復(fù)雜的語(yǔ)音處理技術(shù),涉及聲學(xué)、語(yǔ)言學(xué)、數(shù)字信號(hào)處理、計(jì)算機(jī)科學(xué)等領(lǐng)域的多學(xué)科綜合性技術(shù)。本文以語(yǔ)音合成及單片機(jī)控制為主電路,PC機(jī)通過(guò)串口向單片機(jī)發(fā)送指令最終控制語(yǔ)音合成電路部分發(fā)聲以及LCD文字顯示。
關(guān)鍵詞:文語(yǔ)轉(zhuǎn)換 單片機(jī) 語(yǔ)音合成
中圖分類(lèi)號(hào):TP271 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)06(b)-0000-00
1 引言
所謂文語(yǔ)轉(zhuǎn)換技術(shù)(Text-to-Speech,簡(jiǎn)稱(chēng)TTS)指的是計(jì)算機(jī)能自動(dòng)的將任意文字信息實(shí)時(shí)轉(zhuǎn)化為標(biāo)準(zhǔn)流暢的語(yǔ)音朗讀出來(lái)。文語(yǔ)轉(zhuǎn)換技術(shù)是一門(mén)復(fù)雜的語(yǔ)音處理技術(shù),它涉及眾多學(xué)科技術(shù),比如聲學(xué)、語(yǔ)言學(xué)、數(shù)字信號(hào)處理、計(jì)算機(jī)科學(xué)等 [1]。隨著電子科學(xué)技術(shù)、計(jì)算機(jī)技術(shù)、語(yǔ)音合成技術(shù)不斷的發(fā)展,文語(yǔ)轉(zhuǎn)換技術(shù)也取得了一系列的成果,特別是在系統(tǒng)的性能上面得到了很大的改善。
1.1 文語(yǔ)轉(zhuǎn)換的目的及意義
語(yǔ)音合成,相當(dāng)于給機(jī)器裝上嘴巴進(jìn)行說(shuō)話(huà)。早期的人機(jī)交互方式為鍵盤(pán)和顯示器方式,這種方式在有些場(chǎng)合效率很低,而且操作也不方便,由此語(yǔ)音合成就突出了它的特點(diǎn),它能使一些其他存儲(chǔ)方式的信息能夠轉(zhuǎn)化成人類(lèi)最習(xí)慣、最方便交換的語(yǔ)音信號(hào),使得人簡(jiǎn)單的通過(guò)聽(tīng)覺(jué)即可得到大量的信息。
1.2 文語(yǔ)轉(zhuǎn)換的研究背景
近年來(lái),國(guó)內(nèi)外投入了大量的資源在語(yǔ)音合成領(lǐng)域研究,使其得到了迅猛的發(fā)展,并出現(xiàn)了大量的新技術(shù)和新設(shè)計(jì)理念。語(yǔ)音合成技術(shù)有著廣泛的應(yīng)用前景,特別是在人機(jī)交互中的應(yīng)用,如語(yǔ)音報(bào)警器、語(yǔ)音報(bào)時(shí)器、公共汽車(chē)上的自動(dòng)報(bào)站、股票信息的查詢(xún)、電話(huà)查詢(xún)業(yè)務(wù),以及打印出版過(guò)程中的文本校對(duì)等[3][4][5]。
2 文語(yǔ)轉(zhuǎn)換系統(tǒng)的原理
早期的文語(yǔ)轉(zhuǎn)換研究主要集中在語(yǔ)音合成方面,即指用機(jī)器產(chǎn)生人工語(yǔ)言的技術(shù),它可以通過(guò)力學(xué)的光學(xué)的或電子學(xué)的手段產(chǎn)生類(lèi)似人說(shuō)話(huà)的聲音;隨著計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用,產(chǎn)生語(yǔ)音主要靠計(jì)算機(jī)來(lái)完成,現(xiàn)代的文語(yǔ)轉(zhuǎn)換主要是指用計(jì)算機(jī)完成高清晰度、高自然度、高可懂度的語(yǔ)音的技術(shù)。要完成高質(zhì)量的語(yǔ)音,除了采用各種聲學(xué)處理手段外,還必須對(duì)文字的內(nèi)容有很好的理解,這將涉及到自然語(yǔ)言理解的問(wèn)題。只有模擬人產(chǎn)生語(yǔ)音的過(guò)程,即首先對(duì)要發(fā)生的文字內(nèi)容有很好的理解,然后根據(jù)人類(lèi)積累的語(yǔ)音規(guī)律(即韻律規(guī)則)通過(guò)聲道將文字順序轉(zhuǎn)換成聲音,才能得到流利的、容易理解的自然語(yǔ)音。
2.1 文語(yǔ)轉(zhuǎn)換系統(tǒng)的組成
文本分析、韻律控制和語(yǔ)音合成這三個(gè)模塊[7]是文語(yǔ)轉(zhuǎn)換系統(tǒng)的三個(gè)核心部分,其結(jié)構(gòu)如圖1所示。
圖1 TTS系統(tǒng)基本框圖
文語(yǔ)轉(zhuǎn)換系統(tǒng)區(qū)別于其他類(lèi)型的語(yǔ)音合成系統(tǒng)是它具有某種程度的篇章理解能力,其能力主要由文本模塊來(lái)實(shí)現(xiàn)。文語(yǔ)轉(zhuǎn)換系統(tǒng)能對(duì)輸入的文本進(jìn)行語(yǔ)言學(xué)的分析,生成一種適合于語(yǔ)音學(xué)的內(nèi)部表示,在此過(guò)程中需要確定每個(gè)字的正確讀音以及識(shí)別詞與詞之間的界限。
3 文語(yǔ)轉(zhuǎn)換系統(tǒng)硬件設(shè)計(jì)
本文在語(yǔ)音合成技術(shù)上實(shí)現(xiàn)了文語(yǔ)轉(zhuǎn)換系統(tǒng),即將固定的或者輸入的文本通過(guò)語(yǔ)音合成模塊進(jìn)行播放,并將其內(nèi)容顯示在液晶屏上。系統(tǒng)的總體框圖如圖2所示。
圖2 語(yǔ)音合成系統(tǒng)框圖
整個(gè)系統(tǒng)由單片機(jī)最小系統(tǒng)、LCD顯示模塊、語(yǔ)音合成電路模塊、通信模塊、電源模塊等幾部分組成。
4 文語(yǔ)轉(zhuǎn)換系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)可以分為兩部分設(shè)計(jì):一是主程序設(shè)計(jì);二是子程序設(shè)計(jì)。主程序設(shè)計(jì)主要完成的內(nèi)容是:程序初始化(單片機(jī)端口初始化、串口通信初始化)、子程序的調(diào)用及跳轉(zhuǎn)等。語(yǔ)音合成子程序主要完成的內(nèi)容:根據(jù)系統(tǒng)的要求將相應(yīng)的文本內(nèi)容合成語(yǔ)音。其中主程序設(shè)計(jì)流程圖如圖3 所示。
圖3 主程序流程圖
語(yǔ)音合成子程序的流程圖如圖4所示。其相應(yīng)程序如下,buf為輸入的文本數(shù)組首地址,語(yǔ)音合成子程序通過(guò)串口將相應(yīng)的文本發(fā)送給語(yǔ)音合成電路進(jìn)行播放,并且在主程序中調(diào)用液晶顯示子程序?qū)ο鄳?yīng)文本進(jìn)行顯示。
void Speech(uchar *buf)
{
uchar i = 0; //循環(huán)計(jì)數(shù)變量
uchar xor = 0x00; //異或校驗(yàn)碼變量
uchar ch = 0x00;
uchar len = 0x00;
while(buf[len++]);
for(i = 0; i < HEAD_LEN; i++)
{
if(i == BKM_OFFSET)
ch = nBkm << 3; //寫(xiě)入背景音樂(lè)
else if(i == LEN_OFFSET)
ch = len + 3;
else
ch = head[i];
xor ^= ch;
Usart_PutChar(ch);
Delay(1);
}
for(i = 0; i < len; i++)
{
xor ^= buf[i];
Usart_PutChar(buf[i]);
Delay(1);
}
Usart_PutChar(xor); //發(fā)送校驗(yàn)位
Delay(10);
//while(TTS_BUSY); //等待語(yǔ)音播放結(jié)束
Delay(10);
}
圖4 語(yǔ)音合成子程序
5 結(jié)論
語(yǔ)音合成的研究已經(jīng)有200多年的歷史,隨著最近幾十年語(yǔ)音合成技術(shù)的快速發(fā)展,語(yǔ)音合成在各項(xiàng)領(lǐng)域的應(yīng)用也越來(lái)越廣泛。本文主要完成的內(nèi)容是:在基于語(yǔ)音合成芯片的基礎(chǔ)上,利用軟硬件結(jié)合,完成了文語(yǔ)轉(zhuǎn)換系統(tǒng)的設(shè)計(jì)。
本課題所設(shè)計(jì)的文語(yǔ)轉(zhuǎn)換系統(tǒng)雖然實(shí)現(xiàn)了預(yù)期的功能,但由于相關(guān)的理論知識(shí)的欠缺以及時(shí)間上的緊迫,還存在著若干個(gè)問(wèn)題:
(1)對(duì)前人已研究出來(lái)的方法及原理總結(jié)得不夠精煉。
(2)合成的語(yǔ)音在自然度和清晰度等方面還需要提高。
參考文獻(xiàn)
[1]魏文密. 文語(yǔ)轉(zhuǎn)換方法研究——文本分析[D]. 碩士:長(zhǎng)安大學(xué),2007.
[2]張鵬洲. 文語(yǔ)轉(zhuǎn)換系統(tǒng)研究與應(yīng)用[D]. 博士后:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,1999.
[3]韓紀(jì)慶,張磊,鄭鐵然.語(yǔ)音信號(hào)處理[M]. 北京:清華大學(xué)出版社,2004.
[4]郭鋒. 基于PSOLA的漢語(yǔ)文語(yǔ)轉(zhuǎn)換技術(shù)研究[D]. 碩士:南京航空航天大學(xué),2007.
[5]黃華. 嵌入式語(yǔ)音合成技術(shù)的研究[D]. 碩士:重慶大學(xué),2011.
[6]張鵬. 嵌入式語(yǔ)音合成系統(tǒng)的研究與實(shí)現(xiàn)[D]. 碩士:武漢理工大學(xué),2006.
[7]張雪英. 數(shù)字語(yǔ)音處理及MATLAB仿真[M]. 北京:電子工業(yè)出版社,2010.
[8]PRAHALLAD Kishore,BLACK Alan.A text to speech interface for Universal