錄音筆記-數位音量標準、 dBFS、dBTP、LUFS

Cory Chu
14 min readJul 30, 2021

--

音量大小聽起來是再平常不過的東西,不過其實當中也是有很多眉眉角角需要釐清,當我們要把混好音的檔案送往不同的播放平台時(電影、電視、Podcast、串流音樂、Youtube……),也會遇到一些音量標準的術語,像是 Spotify 就在 https://artists.spotify.com/help/article/loudness-normalization中表明:

Target the loudness level of your master at -14dB integrated LUFS and keep it below -1dB TP (True Peak) max.

為了要了解其中 LUFS 與 dBTP 是什麼,我們分成三個部分來討論:

  1. dB (Decibel) 分貝是什麼
  2. 人類對聲音大小的感覺
  3. 數位的聲音取樣方式與 dBFS、LUFS、dBTP

dB (Decibel) 分貝是什麼

最一開始 deci-bel 指的當然就是 deci-(十分之一)bel (B),不過當今也沒什麼人在用 Bel 了,就讓我們獨立來看待 dB。首先,dB 是一個相對的概念,是比值的延伸,必須要相對於某個參考值來比較。以電壓為例,如果參考電壓是 10V,我們可以說 1000V 的電壓是 10V 的 100 倍,我們只要將這個 100 取 log 再乘上 20 就會變成相對於 10V 的 dB 值,也就是 1000V 的電壓可以表示成 20log(1000V/10V) = 40 dB10V。

一般而言 dB 的定義分成兩種,用於能量類與振幅類的物理量,分別是將比值取完 log 之後乘上 10 或 20,這麼做會使由振幅算得的 dB 值會與對應的能量 dB 值相等。因為一般而言能量比值會是振幅比值的平方,也就是當振幅變成 10 倍的時候能量會變 100 倍,比如消耗在電阻 R 上的功率 P 與施加在電阻兩端的電壓 V 有著 P = / R 的關係。下面以式子來說明:

能量類物理量 Power quantities

對於能量、功率這樣的 Power quantities,在這裡以 P 表示,他對應的分貝值 L_P 定義為

其中 P₀ 是所用的參考基準值。比如 dBm 就是用 1mW 做為參考功率計算的 dB 值。

振幅類物理量 Root-power (Field, Amplitude) quantities

如聲壓、信號電壓這類“振幅”的值,或稱作 Root-power quantities ,在這裡用 A 代表,我們定義其對應的分貝值 L_A

比如 dBV 就是用 1V 做為參考電壓計算的 dB 值。

另外值得注意的是,雖然所有的 dB 值都要根據某個參考值來計算,但到底參考值是取多少不見得會被寫得很清楚,很多時候會被縮寫甚至省略,雖然內行人都知道他們對應的參考值是多少,但對新手來說就很困擾,必須要查閱參考資料,可以參見維基百科Pro Audio Reference。比如 dB SPL (sound pressure level) 指的是相較於 20 μPa RMS 的壓力聲波,也是一般人能聽見的最小聲音。所以當聲音小到其 dB SPL < 0 時一般人就聽不見了。

人類對聲音大小的感覺

人類對聲音大小的主觀感覺主要分為兩個部分,一是我們對音量的感覺與聲波的振幅的關係並非線性,也就是振幅十倍大的聲音聽起來並不是十倍大聲;二是我們對不同的頻率的聲音有不同的敏感度,同樣音壓但不同頻率的聲音聽起來並不會同樣大聲,像是頻率超過 20kHz 的聲音就算再大我們也幾乎聽不見。讓我們來分別研究這兩個特性。

Weber-Fechner Law

對於第一項非線性的描述有兩個經典的理論,分別是Weber–Fechner law (1860)Stevens’s power law (1957),前者認為我們對音量的感覺 P 與實際的聲音強度 I 呈現對數關係 P=k ln(I/I₀);後者則認為他們成冪次關係 P=k Iᵃ ,至於哪個比較接近人類的感覺,有待進一步的討論,可以參考如 Yilmaz (1967) 的文章。

不過,實務上來說,幾乎所有的音量錶都採用了對數的方式呈現,這比較接近 Weber-Fechner Law 的想法,並以前一小節所提到的 dB 為單為,為了對 dB 更有感覺,可以稍微記下一些常見的 dB 值與他所對應的特性:每增加 10dB 就代表的能量變成 10 倍大或振幅變成 √10 大,聽起來約莫是兩倍大聲的感覺。另外若考慮輸出信號的電壓,兩倍的電壓就是增加 20 log(2) = 6.02 dB 的信號,最後,若是能量變兩倍,增加的dB值就是 10 log(2) = 3.01 dB。條列起來就是:

  • +3dB:能量兩倍
  • +6dB:振幅兩倍
  • +10dB:能量十倍,聽覺音量約兩倍
  • +20dB:振幅十倍

