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