DSP 混響的需求來源
聲波在室內(nèi)傳播時(shí),會(huì)被墻壁、天花板、地板等障礙物反射,每經(jīng)過反射一次都會(huì)被障礙物吸收一些。當(dāng)聲源停止發(fā)聲后,聲波在室內(nèi)要經(jīng)過多次反射和吸收,最后才消失。因此我們可以感覺到,當(dāng)聲源停止發(fā)聲后還有若干個(gè)聲波混合持續(xù)一段時(shí)間,即室內(nèi)聲源停止發(fā)聲后仍然存在的聲延續(xù)現(xiàn)象,這種現(xiàn)象叫做混響,這段時(shí)間叫做混響時(shí)間。
在演奏表演時(shí),為了獲取一個(gè)高質(zhì)量的音樂效果,混響是極為重要的組成部分。隨著目前聲學(xué)相關(guān)設(shè)備的需求量越來越高,大家對(duì)音樂中的聲音質(zhì)感要求也越來越高。在混響上主要的實(shí)現(xiàn)方式包括物理模擬、采樣混響以及人工混響三種方式,物理模擬因?yàn)橛?jì)算量巨大,在實(shí)際場景落地比較困難,用的極少。采樣混響實(shí)現(xiàn)簡單,但是靈活度不夠,種類也比較少。而人工混響計(jì)算量小、實(shí)現(xiàn)簡單,所以在實(shí)際應(yīng)用上比較廣泛,當(dāng)然缺點(diǎn)就是不如前兩種逼真,但是支持普通的調(diào)音、混音、演奏需求是完全沒有問題的。下面將介紹混響在 DSP 中的概念、應(yīng)用及其實(shí)現(xiàn)。
DSP 混響的定義及優(yōu)點(diǎn)
DSP 混響 (Digital Signal Processing Reverb) 是一種使用數(shù)字信號(hào)處理技術(shù) (DSP) 來實(shí)現(xiàn)混響效果的技術(shù)。混響是指聲波在室內(nèi)或其他封閉空間內(nèi)反射、散射和衰減的現(xiàn)象,它可以使聲音更具空間感、深度和寬度。在音頻處理和音樂制作中,混響效果非常重要,它可以讓聲音更加自然、豐富和立體。它具有以下幾種優(yōu)點(diǎn):
靈活性:可輕松調(diào)整改變混響參數(shù),如延遲時(shí)間、衰減率、房間大小等,適應(yīng)不同應(yīng)用場景。
實(shí)時(shí)處理:通過實(shí)時(shí)處理技術(shù),對(duì)音頻信號(hào)進(jìn)行實(shí)時(shí)處理,從而實(shí)現(xiàn)混響效果。
高質(zhì)量:可提供高質(zhì)量的混響效果,使聲音更加自然和真實(shí)。
節(jié)省資源:可節(jié)省寶貴的音頻處理資源,如CPU、內(nèi)存等。
總之,DSP 混響在音樂制作、錄音、廣播、游戲、電影等領(lǐng)域有著廣泛的應(yīng)用,通過 DSP 混響技術(shù),我們可以創(chuàng)造出更加豐富、立體和自然的聲音效果。說到混響,我們還需要知道的一個(gè)概念就是回聲。回聲是在一個(gè)方向的延遲反射,而混響則是在多個(gè)方向的多次延遲反射。在軟件混響原理中我們能看到的基本上分為以下三種類型:
回聲類:以多回聲構(gòu)建的 echos 系統(tǒng),回聲數(shù)量由自身根據(jù)具體類型進(jìn)行控制。
脈沖響應(yīng)類 (IR 類):多見于現(xiàn)場采集各種模型,通過與后音源做卷積來得到較好的輸出效果。
Schroeder & Moorer 類:它是一種混合模型結(jié)構(gòu)。
對(duì)于目前市面上主流的一些混響種類,比如房間混響、大廳混響、板式混響、教堂混響、彈簧混響等等,其實(shí)現(xiàn)原理都可以用上面三類方式來進(jìn)行實(shí)現(xiàn)。目前我們常見這些混響種類,在調(diào)音師或者混音師的工程里,主要用于提升特殊效果,增加音樂的氛圍感、空間感和立體感。
ECHO 類混響系統(tǒng)
談及回聲類混響系統(tǒng),這里不得不提到 Comb Filter 混響器,簡單理解就是聲音在空間中不斷碰撞并產(chǎn)生回聲的一個(gè)過程。同理,在播放器端,我們需要播放的其實(shí)就是一個(gè)音源,以及它被無數(shù)次后續(xù)回聲追加的一個(gè)過程,簡稱梳狀濾波混響器。這里我們需要建立一個(gè)數(shù)學(xué)模型,下圖 (圖1) 為一個(gè)簡單的房間混響模型表示:
圖1 房間聲音模型
從上圖可以看出,房子的反射效果受房間大小以及反射強(qiáng)度影響。如果房間足夠大、吸音材料非常好,就會(huì)導(dǎo)致房間內(nèi)基本上沒什么反射。反之反射就會(huì)比較強(qiáng)烈。在房間建筑學(xué)設(shè)計(jì)中,比較多通過塞賓公式來進(jìn)行估算,而混響強(qiáng)度的標(biāo)準(zhǔn)一般以 RT60 為主。參考該物理模型,我們在梳妝濾波器的設(shè)計(jì)過程中就可以進(jìn)行一系列的公式推導(dǎo),例如:
假設(shè)說話者說出的信號(hào)是 x[n],聽者某時(shí)刻接收到的信號(hào)是 y[n],那么 y[n] 包含那些內(nèi)容呢?
y[n] 應(yīng)該是 x[n] + 反射 1 + 反射 2 .......
反射怎么表示?它應(yīng)該是 x[n] 的延時(shí)。我們假設(shè)延時(shí) m,那么反射 1 應(yīng)該是 x[n-m],但是我們還應(yīng)該考慮反射時(shí)的衰減,也就是上面所說的房子的反射效果。假設(shè)衰減是 a,則反射 1 應(yīng)該表示成 x[n-m]*a
所以,y[n] = x[n] + a*x[n -m] + a^2*x[n - 2m] + a^3*x[n - 3m] ......
簡化下求和,利用差分或者 z 變化可以得到差分方程:y[n] = ay[n - m] + x[n]
通過以上公式推導(dǎo),可以得到如下圖 (圖2) 所示的該模型結(jié)構(gòu)圖以及時(shí)域和頻域表現(xiàn):
圖2 模型塊狀圖
在時(shí)域上,作為一個(gè)等比例 (反饋衰減系數(shù)取決于自身設(shè)計(jì)的衰減公式) 衰減模型,其呈現(xiàn)一種周期性遞減規(guī)律,如下圖 (圖3) 所示:
圖3 單位沖擊響應(yīng)隨時(shí)間的變化
在頻域上,系統(tǒng)對(duì)頻率具有周期響應(yīng),且具備最大值與最小值,這樣我們將會(huì)得到像梳子一樣的波形圖,如下圖 (圖4) 所示,因此也被稱為梳狀濾波器。
圖4 頻譜以及相位表現(xiàn)圖
由此我們就可以根據(jù)這樣的模型去設(shè)計(jì)一個(gè)簡單的算法,在 DSP 芯片中,它的算力不是很高,存儲(chǔ)空間不是很大,但有時(shí)候在需要選取一點(diǎn)點(diǎn)回聲類混響系統(tǒng)里比較好用的產(chǎn)品時(shí),例如一些輕量級(jí)的低功耗電子產(chǎn)品,需要有一點(diǎn)混響的鑲邊效果,我們就可以用這種方式去實(shí)現(xiàn)。而對(duì)于另外那些較高標(biāo)準(zhǔn)、功耗不敏感的產(chǎn)品,我們使用以下介紹的兩種方式實(shí)現(xiàn)效果將會(huì)更好。
IR 類混響系統(tǒng)
對(duì)于模擬現(xiàn)實(shí)生活的中混響,試想一下,如果我們在一個(gè)房間里面對(duì)面地交談,因?yàn)槁曇粼诜块g里面的反射是無處不在的,在開始交談的過程中,會(huì)有最開始的一部分直達(dá)聲進(jìn)入我們的耳朵,這時(shí)它的能量是最高的。隨后通過各種各樣的反射,聲音的能量得到衰減后慢慢進(jìn)入到我們的耳朵,這個(gè)時(shí)間和能量的表現(xiàn)就像是一個(gè)個(gè)脈沖,所以在這里描述它就是脈沖響應(yīng)類的其中一種混響。那么在實(shí)現(xiàn)上,如何達(dá)到這種接近現(xiàn)實(shí)的混響效果呢?
在計(jì)算機(jī)領(lǐng)域里,我們很多時(shí)候是根據(jù)不同的混響特征來生成 IR 文件,也可以根據(jù)錄制等方式去獲取特定的空間混響。因?yàn)橛幸恍┗祉懀谒惴ǖ膶?shí)現(xiàn)上十分困難,且具備一定的特異條件,但是當(dāng)我們又需要到這種混響背景的時(shí)候就需要用到它了。在實(shí)現(xiàn)上,我們通常通過特定的 IR 文件和原始音源來進(jìn)行卷積運(yùn)算,而卷積的計(jì)算公式和方式比較復(fù)雜,為了方便大家理解,可以想象是把輸入的信號(hào)和 IR 進(jìn)行乘法運(yùn)算,從而達(dá)到使輸入的信號(hào)里面有 IR 的混響效果。
在 DSP 的實(shí)現(xiàn)上,類比我們經(jīng)常能夠在一些上位機(jī)軟件中看到的特征混響,這些 IR 文件將以各種方式存儲(chǔ)在我們的 Flash 內(nèi),并且可能具備多個(gè) model 1、model 2、model 3 等等。取特定文件出來,在 DSP 內(nèi)部進(jìn)行卷積運(yùn)算輸出即可,這多見于一些音樂設(shè)備中特定類型的混響。
Schroeder & Moorer 類混響系統(tǒng)
上文提及的 ECHO 類混響,在梳狀濾波器設(shè)計(jì)完畢后,會(huì)存在一些不完美的地方。其實(shí)從幅度譜以及相位譜就能看出來,幅度譜不是足夠平坦,這樣在共振峰和瞬態(tài)比較大的條件下,它所帶來的聲音表現(xiàn)著色非常嚴(yán)重,相位的變化也不恒定。因此 Schroeder 對(duì)混響進(jìn)行了大量的改良技術(shù),在“Colorless” Artificial Reverberation – 1961 和 Natural Sounding Artificial Reverberation – 1962 的兩篇論文中有提到該技術(shù)。
針對(duì)回波密度不夠的表現(xiàn),增加了多組梳狀濾波器的并聯(lián)組合,同時(shí)加入了全通濾波器。因?yàn)槿V波器的頻譜就是一條直線,不對(duì)任何頻率產(chǎn)生影響,且僅僅只是附帶一些群延時(shí)的效果,這樣就可以用來實(shí)現(xiàn)消除強(qiáng)烈著色的效果。同時(shí)因?yàn)榛芈暶芏鹊脑黾樱瑢⑹沟孟到y(tǒng)更加趨近于真實(shí)的效果,如下圖 (圖5) 所示:
圖5 真實(shí)混響模型圖
其脈沖響應(yīng)大概可以描述成如下圖 (圖6) 所示的圖形:
圖6 脈沖響應(yīng)模型圖
下圖 (圖7) 為其模型塊狀圖:
圖7 Schroeder 脈沖響應(yīng)模型圖
從上圖模型不難看出,4 個(gè)梳狀濾波器的疊加會(huì)使我們大大增加回聲密度,從而彌補(bǔ)了 ECHO 類回聲密度過于稀少的問題。在 Schroeder 的觀念里,每秒的回聲至少要達(dá)到 1000 個(gè)才能基本符合,且每個(gè)回聲的延遲不能一樣,一樣就會(huì)導(dǎo)致 4 個(gè)梳狀濾波器制造的回聲時(shí)域上的一致,這樣就失去其意義。做完梳狀濾波器的疊加后,通過連接 2 個(gè)全通濾波器做乘法運(yùn)算,在進(jìn)一步增加回聲密度的同時(shí)減少金屬音。
在 Comb 的參數(shù)選擇上,延時(shí)的比例一般選在 1:1.5,盡量選擇沒有公因數(shù)的延遲時(shí)間,有公因數(shù)會(huì)導(dǎo)致某些地方的重疊,并且合理地設(shè)計(jì)好 G (衰減系數(shù)) 的大小,一般都是根據(jù) D 值和 RT60 進(jìn)行計(jì)算,確保大小是在一個(gè)比較合理的范圍。在全通濾波器的選擇上,延時(shí)盡可能要低 (1-5ms),增益值在 0.5-0.77 之間會(huì)比較合適。
Schroeder 混響的算法相對(duì)而言比較簡單,而且也能達(dá)到一個(gè)非常不錯(cuò)的效果。但是隨著后來的發(fā)展,Schroeder 算法也存在一些可以改進(jìn)的點(diǎn),例如上圖 (圖6) 的預(yù)梳理和預(yù)延時(shí)模塊,如果想獲取更加逼真的效果,在早期反射其實(shí)不能夠完全按照 Schroeder 模型進(jìn)行設(shè)計(jì),要增加 APF 以及 Pre-delay 模塊,或者考慮是否可以增加更加多的 Comb 來獲取更多的回聲密度、后端的 APF 是否可以嵌套使用等等。在 Schroeder 的基礎(chǔ)之上,Moorer 的數(shù)字混響模型也就誕生了,下圖 (圖8) 為 Moorer 脈沖響應(yīng)模型圖:
圖8 Moorer 脈沖響應(yīng)模型圖
Moorer 算法模型大概將一個(gè)混響分成了三個(gè)階段:直達(dá)聲、早期混響和晚期混響。早期混響通過增加前級(jí)反饋和 FIR 來模擬,同時(shí)增加低通濾波器來模擬高通在空氣的衰減效果,后端增加到 6 個(gè) Comb 組以及 APF 的嵌套使用。
隨著目前大家對(duì)音頻相關(guān)產(chǎn)品的需求增加,混響對(duì)于音頻設(shè)備來說已經(jīng)成為一種基本需求。那么在混響中又有哪些參數(shù)調(diào)整?在 ADI DSP 中我們該如何選擇 DSP 去設(shè)計(jì)一套合理的算法?這些內(nèi)容將會(huì)在《如何在 ADI DSP 中設(shè)計(jì)一個(gè)合理的混響 (下) 》為大家介紹。
總結(jié)
本文主要分析了混響的類型、主要幾大類 DSP 混響的實(shí)現(xiàn)原理,工程師們可以根據(jù)自己的實(shí)際情況來合理設(shè)計(jì)自己的混響算法。
審核編輯:劉清
-
dsp
+關(guān)注
關(guān)注
553文章
7998瀏覽量
348834 -
濾波器
+關(guān)注
關(guān)注
161文章
7803瀏覽量
178057 -
FlaSh
+關(guān)注
關(guān)注
10文章
1634瀏覽量
147980 -
數(shù)字信號(hào)處理
+關(guān)注
關(guān)注
15文章
560瀏覽量
45853 -
脈沖響應(yīng)
+關(guān)注
關(guān)注
0文章
11瀏覽量
2654
原文標(biāo)題:如何在 ADI DSP 中設(shè)計(jì)一個(gè)合理的混響 (上)
文章出處:【微信號(hào):駿龍電子,微信公眾號(hào):駿龍電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論