《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 嵌入式TTS漢語語音系統的設計與實現

嵌入式TTS漢語語音系統的設計與實現

2008-10-16
作者:張丞昭 冉立新

  摘 要: 通過使用改進的游程編碼算法、多重查找表" title="查找表">查找表設計及預存儲命令字等技術,實現了一種適用于廣泛硬件平臺的嵌入式" title="的嵌入式">的嵌入式TTS漢字語音系統" title="語音系統">語音系統,其可發音字符涵蓋了GB2312漢字編碼字符集。
  關鍵詞: TTS 改進游程編碼 多重查找表


  語言是人與人交流信息的一種手段。使計算機、帶有人機交互的電器、儀表等能像人一樣開口“說話”是科技工作者多年的研究目標。文語轉換TTS(Text To Speech)是自動將輸入文字轉換成語音輸出,并盡量使輸出的語音效果流暢、自然的一類技術。TTS系統主要需解決兩個問題:①文本分析,即語言學分析。該任務是將以文本方式輸入的字符串轉換成語言學的表述;②語音合成。即根據語言學的內在表述信息合成語音。TTS系統中的語音合成方法分為時域和頻域兩大類:頻域方法主要有LPC參數合成及共振峰合成兩種,其實質是在工程上實現語音生成模型,進而在終端特性上模擬發音器官。在目前階段,頻域方法形成的發音尚不自然,且需要的計算量很大,不適宜在低端的嵌入式芯片上使用。波形編輯法是將較短的數字音頻段(即合成基元)拼接并進行段間平滑后生成連續語流的方法。這種方法占用的存儲空間大,但計算量小、計算速度快,而且合成語音自然度較高,顯然比較適合于芯片性能較弱的嵌入式系統方面的應用。
  采用波形編輯法的嵌入式TTS系統由于成本低、性能完善、自然度高,隨著波形修改算法的不斷提出以及微處理器和非易失性存儲介質功能的不斷增強,正日益受到人們的關注。本系統即采用時域波形編輯技術,采集GB2312漢字編碼字符集中所有字符發音作為原始材料,通過使用改進的游程編碼算法[1]壓縮生成可適用于當前Flash存儲器的語音庫,并采用多重查找表設計及預存儲命令字技術有效地加快語音庫的尋址速度,在基于Atmel公司的AT89S52[3]單片機上成功實現了一個TTS語音系統,經測試取得了令人滿意的效果。該系統應用簡便,具有很小的尺寸和很低的功耗及通用的串行接口,可以廣泛用于有關的漢語語音應用系統中。
1 系統原理
  圖1為系統原理圖框圖以及主要操作流程。系統采用串行口與外界交互,任何具有標準串口" title="串口">串口的設備均可與本系統相連。欲發音漢字的國標碼(GB碼)由串口送入MCU,MCU將其映射為Flash存儲器地址表中對應項的地址,然后根據此地址取得對應項中的命令字,由MCU根據該命令字讀取該漢字發音對應的語音數據,連續讀出語音數據并以游程碼解碼算法解碼后,按照語音采樣時的固定速率通過D/A轉換和功率放大播放。本文中語音采樣速率為11025B/s。為滿足應用需求,本文首先構建易于快速解碼的語音庫,根據特定Flash存儲器的存儲格式,以快速多重查找表尋址及命令字預先存儲的方式組織并存儲在Flash存儲器中,以滿足語音播放的實時要求。同樣,MCU的代碼也要優先考慮速度而犧牲諸如模塊化、可讀性方面的要求。最后,出于實用性考慮,系統中需加入足夠的輸入緩沖區支持,以滿足一次輸入多個漢字或整句的要求。


