基于DSP的語(yǔ)音實(shí)時(shí)變速系統設計*
摘要: 基于DSP的語(yǔ)音實(shí)時(shí)變速系統具有鍵盤(pán)控制功能和語(yǔ)音錄放功能,而且具有高速、通用、靈活的特點(diǎn)。
關(guān)鍵詞: 語(yǔ)音信號;變速;實(shí)時(shí);DSP
引言
在外語(yǔ)多媒體教學(xué)中,要求對語(yǔ)速進(jìn)行快慢控制,以適應不同程度學(xué)生的需求。然而,傳統的語(yǔ)音變速產(chǎn)品往往在教師改變語(yǔ)速的同時(shí),也改變了原說(shuō)話(huà)者的語(yǔ)調,不能達到教學(xué)的真正目的。因此,語(yǔ)音變速系統應當具備調整語(yǔ)速的同時(shí),還需要保證原說(shuō)話(huà)者語(yǔ)調保持不變的特點(diǎn)。本文介紹的就是一種基于TMS320C5409的語(yǔ)音實(shí)時(shí)變速系統。另外,考慮到在實(shí)際系統中語(yǔ)音的壓縮存儲和語(yǔ)音變速往往是同時(shí)需求的,因此本文提出一種基于LPC低比特率語(yǔ)音編碼算法的語(yǔ)音變速算法,該算法能夠任意調整語(yǔ)音語(yǔ)速。
LPC算法
LPC編碼將語(yǔ)音信號S(n)看作一個(gè)時(shí)變的聲道系統在聲門(mén)的激勵之下的輸出信號。對濁音而言,聲門(mén)激勵為一周期脈沖串;而對清音而言,聲門(mén)激勵為隨機噪聲序列。語(yǔ)音信號的簡(jiǎn)化框圖如圖1所示。
圖1 語(yǔ)音信號的簡(jiǎn)化框圖
在LPC編碼中,可以將一幀的語(yǔ)音信號用簡(jiǎn)化模型的參數來(lái)表示,如濁音、清音判別,基音周期,增益G以及數字濾波器系數{a1},這樣就可以獲得3kb/s的編碼。解碼時(shí),由于在LPC編碼中,濁音可以看作是一周期脈沖串的激勵,其中,脈沖周期為基音周期,因此,為了改變語(yǔ)音的速率,我們將語(yǔ)音的幀長(cháng)變長(cháng),在其中再加入若干的脈沖串的激勵即可得到變速的語(yǔ)音信號。
硬件系統設計
本系統是一個(gè)完善的應用系統,主要完成對語(yǔ)音信號的實(shí)時(shí)LPC編解碼及語(yǔ)音變速,此外,還具有鍵盤(pán)控制功能和語(yǔ)音錄放功能。因此,本系統不但需要外部的SRAM存放語(yǔ)音數據,而且需要與DSP相連接的鍵盤(pán)控制設備。本系統主要由TMS320C5409、TLC320AD50、SST39VF400A和CY7C133等構成,系統框圖如圖2所示。TMS320C5409內部提供的32K字片內RAM用來(lái)存放實(shí)時(shí)運行的程序和數據,片外SRAM(CY7C133)用于存放編碼后的語(yǔ)音數據。系統的工作過(guò)程如下:系統加電后,通過(guò)復位建使TMS320C5409復位。TMS320C5409復位后,由內部固化的自引導程序將Flash(SST39VF400A)上的程序和初始化數據搬移到片內RAM,然后TMS320C5409根據鍵盤(pán)的控制執行操作,運行LPC編碼運算(錄音)、LPC解碼和語(yǔ)音變速(放音),調整語(yǔ)音變速速率。
圖2 系統框圖
TMS320C5409用于實(shí)現語(yǔ)音的編解碼算法,TLC320AD50用于完成語(yǔ)音信號的數/模和模/數轉換功能。TMS320C5409與TLC320AD50之間通過(guò)McBSP串口通信。為了減輕CPU的負擔,本系統中設計McBSP通過(guò)DMA收到或發(fā)送完一組單元后,再給CPU中斷的方式跟CPU通信。TMS320C5409與TLC320AD50的接口如圖3所示。
圖3 TMS320C5409與TLC320AD50的接口
采用DMA的方式,即串口每收到或發(fā)送一組單元,都會(huì )自動(dòng)觸發(fā)DMA將其搬送到一個(gè)內部的Buffer中,等Buffer滿(mǎn)了再通過(guò)中斷方式告訴CPU處理。這時(shí)DMA最好采用ABU(Auto Buffering)模式,可以有效防止Buffer中的數據在串口速率較高時(shí)被新數據沖掉的問(wèn)題。在進(jìn)行語(yǔ)音變速時(shí),只需要將DMA通道的幀長(cháng)做相應的改變即可。
SST39VF400A(256K
評論