Equal-loudness Contour

接下來,我們要討論人類對不同頻率聲音的音量感覺。首先,我們可以將不同頻率聽起來一樣大聲的信號所對應的聲壓(Sound pressure level, SPL)在圖上連成線,形成所謂的等音量圖(Equal-loudness contour),如下圖:

Source: https://en.wikipedia.org/wiki/Equal-loudness_contour

當中的藍線們是 Harvey Fletcher 與 Wilden A. Munson 於 1933 年發表的文章中包含的等音量曲線,也被稱作 Fletcher–Munson curves;紅線們則是於 2003 年所訂定的 ISO 226:2003 標準當中包含的等音量圖,以 Fletcher–Munson curves 為例,沿著同一條藍線上,不同頻率所對應之 dBSPL(聲壓)的單頻音(pure tone)在受試者聽起來是一樣大聲的。所以可以發現,人耳對 4kHz 左右的聲音是最敏感的!另外可以發現圖中的等音量線標有 20, 40, … , 100 phon 的單位,並在1000 Hz 時與 20, 40, … , 100 dBSPL 重合,這是由於 phon 這個 “人類所感覺到的音量” 的單位是以 1kHz 單頻音所具有的 dBSPL 值來定義的。

由於下載 ISO 226:2003 的標準是要付費的,身為一個免費仔,要如何獲得這些曲線的資料呢?我目前有找到兩個地方可以獲得,分享給大家:

Weighting

若考慮上述人耳對不同頻率聲音有不同敏感度的特性,我們在估計一首歌被聽起來的音量時,也應該要做相對應的處理,也就是做頻率上的加權平均,對我們較敏感的頻率加重計算音量的權重,基本上就是根據上面的等音量圖來做加權。然而,為了針對不同的目的與歷史上的因素,人們提出了許多不一樣的權重計算方式,下圖就繪製了四種不同的頻率權重(Weighting)。基本上不論是哪種權重,大致都是上面提到的等音量圖倒過來而已。

Source: https://www.grimmaudio.com/wp-content/uploads/cinema_loudness_aes_rome_2013.pdf

圖中的 A-weighting 原本是根據 Equal-loudness Contour 當中的 40 phon curve 來設計的,定義於 IEC 61672–1 當中,被用來估計噪音與可能的聽覺傷害,另外一個常用於噪音的是 ITU-R 468(定義於 ITU-R Rec.BS.468–4 標準,即圖中的M(註:上圖的 M 其實是 ITU-R 486, 其 1 kHz 處為 0dB,真正的 M-Weighting 是一種用於電影音量的權重,是將整條 ITU-R 486 curve 向下平移 5.6 dB 使 2 kHz 處為 0dB 的曲線),又稱 CCIR-weighting,因為 CCIR, Consultative Committee on International Radio 在 1992 年改名叫 ITU-R, International Telecommunication Union Radiocommunication Sector),一個常見的應用就是標示麥克風的自身噪音水平(Noise level),比如 Neumann KM184 這隻麥克風的資料就有標上用這兩種 Weighting 所計算的 Equivalent noise level,分別是 13 dB-A 與 22 dB (CCIR)。

最後,就是被定義在 ITU-R BS.1770–4 標準當中的 K-weighting 了,也就是上圖中紫色的線。在該標準中提出了被廣為使用的數位音量標準 LKFS (Loudness, K-weighted, relative to Full Scale),顧名思義,當中的 K 就是採用了 K-weighting 的意思,然而什麼又是 FS (relative to full scale) 呢?這就要說到數位音擋儲存的方式了。

數位的聲音取樣方式與 dBFS、dBTP、LUFS

所謂數位化的音樂檔案,就是在電腦裡用數字來儲存聲音的波形,從類比信號數位化的過程最常見的做法就是間隔固定時間測量取樣信號的大小(比如一秒取樣 48000 次即 48kHz 的 Sampling rate),並用數字存下對應的信號大小,然而因為儲存空間有限,一般而言只用某個固定位數的數字來儲存,也因此有了能被儲存的最大振幅限制,若以十進位來舉例,如果我們固定用三位數整數來儲存,能存的範圍就是 −999~999,其最大值就是 999 ,我們就稱這個 999 對應的大小叫做 Full-Scale,即是該數位格式中所能儲存的最大振幅。實務上訊號是以二進位的方式來儲存的,而常使用的二進位位數(Bit-depth)有 16-bit 與 24-bit。

dBFS

