国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

用EP7211實現傳呼信息實時語音合成和播放

發布時間:2010-11-17 12:31    發布者:designer
闡述在一款集成傳呼功能的二合一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 語音合成  

當收到個人傳呼信息時,語音合成程序首先從指定位置獲取傳呼信息數據,然后在語音庫中查找每個漢字、阿拉伯數字或者英文字符的發音,重組一個數據文件。解碼程序對該文件進行解碼并且輸出原始語音。語音合成流程如圖2所示。  

語音合成過程首先是當前字符在語音庫的定位。對于10個阿拉伯數字和26個英文字符,將其放在語音庫開頭。這些字符的查找比較方便。漢字是2字節存儲,我們依居其區位碼來作為語音庫中的定位索引。字符語音檢索結束后的語音壓縮數據作為該字符解碼過程的輸入。  
數據解碼過程可以分為參數解碼和重構信號后處理2部分。首先要從輸入的數據中提取參數符號,對這些符號解碼之后,可以獲得相應于10ms話音幀的編碼器參數。這些參數包括線性預測系數、自適應碼本矢量、固定碼本矢量以及它們的增益。解碼之后的參數用來計算重建語音信號。得到重構語音信號只有通過后處理過程來對該信號進行放大,包括后向濾波、高通濾波以及按比例因子擴大,最后得到原始的語音數據。  

字符解碼器原理如圖3所示。  

2.3 PDA系統的體系結構  

PDA系統中嵌入式處理器EP7211進行數據處理,傳呼解碼芯接收傳呼信息并進行解碼,LCD提供數據輸出顯示,觸摸屏提供用戶輸入接口,Flash用來存儲應用程序和數據,SRAM為程序運行提供內存空間,電源電路為嵌入式處理器和外圍設備提供所需要工作電壓





嵌入式處理器EP7211是Cirrus Logic公司專門為低成本、超低功耗的嵌入式應用設計的,包含ARM7TDMI處理器內核和豐富的外圍接口。外圍接口有CODEC音頻接口、SPI串行A/D接口、單色LCD接口、DRAM接口、紅外接口、2個PWM接口、實時時鐘RTC以及電源檢測接口。EP7211的內核電路工作在2.5V,而外圍電路工作在3.3V;可根據具體情況對內核的時鐘進行動態編程控制,可工作在18、36、49和74MHz。另外EP7211還有3種基本供電模式:正常操作(operating)、空閑(idle)和等待(standby)。在等待模式,主時鐘被關斷,整個CPU及相關外圍(除中斷和RTC)也關斷,但可通過中斷或按鈕來喚醒。  

系統軟件開發平臺采用了我們自主開發研制的、專門面向嵌入式應用系統開發的XGW平臺。XGW開發平臺采用消息驅動機制,是C語言開發。它功能強大、模塊化設計、擴展性強、產品升級容易,總體框架如圖5所示。  

圖5全面反應了XGW開發平臺的體系結構,包括事件消息驅動機制、內存管理、字符和圖形顯示輸出、圖形組件庫等。圖形組件庫中的編輯框、列表框、按鈕等為用戶應用程序開發提供系統應用編程接口API。不過,XGW平臺對于系統硬件的中斷響應沒有提供統一的入口和出口,需要開發人員單獨處理。XGW開發平臺的消息分為鼠標消息、鍵盤消息和定時器消息等3類。  

2.4 語音中斷服務例程  

嵌入式處理EP7211本身提供的外設語音錄放Codec(coder/decoder)芯片可以實現語音的錄入和播放功能。該模塊提供2個獨立的16字節長的數據發送和接緩沖區(FIFO),其為全雙工模式,數字據點發速率是64kbps。芯片自身提供工作時鐘、定時脈沖以及數據串/并和并/串轉換功能。編程人員通過設置EP7211相應的控制寄存器使能這些項功能,則每當數據收發緩沖區半慢或者半空時(8字節),芯片自身就會產生一次中斷信號供外部處理。理論計算芯片中斷速率是1ms/次。



  
語音播放中斷服務例程主要完成的工作是,當產生語音中斷時,仍然有數據需要播放,則向語音數據發送緩沖區FIFO中寫入指定數據,剩下的工作由Codec芯片本身來完成。中斷服務例程ISR的偽代碼如下(因為具體實現代碼沒有通用性,故此處用偽碼描述):  

