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