在數為格式中的信號大小也可以用 dB 來描述,像是 dBFS (Decibels Relative to Full-Scale) 就是指以 Full-Scale 作為參考值所計算的信號 dB 值,因為所有能儲存的信號都小於這個 Full-Scale,因此 dBFS 原則上只會是負的 (−∞dBFS ~ 0dBFS) ,(注:指的是使用 16-bit integer、24-bit integer 取樣的格式,32-bit float 的 0dBFS 是以指數部分為零的最大值,可參考下圖以及 Sound Devices 介紹 32-bit float 的文章

Source: https://www.sounddevices.com/32-bit-float-files-explained/

有些資料會稱 dBFS 對應的線性度量為 FFS (Fraction of Full Scale) ,即 0dBFS = 1FFS。值得注意的是,0dBFS的方均根 RMS (Root Mean Square) 值在聲音訊號處理時常用的定義與類比訊號的 RMS 值不同,並非單純的平方平均開根號,而是還要再增加 3.01dB ,這麼做是為了讓 Sine Wave 的 peak 與 rms dBFS 值相同。我們知道類比 1Vpeak 的方波其 Vrms 是 1V;1Vpeak 的 Sine Wave 其 Vrms 則為 1/√2 =0.707 V,然而在數位聲音訊號上,許多人採用的標準是要求 Sine Wave 的 FFSpeak = FFSrms,這會使得 1FFSpeak 的方波具有 √2 FFSrms 或 +3dBFSrms 的值,也就是對 RMS 值來說,數位檔案所能儲存的最大信號應為 +3.01dBFSrms 而非 0 dBFSrms。關於這個奇怪的 RMS 定義可以參考維基百科另外這份 Analog Devices 的資料也有清楚的解釋。有趣的是,在 Adobe Audition 中允許使用者自訂其 RMS setting 為 0dB = FS Sine Wave 或 0dB = FS Square Wave(詳見:Adobe Audition User Guide [Web] / [PDF])。

dBTP

除了 dBFS 以外,有個常見的單位叫做 dBTP (Decibel True Peak),但什麼是真峰值(True Peak)呢?這就要說到一個乍看之下怪怪的問題:一段全都小於 0dBFS 的數位訊號在類比化的過程中還是可能發生 clip其背後的原因是在 DAC (Digital-to-analog converter) 將數位訊號轉回類比訊號後會經過一個稱作 Anti-Imaging filter 或 Reconstruction filter 的類比 Low-pass filter,這是為了將鋸齒狀的波形(因為數位解析度有限)平滑化。因此,就有機會發生數位的取樣點都小於最大容許值,但兩個點中間被還原出來的類比信號卻大於最大容許值的情形,像是下圖表示的那樣:

Source: https://www.pro-tools-expert.com/production-expert-1/loudness-everything-you-need-to-know

為了避免在混音成品在播放時發生 True Peak 超過播放系統的上限的問題,在母帶製作(Mastering)時正確的限制 True Peak 就成了重要的工作之一,實務上亦常用其 dB 值來描述,簡寫作 dBTP。0dBTP 即代表對應的信號在轉換成類比信號後真正的峰值約莫等於 0dBFS 在該系統對應的類比信號大小。在一般的 DAW (Digital Audio Workstation),如 Logic Pro、ProTools 等等中可以透過對應的 Plugin 來測量成品的 dBTP 值。許多的 Plugin 採用了 ITU-R BS.1770–4 標準中所提供的演算法來估計 dBTP ,不過 1770–4 提供的方法是以提高四倍取樣頻率(x4 over-sampling),並用高取樣率重新計算 dBFS 來估計 dBTP,雖然越高的取樣率其 dBFS 就會越接近 dBTP,不過依舊是個估計值而已。

LUFS (LKFS)

LUFS (Loudness Units relative to Full Scale) 是 EBU R 128 中給在 ITU-R BS.1770–4 裡定義的 LKFS (Loudness, K-weighted, relative to Full Scale) 取的新名字,基本上是一樣的東西,是當今在 Mastering 中常用來估計聽覺音量的單位。在本文前面我們也提過了所謂的 K-weighting,是一種方便並被廣泛使用來估計人類主觀音量聽覺的 Weighting。在 DAW 中亦有常見的 Plugin 可以測量成品的 LUFS,在 Mastering 時會根據對應播放平台要求的目標 LUFS 來調整音量喔!

最後,你是不是也看懂像Spotify這樣的要求了呢?

Target the loudness level of your master at -14dB integrated LUFS and keep it below -1dB TP (True Peak) max.

後記

在本文中雖然討論了眾多數位音量的標準,但是我們真正聽見的聲音畢竟是類比信號,0dBFS 的音量在播放時到底會用多大的類比音量播出來還是看你在擴大機上的音量轉多大聲決定。關於類比信號的音量標準希望能在未來的文章中跟大家討論。

延伸閱讀

Reference

--

--

Cory Chu

忠告而善道之,不可則止 | Ph.D. Student @ UWM | Gravitational-waves | Programmer | Photographer | Filmmaker | Post-production | Sound-engineering