- 相關(guān)推薦
用EP7211實(shí)現(xiàn)傳呼信息實(shí)時(shí)語(yǔ)音合成和播放
摘要:闡述在一款集成傳呼功能的二合一PDA系統(tǒng)中,使用嵌入式處理器EP7211實(shí)現(xiàn)個(gè)人傳呼信息的實(shí)時(shí)語(yǔ)音合成和播放的功能,主要包括字符語(yǔ)音庫(kù)的建立、字符語(yǔ)音合成自滿和Cdec語(yǔ)音中斷服務(wù)例程等3部分。引言
PDA(Personal Digital Assitant,個(gè)人數(shù)字助理)是近年來繼尋呼機(jī)和移動(dòng)電話之后,在國(guó)內(nèi)市場(chǎng)迅速崛起的便攜式電子產(chǎn)品。就其擴(kuò)展意義來講,它能夠集成移動(dòng)計(jì)算、電話和網(wǎng)絡(luò)等多種功能。根據(jù)不同的應(yīng)用需求,它可以管理個(gè)人信息、提供名片存儲(chǔ)和日程安排,也可以接收各種尋呼信息(如股市、天氣預(yù)報(bào)等)。如果是集成通信模塊,還可以作為移動(dòng)電話使用,進(jìn)行無線網(wǎng)絡(luò)互聯(lián)。廣義的PDA包括簡(jiǎn)單的電子記事本、電子辭典和功能強(qiáng)大的掌上電腦,它們的主要區(qū)別表現(xiàn)在操作系統(tǒng)、存儲(chǔ)能力、運(yùn)算速度和數(shù)據(jù)交換能力等方面。
目前國(guó)內(nèi)傳統(tǒng)PDA產(chǎn)品經(jīng)過幾年的高速發(fā)展后,市場(chǎng)基于飽和,銷售額出現(xiàn)負(fù)增長(zhǎng)。不過由于PDA產(chǎn)品的靈活性,有針對(duì)性的行業(yè)應(yīng)用作為一個(gè)新亮點(diǎn),開始為人們所關(guān)注。經(jīng)過行業(yè)應(yīng)用尾后的PDA產(chǎn)品,已經(jīng)在國(guó)內(nèi)市場(chǎng)大顯身手。文曲星展現(xiàn)超強(qiáng)的語(yǔ)言釋譯能力,比較適合于大學(xué)生和語(yǔ)言翻譯者使用;藍(lán)火系列能實(shí)時(shí)接收股市信息和專家點(diǎn)評(píng),適合工薪階層的炒股者。國(guó)家信息產(chǎn)業(yè)部已經(jīng)鼓勵(lì)PDA產(chǎn)品在交通、警務(wù)、保險(xiǎn)等領(lǐng)域的行業(yè)應(yīng)用和推廣。
分析市場(chǎng)需求,我們研發(fā)了集成傳呼功能的、專門面向鐵路交通行業(yè)應(yīng)用的鐵路交通信息系統(tǒng)PDA。本PDA系統(tǒng)除了具備傳統(tǒng)PDA的個(gè)人名片管理和辭典檢索等功能外,同時(shí)提供交通行業(yè)應(yīng)用的民航航班查詢、鐵路列車時(shí)刻表查詢等功能。
本PDA的尋呼系統(tǒng)實(shí)現(xiàn)如下功能:能夠通過尋呼對(duì)列車時(shí)刻表、列車晚點(diǎn)信息、列車剩票額、股道信息等行業(yè)數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新。作為另一個(gè)特色,當(dāng)接收到個(gè)人尋呼時(shí),能夠?qū)ず魞?nèi)容實(shí)時(shí)地轉(zhuǎn)換成語(yǔ)音并播放。
下面重點(diǎn)介紹本PDA系統(tǒng)中使用嵌入式處理呂EP7211實(shí)現(xiàn)個(gè)尋呼內(nèi)容的實(shí)時(shí)語(yǔ)音轉(zhuǎn)換和播放。該功能的實(shí)現(xiàn)包含前后相關(guān)的3個(gè)部分:字符語(yǔ)音庫(kù)的建立、字符的語(yǔ)音合成算法和Codec語(yǔ)音中斷服務(wù)例程。
1 實(shí)現(xiàn)條件和要求
PDA屬于嵌入式應(yīng)用系統(tǒng),其同一般PC機(jī)有很大差別。硬件方面,嵌入式處理器基于RISC體系結(jié)構(gòu),一般工作頻率在幾十MHz,甚至更低;系統(tǒng)內(nèi)存容量一般在幾百KB~幾MB之間;一般使用容量小的ROM或者Flash作為硬盤來存儲(chǔ)可執(zhí)行程序序和數(shù)據(jù)。軟件方面,PDA系統(tǒng)一般有專用的嵌入式操作系統(tǒng)和軟件開發(fā)調(diào)試移植環(huán)境。
個(gè)人傳呼信息的特點(diǎn)是單條傳呼信息長(zhǎng)度變化較大,20~50個(gè)字符不等。最為常見的是“請(qǐng)回電話***”;傳呼信息涉及到的字符數(shù)量較大,字符語(yǔ)音合成時(shí)運(yùn)算量大,單字符合成后語(yǔ)音數(shù)據(jù)占用的存儲(chǔ)空間多;需要事先建立字符語(yǔ)音庫(kù)等。
由于具體硬件環(huán)境的限制、傳呼信息的特點(diǎn)和語(yǔ)音合成的要求,該功能能夠?qū)崿F(xiàn)的前提有:語(yǔ)音庫(kù)占用的空間小;字符合成時(shí)速度更快;采用前臺(tái)進(jìn)行字符語(yǔ)音合成時(shí),以后臺(tái)中斷方式進(jìn)行合成語(yǔ)音的播放來保證其實(shí)時(shí)性和連續(xù)性。
2 具體實(shí)現(xiàn)
下面分別介紹字符語(yǔ)音庫(kù)的建立、字符語(yǔ)音合成算法、本PDA系統(tǒng)的框架結(jié)構(gòu)和語(yǔ)音中斷服務(wù)例程。
2.1 建立字符語(yǔ)音庫(kù)
我們選用G.729語(yǔ)音壓縮編碼標(biāo)準(zhǔn)來建立語(yǔ)音庫(kù)。該標(biāo)準(zhǔn)采用的算法是共軛結(jié)構(gòu)的代數(shù)碼激勵(lì)線性預(yù)測(cè)(CS-ACELP),是基于CELP(碼激勵(lì)線性預(yù)測(cè))編碼模型的算法。這種編碼規(guī)范的嚴(yán)格性使性能達(dá)到或超過了32Kbps的G.726 ADPCM編碼,具有很高的語(yǔ)音質(zhì)量;同時(shí),它是在語(yǔ)音信號(hào)8KHz取樣的基礎(chǔ)上得到16bit線性PCM后進(jìn)行編碼的,壓縮后的數(shù)據(jù)速率僅為8Kbps,具有相當(dāng)于8:1的高壓縮率。其算法延遲少于16ms。由于G.726編解碼器能夠?qū)崿F(xiàn)很高的語(yǔ)音質(zhì)量和很低的算法延時(shí),因此被廣泛地應(yīng)用。
字符語(yǔ)音庫(kù)是一個(gè)單字發(fā)音語(yǔ)音數(shù)據(jù)的集合,中段數(shù)據(jù)之間相互獨(dú)立,不具有相關(guān)性。語(yǔ)音庫(kù)包含了國(guó)標(biāo)一、二級(jí)字庫(kù)中的所有6763個(gè)漢字、10個(gè)阿拉伯?dāng)?shù)字和26個(gè)英文字符的標(biāo)準(zhǔn)普通話語(yǔ)音數(shù)據(jù)。每個(gè)漢字或字符發(fā)音時(shí)長(zhǎng)為0.65s,采用8KHz抽樣頻率,使用了G.729A語(yǔ)音編碼算法對(duì)上述的語(yǔ)音數(shù)據(jù)進(jìn)行壓縮,壓縮后數(shù)據(jù)速率為8Kbps,相當(dāng)于具有8:1的高壓縮率。在漢字中,同音字占了相當(dāng)大的比例,而在語(yǔ)音合成中對(duì)于同音字的處理是沒有區(qū)別的,故近7000個(gè)漢字,我們只存儲(chǔ)1123個(gè)不同的發(fā)音。經(jīng)過同音字處理和采用G.729標(biāo)準(zhǔn)壓縮字符語(yǔ)音數(shù)據(jù),則最終建立的語(yǔ)音庫(kù)文件大小為729 950字節(jié),完全符合本PDA系統(tǒng)的數(shù)據(jù)存儲(chǔ)要求;否則,語(yǔ)音庫(kù)數(shù)據(jù)量太大,本PDA系統(tǒng)不能接受!
建立一個(gè)語(yǔ)音壓縮數(shù)據(jù)庫(kù)的具體步驟如下:
*將數(shù)字和常用漢字的標(biāo)準(zhǔn)發(fā)音獨(dú)立地錄入到數(shù)據(jù)文件中,作為基礎(chǔ)數(shù)據(jù)。使用cooledit2000軟件完成語(yǔ)音的錄入。
*對(duì)于輸入數(shù)據(jù),按照每幀10ms(80個(gè)樣點(diǎn))的長(zhǎng)度,將A_law語(yǔ)音通過簡(jiǎn)單換算變成16bit PCM數(shù)據(jù),作為編碼算法的輸入。
*按照G.729A算法標(biāo)準(zhǔn),對(duì)數(shù)據(jù)進(jìn)行編碼。
*將編碼后的數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制比特流,寫入語(yǔ)音庫(kù)文件中。壓縮后數(shù)據(jù)速率為8Kbps,具有相當(dāng)于8:1的高壓縮率。
用C語(yǔ)言實(shí)現(xiàn)這一過程的程序流程如圖1所示。
字符語(yǔ)音庫(kù)的建立是在Windows平臺(tái)及Visual C 編程環(huán)境下實(shí)現(xiàn)的,最終壓縮處理后數(shù)據(jù)量的大小為729 950字節(jié),每個(gè)字符語(yǔ)音數(shù)據(jù)的大小是650字節(jié)。
2.2 語(yǔ)音合成
當(dāng)收到個(gè)人傳呼信息時(shí),語(yǔ)音合成程序首先從指定位置獲取傳呼信息數(shù)據(jù),然后在語(yǔ)音庫(kù)中查找每個(gè)漢字、阿拉伯?dāng)?shù)字或者英文字符的發(fā)音,重組一個(gè)數(shù)據(jù)文
【用EP7211實(shí)現(xiàn)傳呼信息實(shí)時(shí)語(yǔ)音合成和播放】相關(guān)文章:
用Verilog HDL實(shí)現(xiàn)I2C總線功能06-01
企業(yè)知識(shí)管理的實(shí)現(xiàn)技術(shù)和工具的電商論文05-02
試論文學(xué)作品中“陌生化”手法的價(jià)值和實(shí)現(xiàn)途徑05-29
適應(yīng)實(shí)時(shí)多任務(wù)的微控制器高效指令支持05-29
現(xiàn)代信息技術(shù)和音樂教學(xué)現(xiàn)狀論文09-23
嵌入式實(shí)時(shí)網(wǎng)絡(luò)通信技術(shù)淺析論文(精選7篇)07-26
基于J2EE的遠(yuǎn)動(dòng)系統(tǒng)Web實(shí)時(shí)曲線的研究05-11