matlab实现音频信号的左右声道信号分离_立体声分离度与立体声相关系数
藝術為人而生,人類兩個耳朵的生理構造,讓我們的播音設備大多至少帶有兩個聲道。
兩個耳朵一起,就可以分辨聲音的方位,而這又為藝術創作帶來了無限的可能性。一個合理的立體聲處理,可以帶來聽覺上的震撼。接下來我們就來談談與立體聲相關的一個概念:立體聲分離度,還有用于測量立體聲的工具:相關系數表。
立體聲分離度
Waves 的 S1 Stereo Imager一些宿主軟件(如FL Studio)、音頻處理插件(如iZotope Ozone Imager, Waves S1 Stereo Imager)都提供了用于處理立體聲的工具,而其中有一個選項,就叫做立體聲分離度(Stereo Separation),或立體聲寬度(Stereo Width)。
轉動這些旋鈕,我們確實可以聽到,聲音“變寬了”。
FL Studio 中的立體聲分離度旋鈕而這樣的效果,其實是這些效果器將輸入的信號轉換成M-S制式的信號之后,調整M通道和S通道信號的比例形成的。
Major:立體聲就是左聲道+右聲道?不!M-S制式與鋁帶話筒?zhuanlan.zhihu.com但是,更進一步講,S通道的信息是怎么來的,我們又要如何去衡量兩個通道攜帶的信息,怎么去利用好兩個聲道?
分離度的衡量
讓我們先從XY圖說起。
可以用以下方程來描述XY圖:
XY圖需要兩個輸入的信號x(t)和y(t),然后將每個時刻的x與y的值在平面直角坐標系中顯示出來。當兩個輸入均為正弦波時,就把它叫做利薩如圖形。
如果兩個分量完全一樣,我們將會看到一條與x軸呈45度角的線段。
而當兩個分量出現差異,這條線段就會變成一個有一定面積的圖形。
我們可以看看這個gif來更好地理解XY圖
莉薩如圖形當我們給出輸入信號
參數方程可以化簡為
也就是斜向上的直線
而若輸入信號是
這時候,參數方程就變成了圓。
衡量xy坐標系中的數據的相關性,有一個簡單粗暴的方法:將數據集用垂直的兩條線盡量均分為四個部分,計算右上角和左下角區域的數據與數據總量的比值,大致就為數據的相關性。
于是我們從xy圖的形狀也可以大致知道兩個通道的相關性是什么樣的:圖形越窄,相關性越大。
我們用-1到1之間的數值來描述事物的相關性。
當兩個輸入為頻率相同的正弦波時,我們可以通過他們的相位差來定義它們的相關性。當相位差為0時,相關性為1,此時xy圖中表現為一條斜向上的線段;相位差為90度時,xy圖中為正圓,此時相關性為0;相位差為180度時,兩個信號反相,xy圖中為斜向下的線段,相關性為-1。
而推而廣之,到一般性的信號上,為了衡量其相關系數,我們可以采用如下公式:
其中
為低通濾波器,L(t)和R(t)為兩個聲道的信號.[1]分離度的意義
到人耳上來,相關性越弱的聲音,聽起來“越寬”,
接下來我們用正弦波作為例子,看看不同相關性下的兩個聲道疊加之后會出現什么樣的結果。
相關性與疊加后的波形當相關系數為1時,兩個聲道疊加后,合成的波形形狀不變,但是振幅x2了。當相關系數為0時,合成波形振幅為原來的√2倍,并且移相45度。而當相關系數為-1的時候,疊加后的波形就消失了。
因此,在混音或制作母帶的時候,應該注意不要讓兩個聲道的相關性小于0,否則如果混合成單聲道的音軌,有部分聲音就會抵消掉了。
分離度的表示方法
這里以 iZotope 的 Ozone Imager 作為例子。插件提供了三種不同的儀表來讓我們可以對立體聲軌道進行觀測,分別是:Polar Sample、 Polar Level 和 Lissajous。
1、Lissajous
莉薩如圖就是上面講到的,將兩個聲道的信號作為一個向量,然后在一個正交的平面內標識出每個采樣點的位置。
不過在這里,它又把XY平面做了一個45度的旋轉,這樣一來,若聲音的相關性為1,那么表現就是一條豎直的直線,若相關性為-1,就是一條水平的直線。
在圖形的右側還有一個示值范圍為-1到1的表,則之間表示兩個聲道的相關系數。
2、Polar Sample
這個表把莉薩如圖形映射到了一個半圓形里。但是這個圖并不是極坐標圖。它將莉薩如圖形的四個坐標軸映射到兩個四分之一圓。
這樣做的好處是比起莉薩如圖形,觀察起來更加方便快捷。在半圓形中,處于傾斜的兩根橫線之間的采樣點就表示相位相差90度以內,而在外面的采樣點則會互相抵消。
3、Polar Level
該圖形表示的是某個相位差上的聲音的平均幅度。落在兩根傾斜線中間的振幅正相關,兩側的負相關。
調整立體聲寬度的方法
如果遇到兩個聲道相關性為1的情況,也就是兩個聲道的信息完全一樣,此時S通道上不攜帶信息,S通道沒有聲音。那么我們就無法使用M-S分離的方法,來拓寬聲場。
在這種情況下要對聲場進行拓寬,有很多騷操作,但是大部分操作會引入失真。
延時器
在聲道之間加入延時器,會對所有頻率的聲音造成一個相同時間的延遲,從而給不同頻率的分量引入了不同的相位差。對于一些比較簡單的聲音,使用延時器來拓寬聲場效果是很好的。
全通濾波器
在之前的文章里講過的全通濾波器也可以用于拓寬聲場不同于延時器,全通濾波器可以給相位產生一個群延時。它們造成的效果的區別也是比較微妙的。
比如由于全通濾波器給所有頻率的信號都產生了相同的相位差,那么不管高頻還是低頻,都“變寬”了相同的程度。而延時器呢,當高頻變寬了許多的時候,低頻的相位差改變的程度還很小。
合唱效果器
合唱效果器通過復制聲道,再引入一個微小的頻率偏移和延時等操作,來給聲音加上一個“合唱”的效果。如果將合唱的調制深度關掉,其實也就是引入了一個或多個延時。
至于不同的方法產生的微妙的區別,還得靠自己多嘗試,去感受啦!
[1] Correlation meter -Stack Exchange
[2] What are my phase-correlation meters telling me? - SOS
總結
以上是生活随笔為你收集整理的matlab实现音频信号的左右声道信号分离_立体声分离度与立体声相关系数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 化工原理少学时答案解析_化工原理 少学时
- 下一篇: 主角去卢旺达救中国人救到了女主军事小说女