2 原始語音數據的采集和處理
  本系統共采集了1335種發音,內含1306個漢字發音,26個英文字母發音及3個停頓音,語音采集卡AD轉換速率11025B/s,分辨率8位,樣本值域0~255,靜默值為80H。原始語音以WAV文件的格式保存在PC機中。
  圖2是“哎”音樣本的時域波形。所有的采集樣本除具有不同的波形包絡外,均具有大體相同的結構,即一個完整的漢字發音均由前后兩個靜音部分和中間的發音部分組成。靜音的采樣值絕大多數為80H(一些輕微擾動可視為錄音過程中的噪聲,但尾音部分要另外處理),因而可將其統一為80H,以提高壓縮比。另由圖2可見,00H、01H、FFH、FEH這些邊緣值的出現概率也是很小的,這個特性亦可用于語音的壓縮算法中。


  本文根據上述靜默值及邊緣值的分布特點,提出了一種改進的游程編碼用于語音數據的壓縮,具體做法是:用00H代表游程壓縮起始碼,其后是被編碼字符,再下一個字節是被編碼字符的重復碼,如:80 80 80 80 80 可以表示為00 80 05。顯然,游程長度小于等于3時沒有編碼的必要,因而不會出現值為00H、01H和02H的重復碼。如上所述,在原始語音文件中,00H、01H這些邊緣值是基本不出現的。因為大量出現這些邊緣值即意味著語音采集系統的動態范圍設置錯誤。盡管如此,為確保原始語音文件中沒有“多余”邊緣值,需要將語音文件略做處理,將可能存在的00H和01H都改為02H,顯然這樣的處理并不會影響語音的實際播放效果。處理后的00H、01H即可作為特殊控制字符使用。圖3是本文提出的改進游程壓縮編碼的流程圖。編碼前,1335種原始語音樣本的大小為14978622字節,壓縮后為7767112字節,壓縮比超過50%。該語音庫已經可以裝入容量為8M字節的Flash存儲器中。


3 語音庫的存儲結構
  本文以8Mbit×8位NAND型Flash存儲器K9F6408U0B為例,描述本系統語音庫的存儲結構" title="存儲結構">存儲結構。
  語音庫的基本內容分為兩部分:前端是地址查找表,其后是壓縮后的語音數據。地址表中,每4個字節代表一個地址項。GB2312漢字編碼字符集中每個漢字在地址表中都有一個對應項,其內容指向該漢字對應讀音的語音數據起始地址。GB碼字符集中共有94個區,每區94個字符,總計8836個漢字、英文字母和其它符號,其中實際使用了7445個,余下的作為預留區。本系統亦保留了這些預留區,以利于將來的擴充。這樣,地址表的大小為94×94×4=35344字節。語音數據區共存儲1335個發音,采用游程編碼壓縮存放,并在每段語音數據結尾添加01H作為結束控制符。
  對不同的Flash存儲器,語音庫需做一些針對性的處理。對于K9F6408U0B而言,要對其C區進行專門的處理。該芯片中,每個頁面(Page)都有A、B、C三個區,其中A、B區各256字節,而C區僅有16字節。本設計中沒有用到C區,因而在制作寫入Flash的二進制語音庫文件時必須注意對C區進行空白碼(FFH)填充。考慮C區填充后,地址表對應的二進制語音庫文件大小的計算方法改為:512×69+16=35344,表示當35344字節只占據A區和B區時共需69個頁面,多出16字節。這意味著有69個C區需要填充,即寫入Flash的地址表的實際大小應該是35344+69×16=36448。相應地,語音數據區需要進行同樣的處理。
  在PC上制作寫入Flash的數據文件時,首先將地址表放在最前面,其后將壓縮后的語音文件逐一寫入,并將每個文件的起始地址轉換成對Flash存儲器操作的命令字寫入地址表相應項中,每寫完一個文件要加上01H結束碼,并在寫入過程中完成對C區的填充。在綜合完1335個語音文件、地址查找表、C區填充碼及文件結束碼之后,得到Flash存儲器的二進制映像文件,其大小為8047776字節。寫入后,Flash中尚余近333KB可用空間,聯合地址表中的預留項,可用于對系統語音庫做進一步的擴充。上述語音庫的存儲結構見圖4。


