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