国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DSP的實時算法混響效果器的設(shè)計與實現(xiàn)

2018-03-08 01:21陳淑瑜
棗莊學(xué)院學(xué)報 2018年2期
關(guān)鍵詞:混響寄存器信號處理

陳淑瑜

(棗莊學(xué)院 機電工程學(xué)院,山東 棗莊 277160)

0 引言

隨著現(xiàn)場音樂與KTV等的發(fā)展,以及社交軟件如微信,skype等的普及,人們對于語音信號處理的需求日益提高.與此同時,利用數(shù)字系統(tǒng)實現(xiàn)語音信號的各種處理,如語音變調(diào),算法混響,語音識別,語音增強,語音合成等,比起曾經(jīng)的模擬系統(tǒng),數(shù)字系統(tǒng)對于信號的處理具有抗干擾能力強,實現(xiàn)簡單,效果好等優(yōu)勢.隨著數(shù)字信號處理技術(shù)與算法的發(fā)展[1,2],DSP數(shù)字信號處理專用芯片性能的提高[3],數(shù)字系統(tǒng)處理各種信號成為信號處理領(lǐng)域的首要選擇.結(jié)合對于語音信號處理的需求以及數(shù)字信號處理的優(yōu)點,本文使用數(shù)字信號處理技術(shù)實現(xiàn)了混響效果器,因為效果器對于實時性具有要求,所以采用了Ti的DSP芯片來作為系統(tǒng)的核心處理器.

1 系統(tǒng)設(shè)計

1.1 音頻采集與播放芯片

AIC的管腳與內(nèi)部框圖如圖1所示.

1.3 整機硬件設(shè)計與原理

該系統(tǒng)需要同時完成音頻的采集與播放的功能.為了采集音頻,需要使AIC23進入AD工作狀態(tài),這就需要設(shè)置AIC23對應(yīng)的內(nèi)部寄存器,之后AD開始工作,將AD轉(zhuǎn)換得到的數(shù)據(jù)傳入McBSP,通過讀取McBSP的數(shù)據(jù)就可以獲得PCM編碼的音頻采樣數(shù)據(jù),最后將該數(shù)據(jù)存入SDRAM就完成了音頻采集工作.

核心從SDRAM中讀取音頻數(shù)據(jù),并且實現(xiàn)混響算法,并將處理后的數(shù)據(jù)寫入McBSP.將AIC23對應(yīng)的寄存器進行設(shè)置,就可以使其內(nèi)部的DA開始工作.AIC23將McBSP中的數(shù)據(jù)讀入DA轉(zhuǎn)換得到模擬信號后經(jīng)過功放完成音頻的播放.

因為McBSP為多通道緩沖串口,所以數(shù)據(jù)之間是以流的形式傳遞.同時AIC23的AD與DA可以并行工作,結(jié)合這兩種特性,系統(tǒng)可以在人耳難以察覺的時延(毫秒級)內(nèi)完成對新輸入音頻數(shù)據(jù)的處理以及播放,因此可以稱本系統(tǒng)為實時效果器.

圖1 系統(tǒng)硬件框

2 算法設(shè)計與實現(xiàn)

2.1 混響介紹

當(dāng)聲波在一個相對狹小的空間內(nèi)傳播時,在碰到如墻壁,天花板,地板的障礙物時會發(fā)生反射,同時,聲波也會被這些障礙物所吸收.所以,一個聲源所發(fā)出的聲音后,這些聲音會在數(shù)次的反射與吸收后才會消失.對于室內(nèi)的人來說,所有的聲音會先后傳入耳中,這種聲學(xué)現(xiàn)象被稱作混響.

在錄音棚中,為了保持聲音最原始的效果,會采用吸音材料來保證沒有混響的產(chǎn)生,在錄音結(jié)束后,通過軟件來人為添加與調(diào)整混響效果.沒有混響的聲音被稱作干音,添加混響后聲音的音色會有大幅度的改善[4].

現(xiàn)在的軟件混響的實現(xiàn)主要有兩種.一種是卷積混響.該類混響通過在自然的建筑中播放掃頻信號進行采樣,然后將采樣所得信號與音頻信號進行卷積來達到混響的效果.該類混響效果的實現(xiàn)具有自然的優(yōu)點,但是對于采樣的要求較高且無法根據(jù)需要進行調(diào)整.

另一種是算法混響.該效果通過模擬聲波的反射與吸收來實現(xiàn).該實現(xiàn)方法實現(xiàn)簡單且效果可調(diào)和成本較低等優(yōu)點[5].

2.2 混響算法實現(xiàn)及仿真

2.2.1 算法介紹

本文選擇使用算法混響的方法來實現(xiàn)混響效果器.自然界的混響效果主要由反射物的材質(zhì)和聲源與反射物之間的距離來決定.在數(shù)學(xué)意義上,這兩點決定了聲音的時延時間與吸收系數(shù).

其中n決定了反射面的個數(shù),時延參數(shù)決定了反射面與聲源的距離,m決定了反射次數(shù),決定了材料對于聲音的吸收.

通過調(diào)整以上三個參數(shù),可以改變卷積效果,可以調(diào)整空間的大小,改變可以改變混響的材料.通過以上參數(shù)的共同作用可以實現(xiàn)諸如在水中,浴室內(nèi),音樂廳,報告廳等不同場景的混響效果.

圖2 算法實現(xiàn)框圖

2.2.2 算法仿真

圖3 延時器仿真波形

假設(shè)輸入函數(shù)為

