混響也是大學問,自然混響與數字混響的區(qū)別
來源:成都迅控 編輯:小月亮 2020-12-18 19:44:57 加入收藏
混響是音頻在數字信號處理當中所能實現的最有趣的效果之一。它是一種非常適合使用數字方式進行處理的效果,而對于模擬電子設備來說,則是非常難以實現的。
正因如此,數字信號處理的使用對于我們將空間感融入音樂元素的能力帶來了非常深遠的影響。
在數字信號處理被應用在創(chuàng)建混響效果之前,人們是通過換能器的使用來創(chuàng)建混響效果的,也就是在物理延遲元件的兩端分別使用一個揚聲器和一個麥克風。
這里所述的延遲元件通常是指一組金屬材質的彈簧,也可以使用一塊懸掛起來的金屬板,還可以是一個實際存在的房間。
使用物理延遲元件來創(chuàng)建混響效果時,我們很難對聲音的變化做出控制。而且使用它們來創(chuàng)建混響,并不是件輕松方便的事情。使用金屬彈簧作為物理延遲元件來創(chuàng)造混響效果實際上是其中唯一一個還算是輕便,并且費用較低的解決方案。
盡管如此,就聲音本身的效果來說,這些方法都非常的糟糕。
首先,讓我們快速的了解一下混響的定義:自然混響是指聲音在有限空間/密閉空間中,經過表面的反射所產生的效果。聲音從其聲源處發(fā)出,以每秒1100英尺(約335米)的速度進行傳播,并撞擊到密閉空間的墻壁表面,從而產生各種角度的反射。
其中的某些反射會很快的傳播到我們的耳朵(也就是我們所說的“早期反射”),而其他的一些(沒有被傳播到我們耳朵位置的)反射會在這個密閉空間中繼續(xù)傳播并撞擊其他的表面,持續(xù)不斷的發(fā)生反射,直到聲波傳達到我們的耳朵。
對于那些堅硬且厚重的表面(例如混凝土墻面)來說,聲波經過反射后的衰減不會很大,然而對于那些柔軟的表面來說,聲波中的很多的能量會被這些表面所吸收,尤其是聲波中高頻部分的衰減最為明顯。
房間的大小,墻壁的復雜性和角度,房間內所擺放的物品以及表面的密度這些因素共同決定了這個房間的“聲音特征”。
在使用數字信號處理時,原始的延遲時間僅受到可用內存的約束;而反射次數以及與頻率相關的效果(濾波)模擬器只會受到處理速度的制約。
兩種模擬混響的方法
接下來讓我們看一看兩種用于模擬混響的數字化方法。第一個就是:暴力法,也叫強制法。
混響效果是一種時變效果(即隨著時間的變化而變化的效果)。也就是說混響效果其實跟我們所演奏的音符沒有什么關系,無論我們演奏的音符怎么變換,我們所得到的混響效果依然是相同的。
時不變系統(tǒng)(即指特性不會隨著時間的變化而變化的系統(tǒng))可以完全由其脈沖響應來表征。
您是否曾經站在一個空曠的大空間中(比如健身房或者是建筑物的大廳),發(fā)出一個很短促的聲音(擊掌就是個產生短促聲音很好的方式),然后我們就能夠聽到這個聲音的混響效果在逐漸減弱。其實這個過程,我們就是在聆聽房間的脈沖響應。
通過脈沖響應,我們能夠了解到有關這個空間的所有信息。通過那一下短促的擊掌,我們就能夠立即感受到混響的強度,混響消逝的時間以及房間的混響效果是否夠“好”。
通過聆聽房間的脈沖響應我們的不僅可以靠自己的耳朵對房間進行分類,而且我們可以對混響進行記錄并進行復雜的信號分析。所以我才說,脈沖響應能夠告訴我們關于這個空間的所有信息。
脈沖響應的之所以這么好用,是因為脈沖在理想的狀況下是一種瞬時聲音,并且它在所有頻率上所承載的能量都是相等的。而當聲波以混響的形式反射回來時,它所攜帶的信息就是這個空間對這個瞬時全頻脈沖的響應效果。
脈沖及其響應
在現實世界中,擊掌的聲音,氣球破裂的聲音,或者鞭炮爆炸的聲音,還有通過氣體的電氣放電的聲音都是脈沖信號。
如果將一個房間的脈沖響應數字化,然后將其導入到聲音編輯軟件中進行查看,它的形狀看起來會像是正在衰減的噪聲信號。在信號的密度達到一定程度之后,它會逐漸平滑地衰減到零。實際上,聲音空間越平滑這種衰減就會越平滑。
就數字音頻處理而言,我們很容易理解脈沖響應中的每一個采樣點都可以被看作是脈沖的離散回波。
在理想的情況下,由于脈沖是單一的非零樣本,因此不難理解當我們使用了一系列的樣本時(即在房間中播放的音樂),我們得到的響應將是所有的樣本在各自的時間點上的響應之和,這被稱為疊加。
換句話說,如果我們已經擁有了某個空間的數字化的脈沖響應數據,那么我們就可以輕松地將這個空間的特征添加到任何一個數字化的干聲音中去。
用脈沖響應中的每一個點乘以樣本的振幅即可得出這個空間內該樣本的響應;因此我們只需要對被“放入”該空間中的每一個聲音樣本進行乘法操作就能夠得到整個聲音樣本的響應。通過這種方法,我們只需將結果疊加在一起,即可所獲得一系列(數量與我們使用的樣本數量相等)重疊的響應。
這個方法十分簡單,但是計算量卻非常的龐大。我們所輸入的每一個樣本都需要和脈沖響應中所對應的樣本相乘,然后再添加到混音中。
如果我們需要處理的樣本數量為n個,而脈沖響應擁有的樣本數量是m個,那么在這個方法中我們需要執(zhí)行n + m個乘法和加法運算。因此,如果我們的脈沖響應的長度是三秒鐘(對應一個大房間的情況),而我們需要處理的音樂的長度是一分鐘,那么在采樣率為44.1KHz的情況下,我們在整個過程中需要進行約350萬億次的乘法運算和相同數量的加法運算,這簡直是個天文數字。
如果我們有一整天的時間去等待計算機進行計算處理,那這不會是什么問題,但是如果我們想獲得實時的效果,這種方法顯然是不可能的。
這是件非常遺憾的事,因為這種方法在很多方面都具有非常大的優(yōu)勢。特別是通過它我們可以精確的模擬出世界上任何一個房間的脈沖響應,而且我們還能夠輕松的制作出專屬于自己的脈沖響應,也就意味著我們能夠創(chuàng)造出專屬于自己的“房間”。
事實上,還有一種更加實用的方法能夠幫助我們解決這個問題。
我們之前一直在討論的是時域處理,而其中將兩個采樣信號進行乘法處理的過程被稱為“卷積”。雖然在時域中進行卷積需要進行大量的運算,但是在頻域中進行等效的卷積處理所需的計算量卻能夠得到大幅的減少(時域中的卷積等效于頻域中的乘法運算)。
具體的解釋我就不在這篇文章里展開了。
一種實用的數字混響方法
我們所熟知和喜愛的那些數字混響效果器都采用了和上面所述的不同的方法?;旧蟻碚f,它們會通過多個延遲和反饋的使用創(chuàng)建出一系列密集的回聲,這些回聲會隨著時間的流逝而消失。
想要實現這個效果,我們所需的基本元素/模塊都是差不多的,然而我們可以通過變量的設置和模塊組合的方式來獲得不同的結果,從而給我們的數字混響單元賦予獨特的聲音特征。
最簡單的操作方法是使用單個延遲,將部分信號反饋到該延遲中,從而產生一個隨時間逐漸消失的重復的回波(反饋的增益必須小于1)。
將類似但是不同長度的延遲進行混合能夠增加回聲的密度,從而達到更加接近混響的效果。例如,如果我們將延遲長度設置為不同的質數,就能夠讓每個回波都落在其他回波的空白區(qū)域,從而提高整體的密度。
實際上,上面所說的這種簡單的操作方法的效果并不理想。如果我們想要獲得平滑的混響效果,需要使用的這種硬回聲的數量是非常龐大的。
同樣的,這種簡單的反饋容易引起梳狀濾波效應,會導致頻率被抵消,雖然這種抵消可模仿出房間的效果,但是也會產生ringing和不穩(wěn)定的效果。雖然是有用的,但是僅僅靠這些梳狀濾波器并不能夠為我們帶來令人滿意的混響效果。
梳狀濾波混響的原理圖
通過正反饋(反相)和負反饋的加入,我們可以對頻率抵消進行填充,使整個系統(tǒng)變成全通濾波。全通濾波器能夠像之前的方法一樣帶來回波,但是其頻率響應會更平滑。
它們能夠提供頻率相關的延遲效果,對輸入信號的諧波進行涂抹,能夠讓我們獲得更接近于真實混響的聲音效果。梳狀濾波和全通濾波的組合(串聯(lián),并聯(lián),或者是嵌套)的循環(huán)延遲以及其他元素(例如,在反饋路徑中加入濾波器以模擬高頻吸收)的共同作用,能夠為我們提供真正好用的數字混響效果。
全通濾波器混響的原理圖
好了,我們這次就說到這里,對于數字混響這個主題我們能夠找到大量的相關文章,而這篇文章的目的僅僅是向大家介紹基本知識。
評論comment