《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C5409的語(yǔ)音實(shí)時(shí)變速系統(tǒng)設(shè)計(jì)
基于TMS320C5409的語(yǔ)音實(shí)時(shí)變速系統(tǒng)設(shè)計(jì)
摘要: 本文介紹的就是一種基于TMS320C5409的語(yǔ)音實(shí)時(shí)變速系統(tǒng),。另外,,考慮到在實(shí)際系統(tǒng)中語(yǔ)音的壓縮存儲(chǔ)和語(yǔ)音變速往往是同時(shí)需求的,,因此本文提出一種基于LPC低比特率語(yǔ)音編碼算法的語(yǔ)音變速算法,該算法能夠任意調(diào)整語(yǔ)音語(yǔ)速,。
Abstract:
Key words :

 在外語(yǔ)多媒體教學(xué)中,,要求對(duì)語(yǔ)速進(jìn)行快慢控制,以適應(yīng)不同程度學(xué)生的需求,。然而,,傳統(tǒng)的title="語(yǔ)音">語(yǔ)音變速產(chǎn)品往往在教師改變語(yǔ)速的同時(shí),也改變了原說(shuō)話者的語(yǔ)調(diào),,不能達(dá)到教學(xué)的真正目的,。因此,,語(yǔ)音變速系統(tǒng)應(yīng)當(dāng)具備調(diào)整語(yǔ)速的同時(shí),還需要保證原說(shuō)話者語(yǔ)調(diào)保持不變的特點(diǎn),。本文介紹的就是一種基于TMS320C5409的語(yǔ)音實(shí)時(shí)變速系統(tǒng),。另外,考慮到在實(shí)際系統(tǒng)中語(yǔ)音的壓縮存儲(chǔ)和語(yǔ)音變速往往是同時(shí)需求的,,因此本文提出一種基于LPC低比特率語(yǔ)音編碼算法的語(yǔ)音變速算法,,該算法能夠任意調(diào)整語(yǔ)音語(yǔ)速。

  LPC算法
  LPC編碼將語(yǔ)音信號(hào)s(n)看作一個(gè)時(shí)變的聲道系統(tǒng)在聲門(mén)的激勵(lì)之下的輸出信號(hào),。對(duì)濁音而言,聲門(mén)激勵(lì)為一周期脈沖串,;而對(duì)清音而言,,聲門(mén)激勵(lì)為隨機(jī)噪聲序列。語(yǔ)音信號(hào)的簡(jiǎn)化框圖如圖1所示,。
 
  在LPC編碼中,,可以將一幀的語(yǔ)音信號(hào)用簡(jiǎn)化模型的參數(shù)來(lái)表示,如濁音,、清音判別,,基音周期,增益G以及數(shù)字濾波器系數(shù){a1},,這樣就可以獲得3kb/s的編碼,。解碼時(shí),由于在LPC編碼中,,濁音可以看作是一周期脈沖串的激勵(lì),,其中,脈沖周期為基音周期,,因此,,為了改變語(yǔ)音的速率,我們將語(yǔ)音的幀長(zhǎng)變長(zhǎng),,在其中再加入若干的脈沖串的激勵(lì)即可得到變速的語(yǔ)音信號(hào),。
 
  硬件系統(tǒng)設(shè)計(jì)
  本系統(tǒng)是一個(gè)完善的應(yīng)用系統(tǒng),主要完成對(duì)語(yǔ)音信號(hào)的實(shí)時(shí)LPC編解碼及語(yǔ)音變速,,此外,,還具有鍵盤(pán)控制功能和語(yǔ)音錄放功能。因此,,本系統(tǒng)不但需要外部的SRAM存放語(yǔ)音數(shù)據(jù),,而且需要與DSP相連接的鍵盤(pán)控制設(shè)備。本系統(tǒng)主要由TMS320C5409,、TLC320AD50,、SST39VF400ACY7C133等構(gòu)成,,系統(tǒng)框圖如圖2所示。TMS320C5409內(nèi)部提供的32K字片內(nèi)RAM用來(lái)存放實(shí)時(shí)運(yùn)行的程序和數(shù)據(jù),,片外SRAM(CY7C133)用于存放編碼后的語(yǔ)音數(shù)據(jù),。系統(tǒng)的工作過(guò)程如下:系統(tǒng)加電后,通過(guò)復(fù)位建使TMS320C5409復(fù)位,。TMS320C5409復(fù)位后,,由內(nèi)部固化的自引導(dǎo)程序?qū)lash(SST39VF400A)上的程序和初始化數(shù)據(jù)搬移到片內(nèi)RAM,然后TMS320C5409根據(jù)鍵盤(pán)的控制執(zhí)行操作,,運(yùn)行LPC編碼運(yùn)算(錄音),、LPC解碼和語(yǔ)音變速(放音),調(diào)整語(yǔ)音變速速率,。
 
 
  TMS320C5409用于實(shí)現(xiàn)語(yǔ)音的編解碼算法,,TLC320AD50用于完成語(yǔ)音信號(hào)的數(shù)/模和模/數(shù)轉(zhuǎn)換功能。TMS320C5409與TLC320AD50之間通過(guò)McBSP串口通信,。為了減輕CPU的負(fù)擔(dān),,本系統(tǒng)中設(shè)計(jì)McBSP通過(guò)DMA收到或發(fā)送完一組單元后,再給CPU中斷的方式跟CPU通信,。TMS320C5409與TLC320AD50的接口如圖3所示,。
 
 
  采用DMA的方式,即串口每收到或發(fā)送一組單元,,都會(huì)自動(dòng)觸發(fā)DMA將其搬送到一個(gè)內(nèi)部的Buffer中,,等Buffer滿了再通過(guò)中斷方式告訴CPU處理。這時(shí)DMA最好采用ABU(Auto Buffering)模式,,可以有效防止Buffer中的數(shù)據(jù)在串口速率較高時(shí)被新數(shù)據(jù)沖掉的問(wèn)題,。在進(jìn)行語(yǔ)音變速時(shí),只需要將13MA通道的幀長(zhǎng)做相應(yīng)的改變即可,。
 
  SST39VF400A(256K×1 6位)作為T(mén)MS320C5409的外部數(shù)據(jù)存儲(chǔ)器,,地址總線和數(shù)據(jù)總線接至TMS320C5409的外部總線,CR接至TMS320C5409的DS,。TMS320C5409與SST39VF400A的接口如圖4所示,。
 
  外部存儲(chǔ)器采用的是CY7C133,它是高速的2K×16bit的靜態(tài)異步雙端口RAM,,其存儲(chǔ)速度為25ns,。它有兩套獨(dú)立的地址線、數(shù)據(jù)線和控制信號(hào)線,,允許兩個(gè)控制器件中的數(shù)據(jù)通過(guò)共同連接的存儲(chǔ)器來(lái)進(jìn)行通信,。該雙端口RAM允許兩個(gè)控制器同時(shí)讀取任何存儲(chǔ)單元(包括同時(shí)讀同一單元),但不允許同時(shí)寫(xiě)或者一讀一寫(xiě)統(tǒng)一地址單元,。
 
  對(duì)于TMS 320VC5402,,數(shù)據(jù)存儲(chǔ)器CY7C133的對(duì)應(yīng)地址為4000H~47FFH,。
 
  系統(tǒng)軟件
  本系統(tǒng)實(shí)現(xiàn)的目標(biāo)是鍵盤(pán)控制功能和語(yǔ)音錄放功能,并且能夠?qū)⑤斎氲恼Z(yǔ)音信號(hào)以任意變速率播放而不改變語(yǔ)音的聲調(diào),。系統(tǒng)采用C語(yǔ)言進(jìn)行功能開(kāi)發(fā),。
  本系統(tǒng)中將HPI口映射成為GPIO,并且將鍵盤(pán)連線通過(guò)"或"門(mén)接到INTO,。當(dāng)有按鍵按下時(shí),,INTO中斷處理程序通過(guò)從GPIO中讀出的數(shù)值判斷此時(shí)是錄音、放音,、語(yǔ)速變快還是語(yǔ)速變慢,。
 
  抗干擾設(shè)計(jì)
  本系統(tǒng)中既采用硬件抗干擾技術(shù),也采用了軟件抗干擾技術(shù),。下面簡(jiǎn)要介紹一下本系統(tǒng)所采用的硬件看門(mén)狗和數(shù)字濾波器的設(shè)計(jì),。
  利用硬件看門(mén)狗功能提高系統(tǒng)的抗干擾能力。由專用芯片MAX692構(gòu)成的看門(mén)狗電路(圖5),,系統(tǒng)所用外圍元件少。MAX692是微系統(tǒng)監(jiān)控電路芯片,,具有后備電池切換,、掉電判別、看門(mén)狗監(jiān)控等功能,。其中WDI是看門(mén)狗檢測(cè)輸入端,,接到數(shù)字電路系統(tǒng)的一個(gè)專用I/O口或一個(gè)總線口上。RESET是復(fù)位信號(hào)輸出端,,接數(shù)字電路系統(tǒng)的復(fù)位端RST,。MAX692的WDI定時(shí)周期為1.6 s,復(fù)位脈沖寬度是200ms,。如果WDI保持高或低超過(guò)"看門(mén)狗"定時(shí)周期(1.6s),,RESET端將發(fā)生200ms寬(最小140ms)的負(fù)脈沖使數(shù)字電路系統(tǒng)復(fù)位。
  設(shè)數(shù)字濾波器的輸入信號(hào)為X(n),,輸出信號(hào)為Y(n),,則輸入序列和輸出序列之間的關(guān)系可用差分方程表示為:
 
 
  式中輸入信號(hào)X(n)可以是語(yǔ)音信號(hào)經(jīng)采樣和ADC變換后得到的數(shù)字序列,也可以是計(jì)算機(jī)的輸出信號(hào),;aK和bK均為系數(shù),,通過(guò)設(shè)置aK和bK可將DF設(shè)計(jì)成需要的帶通濾波器。
  數(shù)字濾波器的軟件設(shè)計(jì)方法有:程序判斷濾波法(限幅濾波法),、中位值濾波法,、算術(shù)平均濾波法、遞推平均濾波法,、防脈沖干擾平均濾波法,、一階滯后濾波法等6種方法,。根據(jù)需要,本系統(tǒng)選擇程序判斷濾波法,。
 
  結(jié)浯
  實(shí)踐證明,,本系統(tǒng)在進(jìn)行語(yǔ)音變速的同時(shí),能夠保證原說(shuō)話者語(yǔ)調(diào)保持不變,,且操作簡(jiǎn)單,,系統(tǒng)延時(shí)小。
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。