圖4 輸入函數(shù)圖

設(shè)置n為2,m為3,t0=1,t1=0.5則輸出波形為

3 軟件設(shè)計與實現(xiàn)

1.1 DSP核心初始化

該部分主要需要設(shè)置AIC23的狀態(tài)即其內(nèi)部的寄存器.在初始化中需要關(guān)注的寄存器是5號寄存器與9號寄存器.因為本設(shè)計是從mac口采集數(shù)據(jù),所以要將5號寄存器的值設(shè)置為0x0015采樣率選擇使用32kHZ,所以9號寄存器設(shè)置為0x0019;所以config結(jié)構(gòu)體的最終參數(shù)為

圖5 輸入波形圖

#define DSK6416_AIC23_DEFAULTCONFIG {

0x0017, 0x0017,

0x00d8,

0x00d8, 0x0015,

0x0000,

0x0000,

0x0043,

0x0019,

0x0001

}

MCBSP_config(DSK6416_AIC23_DATAHANDLE,&AIC23CfgData); MCBSP_start(DSK6416_AIC23_DATAHANDLE, MCBSP_XMIT_START | MCBSP_RCV_START |

MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 220);

之后調(diào)用的三個庫函數(shù)是初始化DSP與AIC23傳遞數(shù)據(jù)的通道McBSP.至此初始化工作完畢.

3.2 語音信號的播放與采集

主要通過一下兩個庫函數(shù)來實現(xiàn)

MCBSP_write(DSK6416_AIC23_DATAHANDLE,AIC_data.uint)

MCBSP_read(DSK6416_AIC23_DATAHANDLE)

AIC_data結(jié)構(gòu)體的定義為

union {

Uint32 uint;

short channel[2];

} AIC_data;

左聲道占用前16位,右聲道占用后16位,所以采用一個聯(lián)合體共用一個內(nèi)存空間來實現(xiàn).MCBSP_write的功能是向MCBSP寫入數(shù)據(jù)也就是向AIC23的DA轉(zhuǎn)換器寫入數(shù)據(jù)來達到輸出的目的.MCBSP_read的功能是讀入MCBSP的數(shù)據(jù),也就是讀AIC23的AD轉(zhuǎn)換器獲得的采樣值,該函數(shù)返回一個無符號32位整型數(shù)據(jù).將這兩個函數(shù)進行封裝使數(shù)據(jù)分別寫入前16位或者后16位或者整個32位,來實現(xiàn)左聲道輸入輸出,右聲道輸入輸出,和雙聲道輸入輸出.封裝后的函數(shù)為

void output_sample(Uint32);

void output_left_sample(short);

void output_right_sample(short);

Uint32 input_sample();

short input_left_sample();

short input_right_sample();

所以錄音的實現(xiàn)為:

while(設(shè)置條件)

{

buffer[i++]=input_sample();

}

播放的實現(xiàn)為:

while(設(shè)置條件)

{

output_sample(buffer[i++]);

}

4 結(jié)束語

本文從混響的原理出發(fā),重點對混響算法的設(shè)計進行了闡述并在matlab上對多種語音信號進行了仿真與實驗.并且在TMS320C6416上搭建了相關(guān)電路與程序編寫,完成了整機的測試與設(shè)計.通過測試可以實現(xiàn)實時的混響效果且聲音清晰,并且可以通過改變參數(shù)完成不同材質(zhì)不同空間的混響效果.其在演唱會現(xiàn)場或者報告廳具有實用意義.

[1]段文斌.對數(shù)字信號處理技術(shù)的應(yīng)用和發(fā)展的探討[J].電子測試,2017(6).

[2]陳文靈.數(shù)字信號處理技術(shù)的發(fā)展及其思考[J].電子技術(shù)與軟件工程沒,2015(1).

[3]李鑫.淺談數(shù)字信號處理器DSP的發(fā)展和應(yīng)用[J].硅谷,2008(14).

[4]楊曉曄.淺談人工延時和人工混響在錄音中的作用[J].內(nèi)蒙古廣播與電視技術(shù),1998(2).

[5]陳偉,湯樂民,王偉,等.基于數(shù)字信號處理技術(shù)的人工混響模型設(shè)計和研究[J].廣西師范大學(xué)學(xué)報(自然科學(xué)版).2015(3).

猜你喜歡
混響寄存器信號處理
專題征稿啟事
——信號處理
MATLAB在數(shù)字信號處理中的應(yīng)用
Lite寄存器模型的設(shè)計與實現(xiàn)
淺談在混音中混響插件的組合使用
基于MATLAB的語音信號處理
二進制翻譯中動靜結(jié)合的寄存器分配優(yōu)化方法
海洋混響特性分析與建模仿真研究?
淺談音響效果器的應(yīng)用
移位寄存器及算術(shù)運算應(yīng)用
一種激光/無線電復(fù)合引信信號處理技術(shù)
伊宁县| 黑龙江省| 永康市| 昌吉市| 锡林浩特市| 吉安县| 康马县| 梁河县| 米易县| 东至县| 乡宁县| 万荣县| 噶尔县| 成都市| 吉首市| 江山市| 河源市| 霍林郭勒市| 鄯善县| 息烽县| 双城市| 石阡县| 昌平区| 彭泽县| 荆门市| 泽普县| 喀什市| 隆化县| 顺义区| 临漳县| 融水| 禄劝| 九台市| 宿州市| 平陆县| 班玛县| 定南县| 沿河| 莲花县| 深水埗区| 商河县|