void IRQ_Codec_Handler(void)  
{  
while(檢測系統狀態寄存器,發現語音芯片數據發送緩沖區FIFO非滿)  
{  
if(已經播放過的語音數據長度=給定的需要播放的語音數據長度)//結束  
{  
禁止數據發送緩沖區中斷;  
復位各相關的全局變量;  
程序返回;  
}  
}  
else  
{  
向語音芯片發送數據緩沖區FIFO寫入默認數據  
0XFF;  
}  
}  
}



  
3 試驗結構和分析  

由于在設計階段充分考慮過語音合成算法的大運算量和系統的實時性要求,故我們在具體實現的時候也采取了一些措施,比較突出的有:用ARM匯編語言來實現關鍵性的函數代碼;語音合成時提高處理器EP7211的工作頻率(處理器正常工作頻率是18MHz);對于一些常用的三角函數計算,采用查表的方式等來加快程序執行速度。在PDA樣機測試中,單字符合成時間在650ms左右,基本上能夠滿足實際應用需求。數據語音庫經過處理之后,占用了729 560字節也能夠滿足本PDA系統的存儲的要求。  

當PDA系統收到1條個人傳呼信息時,在語音庫的支持下,立刻啟動語音合成算法,逐個進行字符語音合成。當第1個字節語音合成結束后,立刻啟動語音中斷服務例程進行語音播放。這樣收到的個人傳呼信息,前臺逐個字符解碼時,其后臺語音播放也在進行。根據實際測試參數,基本上滿足了系統的實時性要求。  

從一定角度看,單字符650 ms的語音合成時間基本能夠滿足實際應用需要,但還是希望能夠進一步減小這個值。這由于我們對ARM算是器的使用還處在研究階段。ARM本身提供了16位的Thumb指令集和32位的ARM指令集,而且兩者在某些方面表現出較大差別。一般來講,Thumb代碼長度是ARM代碼長度的65%,而執行效率要經后者高出60%。但在某些方面,32位ARM指令集也會表現出其優于16位Thumb指令集的強大功能;同時該處理器系統支持ARM指令庥和Thumb指令集混合編程模式。隨著對二者差別和各自優勢的深入理解,結合本系統的硬件體系結構,采用有效的指令集混合編程模式將會使程序執行效率進一步提高,從而使實時性得到進一步加強。
本文地址:http://m.qingdxww.cn/thread-40026-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美z o人与动 | 四虎影片国产精品8848 | 99r在线观看| 欧美一区二区在线观看免费网站 | 男女无遮挡羞羞视频 | 男女日日 | 睡美人免费观看完整版韩国 | 特黄一级毛片 | www.久久av.com| 欧美一区二区三区大片 | 精品福利一区二区在线观看 | 99久久精品视香蕉蕉er热资源 | 久久精品一区二区三区中文字幕 | 在线视频亚洲一区 | 黄色靠逼网站 | 欧美成人性色生活片免费在线观看 | 国产午夜视频在永久在线观看 | 91磁力| 毛片在线观看视频 | 久久国产热这里只有精品 | 日本不卡高清免费v日本 | 色妞妞www精品视频 色妞www精品一级视频 | 日本色免费 | 亚洲mv大片欧洲mv大片 | 国产成人综合久久精品尤物 | 国产一级在线观看 | 一级二级黄色片 | 56pa0视频在线观看 | 日韩一区二区三区在线播放 | 亚洲一区二区三区亚瑟 | 日本精品一区二区在线播放 | 永久精品免费影院在线观看网站 | 国产拍在线 | 亚欧洲精品在线视频免费观看 | 欧美日韩一区二区三区色综合 | 日日操天天操夜夜操 | 污网站免费观看在线高清 | www35749| 日本免费在线看 | 最新sss华人 | 欧美另类在线观看 |