基于DSP的語音采集與回音效果的系統(tǒng)實(shí)現(xiàn)
引言
數(shù)字技術(shù)的應(yīng)用幾乎已經(jīng)滲透到現(xiàn)代科技的每一個(gè)角落,而數(shù)字音頻技術(shù)則是應(yīng)用最廣泛的領(lǐng)域之一?,F(xiàn)在大量的數(shù)字音頻設(shè)備已相當(dāng)成熟,利用軟件在已有的硬件平臺(tái)上實(shí)現(xiàn)不同的功能已成為一種趨勢,軟件編程的靈活性給很多設(shè)備增加不同的功能提供了方便。和其它數(shù)字系統(tǒng)一樣,DSP系統(tǒng)具有許多模擬系統(tǒng)所不具備的優(yōu)點(diǎn),如靈活、可編程,支持時(shí)分復(fù)用,易于模塊化設(shè)計(jì),可重復(fù)使用,可靠性高等。隨著DSP技術(shù)的發(fā)展,以DSP為內(nèi)核的設(shè)備越來越多?;贒SP技術(shù)的開發(fā)應(yīng)用正在成為數(shù)字時(shí)代應(yīng)用技術(shù)領(lǐng)域的潮流。
在實(shí)際生活中,當(dāng)聲源遇到物體時(shí)一般會(huì)發(fā)生反射,反射的聲波和聲源聲波一起傳輸,聽者會(huì)發(fā)現(xiàn)反射聲波部分比聲源聲波慢一些從而形成回音。而現(xiàn)在,在已知一個(gè)數(shù)字音源后,也可以利用計(jì)算機(jī),以數(shù)字方式通過計(jì)算來模擬回聲效應(yīng)。簡單地講。就是在原聲音流中疊加延遲一段時(shí)間后的聲流來實(shí)現(xiàn)回音效果。如此產(chǎn)生的回音,我們稱之為數(shù)字回音。
1 主要器件介紹
本設(shè)計(jì)選用的TLV320AIC23是TI公司生產(chǎn)的一款高性能的多媒體數(shù)字語音編解碼器,它的內(nèi)部ADC和DAC轉(zhuǎn)換模塊帶有完整的數(shù)字濾波器,其數(shù)據(jù)傳輸寬度可以是16位、20位、24位和32位,采樣頻率范圍為8~96 kHz,并可通過控制接口來編輯該器件的控制寄存器,同時(shí)可支持SPI和I2C兩種控制模式。TLV320AIC23的控制模式由MODEM管腳決定,本系統(tǒng)選用I2C模式。
TMS320VC5509A是TI公司C5000 DSP系列中的新一代產(chǎn)品。該DSP對(duì)C54X有很好的繼承性。并與C54x源代碼兼容,從而有效地保護(hù)用戶在軟件上的投資。TMS320VC5509A功耗低、成本低,并可在有限的功率條件下保持最好的性能。
2 系統(tǒng)方案設(shè)計(jì)
2.1 系統(tǒng)工作原理
該回音系統(tǒng)中的I2C接口模塊由串行數(shù)據(jù)SDA和串行時(shí)鐘SCL組成,SDA和SCL均為雙向接口。連接在同一總線上的I2C設(shè)備可以工作在多主線工作模式下。包括TMS320C55x DSP在內(nèi)的每個(gè)I2C設(shè)備都有唯一的設(shè)備地址可供軟件尋址。其中,主設(shè)備用于發(fā)送時(shí)鐘并啟動(dòng)數(shù)據(jù)傳輸,被主設(shè)備尋址的則為從設(shè)備。這些設(shè)備根據(jù)各自的功能,既可以作為發(fā)送器,也可以作為接收器。
當(dāng)系統(tǒng)進(jìn)行初始化配置時(shí),DSP通過I2C總線將配置命令發(fā)送到TLV320AIC23,并在配置完成后TLVAIC23開始工作。
對(duì)于DSP的多通道緩沖串口(MCBSP)設(shè)置,由于TLV320AIC23采樣輸出的是串行數(shù)據(jù),因此,需要協(xié)調(diào)好與之相配的DSP的串行傳輸協(xié)議。因而必須對(duì)DSP的串口進(jìn)行正確設(shè)置。MCBSP串口一般可通過六個(gè)引腳讓數(shù)據(jù)通路和控制通路與外部設(shè)備相連。數(shù)據(jù)經(jīng)MCBSP串口與外沒的通信一般通過DR和DX腳來傳輸,控制同步信號(hào)則由CLKX、CLKR、FSX、FSR等四引腳來完成。由于MCBSP串口的數(shù)據(jù)線DR和DX帶有緩存寄存器,而幀同步信號(hào)FSX、FSR以及時(shí)鐘信號(hào)CLKX、CLKR都具有可編程性,因此,它與TLV320A-IC23之間的接口設(shè)計(jì)非常靈活。從這些特點(diǎn)可以看到:將MCBSP串口設(shè)置為SPI模式,并使串口的接收器和發(fā)送器同步,然后由TLV320AIC23的幀同步信號(hào)LRCIN、LRCOUT啟動(dòng)串口傳輸,同時(shí)將發(fā)送接收的數(shù)據(jù)字長設(shè)定為32 Bit (左聲道16Bit,右聲道16 Bit)單幀模式,就可以方便地實(shí)現(xiàn)與TLV320AIC23之間的無縫連接。
輸入語音信號(hào)時(shí),TLV320AIC23先通過其中的AD轉(zhuǎn)換采集輸入的語音信號(hào),每采集完一個(gè)信號(hào)便將數(shù)據(jù)發(fā)送到DSP的McBSP接口上,以便DSP可以讀取語音數(shù)據(jù)。每個(gè)數(shù)據(jù)均為16位無符號(hào)整數(shù),左右通道各有一個(gè)數(shù)值。
語音信號(hào)輸出時(shí),可由DSP將語音數(shù)據(jù)通過McBSP接口發(fā)送給TLV320AIC23,再由TLV320AIC23的DA器件將他們變成模擬信號(hào)輸出。
2.2 硬件電路設(shè)計(jì)
TLV320AIC23能在數(shù)字和模擬電壓下工作,并可與TMS320C55x DSP的I/O電壓兼容,因而能夠?qū)崿F(xiàn)與C55x DSP的McBsP (多通道緩沖串口)端口的無縫連接,以使系統(tǒng)設(shè)計(jì)更加簡單。
系統(tǒng)中,TLV320AIC23的主時(shí)鐘11.2896MHz直接南DSP時(shí)鐘產(chǎn)生,MODE接數(shù)字地表示利用I2C控制接口來對(duì)TLV320AIC23數(shù)據(jù)進(jìn)行傳輸控制。SCLK和SDIN是TLV320AIC23控制端口的移位時(shí)鐘和數(shù)據(jù)輸入端,它們將分別與TMS320VC5509的I2C模塊端口SCL和SDA相連。TMS320VC5509A的MCBSP0應(yīng)工作在SPI模式下,這樣可使MCBSP0的接收器和發(fā)送器同步。收發(fā)時(shí)鐘信號(hào)CLKX0和CLKR0由TLV320AIC23的串行數(shù)據(jù)傳輸時(shí)鐘BCLK提供,并由TLV320AIC23的幀同步信號(hào)LRCIN、LRCOUT啟動(dòng)串口數(shù)據(jù)傳輸,DX0和DR0分別與TLV320AIC23的DIN和DOUT相連,可用于完成DSP與TLV320AIC123之間的數(shù)字通信。[!--empirenews.page--]
2.3 軟件設(shè)計(jì)
本系統(tǒng)的軟件主要由程序和數(shù)字回音處理程序兩部分組成。其中主程序主要完成系統(tǒng)的初始化,如EMIF(外部存儲(chǔ)器接口)、CPU頻率、TLV320AIC23的初始化等,結(jié)束之后,再循環(huán)調(diào)用數(shù)字回音模塊;數(shù)字回音模塊主要用于初始化語音緩沖區(qū)和工作變量、讀取語音數(shù)據(jù)并保存,然后根據(jù)延遲參數(shù)讀回保存數(shù)據(jù),并根據(jù)音效參數(shù)與當(dāng)前聲音混響把最后的語音數(shù)據(jù)輸出到McBSP0。
在對(duì)TLV320AIC23寄存器進(jìn)行寫操作時(shí),應(yīng)注意:
(1)在寫過一次I2C地址后,只能對(duì)一個(gè)寄存器進(jìn)行寫操作,而不能一次性對(duì)所有寄存器進(jìn)行寫操作。也就是說,在寫每個(gè)寄存器之前都要按部就班的寫一遍I2C地址。
(2)I2C模式下,數(shù)據(jù)是分為三個(gè)8 Bit寫入的,而TLV320AIC23有7位地址和9位數(shù)據(jù),也就是說,需要把數(shù)據(jù)項(xiàng)上面的最高位補(bǔ)充到第二個(gè)8Bit中的最后一位。
(3)存對(duì)控制寄存器編程時(shí),對(duì)應(yīng)于每一次工作狀態(tài)的改變,不能僅僅修改某個(gè)寄存器的值,而要對(duì)這十個(gè)寄存器都重新寫入一遍,否則,系統(tǒng)將無法正常工作,而且應(yīng)首先寫0到初始化寄存器以啟動(dòng)初始化,同時(shí)還應(yīng)塒所有寄存器進(jìn)行復(fù)位處理。
2.4 系統(tǒng)效果的實(shí)現(xiàn)
編程過程中,在選擇需要制作數(shù)字回音時(shí),同時(shí)可選擇設(shè)置兩個(gè)參數(shù)delay和effect。這樣,在產(chǎn)生回音時(shí),就可分別調(diào)整這兩個(gè)參數(shù),從而調(diào)整和控制回音的延時(shí)及響度。系統(tǒng)工作時(shí),假如話筒里有聲音輸入,我們可以在聽筒里聽到兩個(gè)聲音,其中一個(gè)是原聲,而另一個(gè)就是制作的數(shù)字回音,數(shù)字回音的延時(shí)及強(qiáng)弱可由參數(shù)delay和effect決定。
如有必要,還可通過適當(dāng)?shù)某绦蛟O(shè)計(jì),以在這個(gè)系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)二重回音、三重回音等,也可以模擬真實(shí)場景里的多重回音效果。
3 結(jié)束語
20世紀(jì)90年代以后,DSP芯片的發(fā)展突飛猛進(jìn)。其功能日益強(qiáng)大,性價(jià)比也不斷上升,開發(fā)手段不斷改進(jìn)。DSP芯片已成為集成電路中發(fā)展最快的電子產(chǎn)品。DSP芯片迅速成為眾多電子產(chǎn)品的核心器件,而DSP系統(tǒng)也被廣泛地應(yīng)用于當(dāng)今技術(shù)革命的各個(gè)領(lǐng)域,可以說,基于DSP技術(shù)的開發(fā)應(yīng)用正在成為數(shù)字時(shí)代應(yīng)用技術(shù)領(lǐng)域的一種潮流,本系統(tǒng)只是DSP系統(tǒng)應(yīng)用的一個(gè)實(shí)例。