基于DSP的語(yǔ)音采集與回音效果的系統(tǒng)實(shí)現(xiàn)
2.3 軟件設(shè)計(jì)
本系統(tǒng)的軟件主要由程序和數(shù)字回音處理程序兩部分組成。其中主程序主要完成系統(tǒng)的初始化,如EMIF(外部存儲(chǔ)器接口)、CPU頻率、TLV320AIC23的初始化等,結(jié)束之后,再循環(huán)調(diào)用數(shù)字回音模塊;數(shù)字回音模塊主要用于初始化語(yǔ)音緩沖區(qū)和工作變量、讀取語(yǔ)音數(shù)據(jù)并保存,然后根據(jù)延遲參數(shù)讀回保存數(shù)據(jù),并根據(jù)音效參數(shù)與當(dāng)前聲音混響把最后的語(yǔ)音數(shù)據(jù)輸出到McBSP0。
在對(duì)TLV320AIC23寄存器進(jìn)行寫(xiě)操作時(shí),應(yīng)注意:
(1)在寫(xiě)過(guò)一次I2C地址后,只能對(duì)一個(gè)寄存器進(jìn)行寫(xiě)操作,而不能一次性對(duì)所有寄存器進(jìn)行寫(xiě)操作。也就是說(shuō),在寫(xiě)每個(gè)寄存器之前都要按部就班的寫(xiě)一遍I2C地址。
(2)I2C模式下,數(shù)據(jù)是分為三個(gè)8 Bit寫(xiě)入的,而TLV320AIC23有7位地址和9位數(shù)據(jù),也就是說(shuō),需要把數(shù)據(jù)項(xiàng)上面的最高位補(bǔ)充到第二個(gè)8Bit中的最后一位。
(3)存對(duì)控制寄存器編程時(shí),對(duì)應(yīng)于每一次工作狀態(tài)的改變,不能僅僅修改某個(gè)寄存器的值,而要對(duì)這十個(gè)寄存器都重新寫(xiě)入一遍,否則,系統(tǒng)將無(wú)法正常工作,而且應(yīng)首先寫(xiě)0到初始化寄存器以啟動(dòng)初始化,同時(shí)還應(yīng)塒所有寄存器進(jìn)行復(fù)位處理。
2.4 系統(tǒng)效果的實(shí)現(xiàn)
編程過(guò)程中,在選擇需要制作數(shù)字回音時(shí),同時(shí)可選擇設(shè)置兩個(gè)參數(shù)delay和effect。這樣,在產(chǎn)生回音時(shí),就可分別調(diào)整這兩個(gè)參數(shù),從而調(diào)整和控制回音的延時(shí)及響度。系統(tǒng)工作時(shí),假如話筒里有聲音輸入,我們可以在聽(tīng)筒里聽(tīng)到兩個(gè)聲音,其中一個(gè)是原聲,而另一個(gè)就是制作的數(shù)字回音,數(shù)字回音的延時(shí)及強(qiáng)弱可由參數(shù)delay和effect決定。
如有必要,還可通過(guò)適當(dāng)?shù)某绦蛟O(shè)計(jì),以在這個(gè)系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)二重回音、三重回音等,也可以模擬真實(shí)場(chǎng)景里的多重回音效果。
3 結(jié)束語(yǔ)
20世紀(jì)90年代以后,DSP芯片的發(fā)展突飛猛進(jìn)。其功能日益強(qiáng)大,性價(jià)比也不斷上升,開(kāi)發(fā)手段不斷改進(jìn)。DSP芯片已成為集成電路中發(fā)展最快的電子產(chǎn)品。DSP芯片迅速成為眾多電子產(chǎn)品的核心器件,而DSP系統(tǒng)也被廣泛地應(yīng)用于當(dāng)今技術(shù)革命的各個(gè)領(lǐng)域,可以說(shuō),基于DSP技術(shù)的開(kāi)發(fā)應(yīng)用正在成為數(shù)字時(shí)代應(yīng)用技術(shù)領(lǐng)域的一種潮流,本系統(tǒng)只是DSP系統(tǒng)應(yīng)用的一個(gè)實(shí)例。
評(píng)論