• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 測試測量 > 設計應用 > 基于數字信號處理器的中文語音合成系統設計

    基于數字信號處理器的中文語音合成系統設計

    作者: 時間:2017-10-20 來源:網絡 收藏

      引言

    本文引用地址:http://www.czjhyjcfj.com/article/201710/366653.htm

      本文介紹的就是一種基于的中文語音合成系統的實現方法。隨著語音信號處理技術的不斷發展與成熟,語音合成正逐步成為信息技術中人機接口的關鍵技術。芯片,即數字信號處理器,是專門為快速實現各種信號處理算法而設計的、具有特殊結構的微處理器,其處理速度比最快的CPU還快10~50 倍。

      1 系統總體方案

      語音合成的最大特點就是要從有限的存儲單元中合成出無限字匯的連續語句來[1]。為了做到這一點,本系統設計了由(1)前端預處理模塊將輸入文本文件轉換成系統可以處理的標準格式;(2)韻律規則庫給出當前語言環境下各個音節的韻律特征參數;(3)語音合成器根據給定的韻律特征參數對原始語音庫中相應語音單元的聲學參數進行調整;(4)將經過調整的各個語音單元拼接在一起,得到相應于輸入文本的連續語音輸出等4個基本流程組成。系統基本原理框圖如圖1所示。

      

      2 硬件系統設計

      該中文語音合成系統的目的是對輸入的文本文件能夠清晰地、自然地、能懂地以連續語音地形式輸出。ATMEL公司的單片機對鍵盤輸入的文本文件進行 顯示,再送處理,最后將合成結果輸出。硬件結構框圖如圖2所示。

      

      2.1 鍵盤電路和顯示電路

      的鍵盤接口電路是采用中斷方式的,有鍵按下時,就產生中斷請求,進入中斷處理,然后通過查詢P1.0和P1.1的情況,進行相應的處理。用電阻和電容夠成了消抖電路,以防止電路的誤操作。

      把從鍵盤輸入的文本信息送給LCD顯示,同時把數據寫到外部存儲器CY7C133,然后TMS320 VC5402讀取CY7C133上的信息進行處理。LCD的指令格式如表1所示:

      表1 LCD的指令格式

      

      其中RS, R/W共同決定選擇哪一個寄存器,如表2所示:

      表2 寄存器選擇

      

      2.2 與AT89S52的通信

      AT89S52和各自獨立工作,其信息和數據交換通過共享一片外部存儲器來實現,它們之間信號聯絡通過硬連接和軟件判斷來實現[2]。

      外部存儲器采用的是CY7C133,它是高速的2K X 16bit的靜態異步雙端口RAM,其存儲速度為25ns。它有兩套獨立的地址線、數據線和控制信號線,允許兩個控制器件中的數據通過共同連接的存儲器來進行通信。該雙端口RAM允許兩個控制器同時讀取任何存儲單元(包括同時讀同一單元),但不允許同時寫或者一讀一寫統一地址單元。

      對于TMS320VC5402,數據存儲器CY7C133的對應地址為4000H~47FFH。

      對于AT89S52,數據存儲器CY7C133的對應地址為2000H~27FFH。

      3 軟件系統設計

      漢語作為一種有調語言,其韻律特征非常復雜。為了從有限的存儲單元中合成出無限字匯的連續語句來,必須在一定的韻律規則下對語音庫單元的韻律參數進行調整,以得到符合當前語流環境的音變單元[3]。

      根據得到音變單元的方法不同,可將語音合成器分成兩種類型:(1)波形拼接合成;(2)參數合成(又稱源/濾波器合成)。本系統采用波形拼接合成的方法直接對波形的時域和頻域波形進行調整以得到所需要的音變單元。

      簡單的波形拼接法很難進行音高和音長(時間長度)調整。因此,本系統采用中性語調音節直接拼接配合基音同步波形疊加(PSOLA)算法,并用碼激勵線性預測(CELP)編碼方法對原始采樣音庫進行編碼壓縮的方法。基本流程圖如圖3所示。

      

      

      

      4 結束語

      本系統利用SCM實時顯示輸入的文本文件,能夠將合成語音和輸入文本文件實現對比輸出,直觀性強;合成算法運算復雜度低,能夠用盡量小的音庫來實現對容量有限的存儲空間的占用程度的要求具有清晰度、能懂度和自然度高。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 白玉县| 莱州市| 晋州市| 萨迦县| 巴林右旗| 保亭| 陇西县| 商河县| 白水县| 大足县| 金阳县| 安康市| 黔西县| 韩城市| 宁南县| 郓城县| 涟源市| 济源市| 桦南县| 诸城市| 西盟| 敖汉旗| 衡山县| 柯坪县| 盐城市| 虹口区| 舞阳县| 宁安市| 两当县| 青海省| 景洪市| 抚州市| 沙雅县| 梧州市| 葫芦岛市| 绥滨县| 廊坊市| 香港 | 兴安盟| 潜山县| 马边|