4 碼字轉換及高效MCU代碼的實現
  本文中的碼字轉換有兩類。一類GB碼到語音庫起始字節數的轉換,用于MCU收到串口輸入的GB碼后,確定相應讀音在地址表中對應項的起始地址。該類碼字轉換主要依據GB2312標準及語音庫地址表的結構進行。本文中,該碼制轉換的算法為:((GB碼高字節-161)×94+(GB碼低字節-161))×4。另一類是將上述地址轉換為Flash讀取操作的命令字。這類轉換與語音庫存儲結構及所用Flash存儲器的讀寫操作及時序相關。由于在語音庫生成時已由PC機將語音數據的起始地址轉換為操作命令字并存儲到了地址表對應項中,即大部分的計算及時序控制操作在使用PC制作Flash的二進制映像文件時已經完成,因而避免了系統運行中的大量計算,從而保證了語音播放的實時性。計算命令字的方法與具體的Flash存儲器型號相關且較為繁瑣。限于篇幅,本文不再給出具體的算法。有興趣的讀者可以參閱K9F6408U0B的數據表[2]
  本文中的MCU型號為AT89S52,使用22.1184MHz的晶振。根據AT89S52數據表[5],每播放一個漢字,所需指令周期數為(1/11025)/(12/22.1184)=167.2。因此設置一個計時器中斷,中斷值為256-167=89,在每兩個中斷之間完成如下工作:
  (1)從緩沖區中取得GB碼并將之轉換為地址表對應項地址;
  (2)從地址表對應項中取得對應語音數據區存儲地址;
  (3)取得對應語音數據區數據;
  (4)完成游程解碼并播放。
  此外,由于完全有可能在語音播放過程中收到輸入字符,因而串口亦應工作于中斷方式,串口波特率為9600bps,其優先級高于定時器中斷。本系統中,此緩沖區能滿足使用者最多一次輸入60個漢字。以上操作均在約168個指令周期中完成,大約相當84條雙周期指令。因而在代碼編寫中,必須把代碼效率放在第一位,靈活地運用編程技巧來完成。
  本文給出了一種嵌入式TTS漢語語音系統的實現方案。由于采用了易于解碼的改進游程算法、多重查找表及Flash存儲器操作命令字的預先存儲技術,使得該方案可以在較低要求的硬件平臺上實現。以AT89S52 MCU為核心的嵌入式TTS系統不同于基于PC的TTS語音系統,該系統體積小、功耗低、成本低廉、適用范圍很廣。經測試其語音清晰、連貫,可發音字符涵蓋GB碼所有漢字、26個英文字母,一次可輸入多達60個漢字的整句,足以滿足大部分應用場合的需要。如以高檔MCU或ARM處理器為平臺,還可以增加更多的算法,以進一步改進系統性能。
