摘要:詳細(xì)介紹了一種長(zhǎng)途汽車站語音播報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法,實(shí)現(xiàn)了將文字實(shí)時(shí)動(dòng)態(tài)轉(zhuǎn)化為語音的信息管理系統(tǒng)的開發(fā)。對(duì)提高現(xiàn)代化長(zhǎng)途汽車站的管理水平,具有一定的借鑒意義。
關(guān)鍵詞:長(zhǎng)途汽車站;文本語音轉(zhuǎn)換;軟件開發(fā)
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)22-817-02
The Designment and Implementation of Broadcasting with Sound for Long Distance Bus Station
DING Ru-gen,CHEN Zhi
(Computer and information school,University of Hefei Polytechnology, Hefei 230009,China)
Abstract:This paper introduces a method of design and implementation of broadcasting with sound for long distance bus station. This management information system is developed to transform text into real-time speech dynamically. This paper is helpful for improving management level of modern long distance bus station.
Key words:long distance bus station; text to speech; software development
1 引言
語音合成技術(shù)的研究成果已經(jīng)有很多,在許多領(lǐng)域中已有大量的應(yīng)用。但是在很多地、市級(jí)的長(zhǎng)途汽車站的候車大廳中,仍然采用的是人工進(jìn)行廣播,人工廣播不僅難以及時(shí)準(zhǔn)確,而且播報(bào)員的勞動(dòng)強(qiáng)度很大。在春運(yùn)高峰期間,班次信息不僅量大而且變化也快,播報(bào)員每天的工作量將更大,尤其對(duì)于班次檢票、發(fā)車以及班次停運(yùn)等的廣播信息,很難及時(shí)而又準(zhǔn)確地進(jìn)行播報(bào)。為此,開發(fā)了一套長(zhǎng)途汽車站語音自動(dòng)播報(bào)系統(tǒng),能夠在長(zhǎng)途汽車站的候車大廳中根據(jù)售票管理系統(tǒng)中的班次信息自動(dòng)進(jìn)行播報(bào),提高了長(zhǎng)途汽車站的現(xiàn)代化與信息化的管理水平。由于實(shí)現(xiàn)了語音自動(dòng)播報(bào)功能,同時(shí)也節(jié)約了成本,給車站帶來了一定的經(jīng)濟(jì)效益。當(dāng)然,實(shí)現(xiàn)長(zhǎng)途汽車站語音自動(dòng)播報(bào)功能的前提條件是汽車站必須已使用了微機(jī)售票管理信息系統(tǒng)。
語音合成技術(shù)大致可以分為兩大類:一類是意群語音,另外一類是文字語音。意群語音是指根據(jù)事先估計(jì)可能使用到的話音進(jìn)行錄制,并且將這些話音信息存儲(chǔ)起來形成語料庫。所謂語料庫,就是指存儲(chǔ)基本語音信息的信息庫。在需要使用的時(shí)候可以從語料庫中調(diào)出進(jìn)行播放。文字語音是以文字為基本單位做好語音庫,需要發(fā)音的每一個(gè)字符都可以在語音庫中找到對(duì)應(yīng)的語音信息。利用它可以實(shí)時(shí)動(dòng)態(tài)地將文字信息轉(zhuǎn)換為聲音。這方面的研究成果以Microsoft公司研制的TTS技術(shù)(Text To Speech)最為杰出。如果需要使用中文進(jìn)行發(fā)音,在利用TTS的技術(shù)中,同時(shí)需要下載支持中文語音庫的補(bǔ)丁(Language Pack)即可。
2 系統(tǒng)分析
針對(duì)長(zhǎng)途汽車站候車大廳中語音播報(bào)的特點(diǎn)進(jìn)行分析之后,決定采用意群語音技術(shù)來實(shí)現(xiàn)自動(dòng)語音播報(bào)。通過事先錄入好的語音信息保存到語料庫中,需要使用的時(shí)候調(diào)出進(jìn)行播放。具體來說,將這個(gè)功能拆分成兩個(gè)部分:(1) 整段句子錄音保存到語料庫中,需要使用的時(shí)候,將語音文件整段調(diào)出進(jìn)行播放。例如:旅客乘車注意事項(xiàng)、公告信息等。(2) 部分單詞、詞語或句子進(jìn)行錄音形成音頻文件,再通過音頻編輯軟件(例如:cooledit)進(jìn)行編輯,然后保存到語料庫中。在使用的時(shí)候,將單詞或詞組對(duì)應(yīng)的語音信息合成后進(jìn)行播放。例如:班次開始檢票、停止檢票通知的播報(bào)等。就是先在班次發(fā)車信息庫中檢索出班次的文本信息,根據(jù)文本信息從語料庫中找到對(duì)應(yīng)的語音信息,再將這些語音信息進(jìn)行合成,然后進(jìn)行播報(bào)。從而實(shí)現(xiàn)了長(zhǎng)途汽車站候車大廳中的動(dòng)態(tài)語音播報(bào)系統(tǒng)。
系統(tǒng)開發(fā)采用的前臺(tái)工具是PowerBuilder,后臺(tái)是SQL Server 2000數(shù)據(jù)庫管理系統(tǒng),音頻編輯工具采用的是cooledit。音頻采樣率是16KHZ,量化精度為16位。
3 系統(tǒng)設(shè)計(jì)
3.1 聲音信息的錄入
在系統(tǒng)分析之后,就需要準(zhǔn)備對(duì)聲音文件的錄入工作。聲音文件的錄入主要包括兩個(gè)部分。下面分別進(jìn)行說明:
整段語音文件的錄入,主要針對(duì)旅客乘車注意事項(xiàng)、公告等信息量比較大,而且相對(duì)固定的語音信息,事先將這些語音信息錄入并保存到語料庫中,在需要使用的時(shí)候,調(diào)出進(jìn)行播報(bào)即可。
單詞、詞組、部分句子的錄入,主要針對(duì)班次開始檢票、停止檢票等的語音播報(bào)。由于這部分的功能,不是固定的,完全是一個(gè)動(dòng)態(tài)的。所有使用到的班次信息,都需要在售票系統(tǒng)中進(jìn)行查詢與檢索。下面用一個(gè)班次開始檢票的語音播報(bào)實(shí)例,說明系統(tǒng)是如何完成聲音信息錄入的。
假設(shè)有一個(gè)在10:30開往合肥的1215次班車需要在5號(hào)檢票口開始檢票,語音播報(bào)的具體內(nèi)容是:各位旅客,買好了10:30開往合肥方向的1215次班車在5號(hào)檢票口開始檢票了。先將整段語音錄入下來,然后將這段語音使用音頻編輯軟件拆分成9個(gè)部分:(1) 各位旅客,買好了;(2) 10:30;(3)開往;(4) 合肥;(5) 方向的;(6) 1215;(7) 次班車在;(8) 5;(9) 號(hào)檢票口開始檢票了。在這9個(gè)部分中,其中第1、3、5、7、9部分是固定不變的,只有第2、4、6、8部分是變化的。我們將所有可能發(fā)生變化部分的信息,都事先以單詞或詞組的形式單獨(dú)錄入話音,保存到語料庫中。也就是說:將班次信息中所有可能的發(fā)車時(shí)間、終點(diǎn)車站、班次編號(hào)、檢票門號(hào)都以單詞或詞組的形式錄入話音保存到語料庫中。語料庫中大約有1千多條記錄,如何組織好語料庫,從語料庫中快速高效地將文本所對(duì)應(yīng)的語音信息檢索出來,對(duì)長(zhǎng)途汽車站的語音播報(bào)質(zhì)量也起著非常重要的作用。
3.2 班次信息的檢索與播放
在后臺(tái)服務(wù)器上,編寫一個(gè)存儲(chǔ)過程,其功能是調(diào)用售票管理系統(tǒng)中的當(dāng)日班次信息。在語音播報(bào)系統(tǒng)中,通過調(diào)用后臺(tái)存儲(chǔ)過程,編寫一個(gè)檢索班次信息的窗口界面,按照指定的條件檢索出班次信息,就可以知道班次的發(fā)車時(shí)間、終點(diǎn)車站、班次編號(hào)、檢票門號(hào)等文本信息。將這些文本信息從語料庫中檢索出對(duì)應(yīng)的語音信息,再將這些語音信息進(jìn)行合成,形成待播放的語音信息。通過PB中的OLE嵌入功能調(diào)用媒體播放器(Windows Media Player)進(jìn)行語音播放。從而就動(dòng)態(tài)地實(shí)現(xiàn)了將文本信息轉(zhuǎn)化為語音輸出的功能。
在系統(tǒng)檢索與播放的窗口界面上,主要有以下幾個(gè)方面的功能:(1) 通過時(shí)間觸發(fā)器,每隔1分鐘對(duì)班次信息進(jìn)行檢索,搜索出滿足指定條件的班次信息。(2) 可以設(shè)置每個(gè)班次語音播報(bào)的重復(fù)次數(shù),選擇的范圍一般是1至3遍。(3) 可以設(shè)置每個(gè)班次語音播報(bào)的提前時(shí)間量,選擇的范圍可以是5分鐘、10分鐘、15分鐘、20分鐘等。(4) 可以選擇播報(bào)班次信息還是旅客注意事項(xiàng)等其它語音播報(bào)信息。缺省狀態(tài)下,在語音播報(bào)指定的時(shí)間內(nèi),沒有班次信息播報(bào)時(shí),系統(tǒng)將自動(dòng)播報(bào)旅客注意事項(xiàng)等其他語音播報(bào)信息。(5) 在檢票系統(tǒng)停止某一班次檢票時(shí),語音播報(bào)系統(tǒng)也同時(shí)進(jìn)行相應(yīng)的班次停止檢票播音。
4 系統(tǒng)的主要特點(diǎn)
汽車站語音播報(bào)系統(tǒng)的主要特點(diǎn)如下:(1) 采用了“客戶定制”的設(shè)計(jì)思想。所謂“客戶定制”,是指系統(tǒng)在設(shè)計(jì)與開發(fā)過程中,將系統(tǒng)的可變因素獨(dú)立起來,提供用戶改變這些可變因素的功能模塊,讓系統(tǒng)的運(yùn)行根據(jù)這些因素的變化而自動(dòng)變化,使得系統(tǒng)具有較高的通用性。例如:設(shè)置語音播報(bào)次數(shù)、選擇語音播報(bào)提前時(shí)間等功能,就是將可以變化的而且影響語音播報(bào)結(jié)果的因素獨(dú)立出來,讓管理員可以進(jìn)行修改與定義,使得系統(tǒng)具有較高的通用性。(2) 由于系統(tǒng)是采用面向?qū)ο蟮能浖_發(fā)工具進(jìn)行開發(fā)的,作者將過去長(zhǎng)期開發(fā)MIS系統(tǒng)所積累的知識(shí)和經(jīng)驗(yàn),拋開與具體信息系統(tǒng)相關(guān)的部分,利用面向?qū)ο箝_發(fā)工具的特點(diǎn),設(shè)計(jì)了大量可繼承的通用模塊或?qū)ο螅⑦@些對(duì)象封裝起來,形成一個(gè)共享的標(biāo)準(zhǔn)動(dòng)態(tài)連接庫(Share.dll),減少了用戶定制系統(tǒng)的復(fù)雜性。在該系統(tǒng)的研制與開發(fā)過程中,許多對(duì)象從共享的標(biāo)準(zhǔn)動(dòng)態(tài)連接庫中直接進(jìn)行引用或繼承,大大縮短了系統(tǒng)開發(fā)的時(shí)間。
5 結(jié)束語
利用PowerBuilder編寫的長(zhǎng)途汽車站自動(dòng)語音播報(bào)系統(tǒng),提高了長(zhǎng)途汽車站現(xiàn)代化與信息化的管理水平,減輕了工作人員的勞動(dòng)強(qiáng)度,同時(shí)也使得語音播報(bào)信息更加及時(shí)、準(zhǔn)確,深受用戶的歡迎。
參考文獻(xiàn):
[1] 劉志銘,張振坤,馮文翠. PowerBuilder數(shù)據(jù)庫開發(fā)關(guān)鍵技術(shù)與實(shí)例應(yīng)用[M].北京:人民郵電出版社,2004.5.
[2] 王晟,馬里杰. SQL Server數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M]. 北京:清華大學(xué)出版社,2006.
[3] 丁汝根,王琦. 基于校園網(wǎng)運(yùn)行的醫(yī)院管理系統(tǒng)的研制與應(yīng)用[J]. 電腦學(xué)習(xí),2007,4:21-22.
[4] 趙建洋,胡澤雄. 動(dòng)態(tài)文本——語音編程系統(tǒng)的研究與應(yīng)用[J]. 淮陰工學(xué)院學(xué)報(bào),2007(16,3): 36-39.