參考文獻
1 薩洛蒙. 數據壓縮原理與應用. 第2版. 北京:電子工業出版社,2003
2 Samsung Corp. K9F6408U0B-TCB0, K9F6408U0B-TIB0 FLASH MEMORY. http://www.samsung.com/Products/Semiconductor/Flash/NAND/64Mbit/K9F6408U0B/ds_k9f6408u0b.pdf
3 Atmel Corp. 8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52. http://www.atmel.com/dyn/resources/prod_documents/doc1919.pdf

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美国产日韩视频| 影音先锋日韩精品| 尤物yw午夜国产精品视频| 欧美精品一卡二卡| 欧美乱大交xxxxx| 欧美午夜视频在线观看| 欧美一区二区视频97| 日韩一级网站| 在线观看视频免费一区二区三区| av成人福利| 国产欧美日韩综合一区在线观看| 亚洲一区二区在线免费观看视频| 久久精品国产清高在天天线| 欧美激情第4页| 欧美片在线观看| 最新热久久免费视频| 久热精品视频在线观看| 亚洲欧美在线免费观看| 国产在线视频欧美一区二区三区| 日韩视频在线永久播放| 欧美一级片在线播放| 一区二区三区精品视频在线观看| 免费亚洲视频| 极品av少妇一区二区| 韩国一区二区在线观看| av成人免费在线| 亚洲精品日韩欧美| 一区二区三区久久网| 久久久噜噜噜久久久| 国产精品一区二区欧美| 黄网站免费久久| 午夜天堂精品久久久久| 国产精品男人爽免费视频1| 国产三区二区一区久久| 先锋影音国产精品| 欧美色视频在线| 亚洲精品一区二区三区婷婷月| 亚洲国产第一| 亚洲国产精品久久精品怡红院| 亚洲精品一区二区三区av| 午夜精品久久久久久| 欧美激情一区二区三区高清视频| 国产一区香蕉久久| 欧美视频四区| 欧美精品日韩一本| 宅男噜噜噜66一区二区66| 欧美成人福利视频| 亚洲日韩视频| 最新成人av在线| 亚洲人被黑人高潮完整版| 国产精品伦子伦免费视频| 久久久国产视频91| 久久人人97超碰精品888| 欧美日韩激情小视频| 亚洲天堂av高清| 欧美日韩一区高清| 亚洲美女在线一区| 久久av一区二区三区| 国内精品久久久久国产盗摄免费观看完整版| 在线一区二区三区四区| 欧美在线综合| 日韩午夜高潮| 国内一区二区在线视频观看| 亚洲一区欧美一区| 午夜精品美女自拍福到在线| 国产在线高清精品| 久久精品日韩欧美| 久久婷婷国产麻豆91天堂| 中日韩高清电影网| 亚洲国产精品免费| 亚洲毛片在线免费观看| 在线播放中文字幕一区| 亚洲欧美日韩精品久久久| 欧美日韩中文字幕在线| 国语自产精品视频在线看抢先版结局| 可以看av的网站久久看| 免费在线观看日韩欧美| 国产主播一区二区三区| 久久躁日日躁aaaaxxxx| 亚洲女性裸体视频| 亚洲乱码国产乱码精品精可以看| 国产婷婷色一区二区三区| 久久免费视频观看| 国内精品久久久久久| 久久国产精品亚洲77777| 国产日韩一区二区三区在线| 99精品视频免费观看| 一本大道av伊人久久综合| 亚洲欧美欧美一区二区三区| 亚洲主播在线观看| 国精品一区二区| 亚洲经典在线| 在线观看免费视频综合| 亚洲裸体在线观看| 国产精品亚洲激情| 亚洲午夜国产成人av电影男同| 国产欧美一区二区三区在线看蜜臀| 亚洲精品在线看| 欧美影院在线播放| 亚洲精品亚洲人成人网| 亚洲视频在线免费观看| 久久久91精品国产| 欧美精品久久久久久久| 亚洲福利视频网站| 日韩一级成人av| 国内久久婷婷综合| 国产精品国产a| 久久综合网色—综合色88| 久久精品91| 欧美日韩成人在线播放| 国产日本欧美视频| 欧美日韩一区二区免费在线观看| 国产精品国产一区二区| 欧美一区二区观看视频| 国产日韩免费| 亚洲国产精品www| 亚洲综合精品四区| 国产精品免费小视频| 一区在线免费观看| 国产亚洲精品bt天堂精选| 欧美日韩专区在线| 欧美+日本+国产+在线a∨观看| 欧美大学生性色视频| 欧美日韩另类综合| 欧美自拍偷拍| 亚洲三级免费| 亚洲丶国产丶欧美一区二区三区| 欧美久久久久久久| 亚洲精品欧美| 欧美在线视频在线播放完整版免费观看| 亚洲国产日韩一级| 亚洲调教视频在线观看| 午夜久久99| 麻豆精品一区二区av白丝在线| 欧美日韩国产精品一区| 国产精品久久77777| 激情欧美日韩一区| 久久综合色一综合色88| 日韩一级大片在线| 亚洲久久一区| 国产精品劲爆视频| 久久久久久999| 亚洲欧美一区二区视频| 亚洲精品国产视频| 免费成人av在线| 欧美人与性动交α欧美精品济南到| 久久亚洲私人国产精品va| 久久精品国产99| 久久一区二区三区超碰国产精品| 日韩一级裸体免费视频| 亚洲免费视频观看| 一本不卡影院| 在线观看日韩欧美| 一本久久知道综合久久| 亚洲视频欧美在线| 乱码第一页成人| 欧美国产日韩精品| 亚洲精品老司机| 国产欧美日韩在线视频| 国产精品色在线| 国产一区二区三区在线观看免费视频| 欧美激情综合亚洲一二区| 欧美日韩在线一二三| 国产精品久久久久三级| 一本色道久久综合亚洲精品按摩| 国产中文一区二区三区| 国产伦精品一区二区三区高清版| 久久久五月天| 国产区日韩欧美| 美女精品一区| 欧美日韩在线视频一区二区| 欧美一级淫片播放口| 亚洲视频电影在线| 久久综合国产精品| 日韩午夜在线视频| 久久人人精品| 欧美日本一区二区三区| 免费在线欧美视频| 亚洲高清av在线| 久久天堂av综合合色| 亚洲精品五月天| 午夜天堂精品久久久久| 欧美午夜大胆人体| 亚洲欧美日韩精品久久| 在线观看欧美精品| 免费成人在线观看视频| 欧美特黄a级高清免费大片a级| 宅男66日本亚洲欧美视频| 韩国精品久久久999| 国产伦精品一区二区三区免费迷| 亚洲永久免费视频| 亚洲一区二区三区视频播放| 亚洲精品无人区| 国产欧美一区二区三区另类精品| 欧美国产第一页| 欧美精品高清视频| 欧美国产日韩一区二区三区| 亚洲激情校园春色| 一本色道久久| 亚洲欧美国产77777| 国产精品精品视频| 欧美色视频一区| 国内成人自拍视频| 国产精品久久久久久久免费软件| 欧美日韩国产一区二区三区地区| 好吊色欧美一区二区三区四区| 国产视频丨精品|在线观看| 伊人狠狠色j香婷婷综合| 久久久999| 久久人人爽国产| 一区二区三区产品免费精品久久75| 欧美sm重口味系列视频在线观看| 欧美日韩成人在线播放| 国产精品一区在线播放| 9久草视频在线视频精品| 欧美三区在线视频| 老色鬼精品视频在线观看播放| 欧美伊久线香蕉线新在线| 亚洲影院色无极综合| 亚洲一级在线观看| 久久久www成人免费毛片麻豆| 国产精品盗摄久久久| 国产亚洲一区二区在线观看| 中文国产一区| 狠色狠色综合久久| 国产亚洲精品美女| 久久福利资源站| 韩国精品一区二区三区| 国产欧美日韩伦理| 亚洲美女在线一区| 影音先锋日韩有码| 亚洲国产精品高清久久久| 在线播放豆国产99亚洲| 久久综合久久美利坚合众国| 欧美一区二区播放| 精品99视频| 欧美日韩精品欧美日韩精品一| 久久综合九色欧美综合狠狠| 日韩亚洲在线| 欧美高潮视频| 国产精品在线看| 欧美区亚洲区| 久久精彩视频| 欧美精品一区二区三区在线看午夜| 欧美午夜无遮挡| 91久久视频| 欧美性感一类影片在线播放| 免费看的黄色欧美网站| 欧美日韩亚洲一区三区| 亚洲色图自拍| 亚洲激情女人| 久久精品国产亚洲a| 欧美日韩四区| 久久频这里精品99香蕉| 久久久久免费观看| 欧美激情一区二区三区| 欧美日韩免费一区| 美女精品国产| 国产日韩一区在线| 美女任你摸久久| 亚洲精品久久久久久久久久久久久| 一区二区三区欧美在线| 久久综合九色欧美综合狠狠| 久久夜色精品国产噜噜av| 欧美主播一区二区三区美女 久久精品人| 欧美日韩成人在线播放| 久久黄色网页| 国产主播一区二区三区| 亚洲精选久久| 欧美凹凸一区二区三区视频| 亚洲欧美精品在线观看| 日韩视频国产视频| 国内精品久久久久久久影视蜜臀| 久久综合综合久久综合| 99精品黄色片免费大全| 国产午夜一区二区三区| 亚洲国产片色| 欧美v国产在线一区二区三区| 免费不卡视频| 欧美专区在线观看一区| 在线观看日韩欧美| 久久aⅴ国产紧身牛仔裤| 国精品一区二区| 国产一区二区三区在线观看精品| 亚洲视频999| 黄色成人免费观看| 久久免费午夜影院| 国产精品午夜国产小视频| 欧美国产一区二区三区激情无套| 国产精品裸体一区二区三区| 欧美不卡福利| aa亚洲婷婷| 永久91嫩草亚洲精品人人| 欧美福利电影在线观看| 最新精品在线| 亚洲日本欧美在线| 国内成人精品2018免费看| 一区二区三区欧美成人| 欧美日韩三级电影在线| 欧美日韩激情小视频| 性欧美超级视频| 亚洲第一在线综合网站| 亚洲第一黄色网| 欧美激情在线狂野欧美精品| 9久re热视频在线精品| 亚洲视频在线一区| 欧美久久婷婷综合色| 欧美激情精品久久久久久大尺度| 国产一区二区三区久久| 久久爱www| 亚洲欧美经典视频| 激情伊人五月天久久综合| 在线观看日韩av电影| 国产精品二区在线| 可以看av的网站久久看| 欧美日韩1区2区| 99re6热在线精品视频播放速度| 欧美二区不卡| 亚洲国产精品日韩| 一区二区三区波多野结衣在线观看| 国产精品jizz在线观看美国| 久久婷婷国产综合国色天香| 国产欧美在线观看| 欧美日韩一区二区三区四区在线观看| 欧美激情精品久久久久久| 性伦欧美刺激片在线观看| 久久国产精品久久国产精品| 欧美大色视频|