用戶:Fischer Yeh/梅爾頻譜
梅爾頻譜(Mel spectrogram)是一種時頻分析的方式,特別運用在聲音訊號的分析上,包括語音識別、聲音分類、音樂分析等,有助於提取和理解聲音的特徵和結構。 梅爾頻譜通常經過以下流程計算而得[1][2]:
- 計算訊號的短時距傅立葉變換
- 取絕對值後得到時頻譜(Spectrogram)
- 創建梅爾濾波器組
- 將時頻譜與梅爾濾波器組進行矩陣乘法
聲學起源
[編輯]梅爾頻譜的設計起源,可以以兩種人耳的聲學性質來概述: 人耳對於不同頻率的感度,以及人耳對於頻率距離的聽感。
人耳對於不同頻率的感度
[編輯]根據Fletcher, H. 與 Munson, W. A. 在1933年提出的研究[3],他們發現人耳對於不同頻率的感知程度並不相同。人耳在低頻時很容易分辨微小的頻率變化,擁有較高的頻率解像度,在高頻時則相反。因此,要擷取出好的聲音特徵,應該要在低頻有較好的解像度。
人耳對於頻率距離的聽感
[編輯]人耳對於頻率距離的聽感可以用現代音樂中的十二平均律來解釋。十二平均律是一種音樂調音系統,將八度音程分成12個等分,每個等分稱為半音,也就是大眾所接受的音的距離。在這個系統中,兩個相鄰的半音之間的頻率比率約為2^(1/12),一個八度之間的頻率剛好是2倍。由此可知,人耳對於音高的距離並不是線性的頻率關係,而是對數的頻率關係。
而梅爾濾波器組就是能反應以上兩點的設計方式。
梅爾濾波器組
[編輯]梅爾濾波器組(Mel filter bank)是一種在音訊處理中廣泛應用的工具,主要用於特徵提取,以模擬人耳對聲音的感知方式。它的名稱來自 "Mel"尺度,這是一種模擬人類聽覺感知的頻率刻度。梅爾濾波器組通常由一組重疊的三角形或梯形濾波器構成。每個濾波器代表了Mel尺度中的一個頻帶,這些濾波器的中心頻率按照Mel尺度的非線性分佈排列,以更好地模擬人耳對不同音高的感知。[2]這樣的設計,讓梅爾頻譜每個頻率索引之間的距離對應到實際頻率成對數關係,且頻率越高,三角形的面積越大,模擬了人耳對不同頻率聲音的感度。
梅爾濾波器組通常並不是直接套用在訊號上的濾波器,而是使用在訊號短時距傅立葉變換後的結果,與短時距傅立葉變換的頻譜做矩陣相乘,將頻率上的資訊壓縮並產生梅爾頻譜。
實作中,要建構一組梅爾濾波器組,通常會需要以下幾項參數[4]:
- n_mels: 梅爾濾波器的數量,也就是總共有幾個三角濾波器來涵蓋指定的頻率範圍,會影響輸出的維度
- fmin & fmax: 梅爾濾波器組要涵蓋的頻率範圍
- sr: 原始訊號的取樣率
- n_fft: 計算快速傅立葉變換的取樣數
特性
[編輯]因為梅爾頻譜是短時距傅立葉變換(STFT)額外處理後的產生的特徵,接下來許多特性討論會與STFT有關[5][4]。
維度變化
[編輯]假設在計算STFT後,所產生的矩陣維度是(n_frame, n_fft)
- n_frame:代表在時間軸上總共有多少幀(frame),主要分析的訊號長度跟STFT時窗(window)的跳步大小(hop length or hop size)有關。同樣訊號長度下,跳步大小越大,n_frame越小。可以簡單理解成time-axis
- n_fft:代表頻率上的頻率成分,通常情況下與STFT時窗口大小與傅立葉轉換的取樣數相同,為了達到快速傅立葉變換演算法的最佳效能,n_fft通常是2的整數次方(512、1024...)
則梅爾濾波器組(Mel filter bank)會是一個(n_fft, n_mels)的矩陣,將兩者做矩陣乘法後,得到的梅爾頻譜維度為(n_frame, n_mels)
對稱性
[編輯]在實數訊號的STFT中,在頻率上會有對稱的現象(詳見短時距傅立葉變換),而由於梅爾濾波器組是針對實數訊號設計的濾波器組,其僅考慮正頻率的成分,計算出的梅爾頻譜就只包含n_fft/2的頻率成分,就不會在頻率上有對稱的現象。
不可逆性
[編輯]STFT是藉由給訊號加窗後做FFT得到的,兩者都是可逆操作,因此通常情況下STFT被當作一種可逆操作。但是要畫出時頻譜,或是得到能夠比較與分析的特徵時,會將STFT計算出的複數數值取絕對值,意即捨棄STFT中的相位成分(phase),而這個操作是不可逆的。而在梅爾頻譜中,還使用了彼此會重疊的三角濾波器,這項操作同樣也是不可逆的。結論來說,STFT是可逆操作,其時頻譜及梅爾頻譜都是不可逆操作。 雖然梅爾頻譜本身是不可逆的但可以透過Griffin-Lim演算法或是深度學習中的Vocoder嘗試還原原本的訊號。
壓縮特徵
[編輯]從上面三點可以看出,梅爾頻譜是STFT的濃縮版本,它壓縮了以下三點:
- 捨棄相位資訊,將複數變為實數
- 頻率維度,將n_fft個頻率成分壓縮到n_mels維
- 負頻率,假設訊號是實數訊號,忽略負頻率
它需要比STFT更進一步的運算,得到更小維度的特徵,但又可以很好的保存頻率分佈的特性,以進行特徵分析與學習。
計算出的梅爾頻譜繼承STFT的線性刻度,由於人耳對於聲音大小的感知是對數尺度(常見聲音單位為dB),要將梅爾頻譜取對數尺度後,才能對應到人耳感知,進一步作為聲音特徵或是畫出梅爾時頻譜。[2]在數位音訊中,通常設定0dB為最大數值,因此取dB尺度後的梅爾頻譜數值會是負的。[6]
應用
[編輯]利用梅爾頻譜進一步計算得到梅爾頻率倒譜系數(MFCC),可作為音訊特徵。
音訊時頻譜
[編輯]視覺化一段音訊,比起短時距傅立葉變換(STFT)所產生的時頻譜,由於梅爾頻譜的頻率軸是對數尺度,可以更好的看出音訊中音高的資訊。
時頻分析
[編輯]同短時距傅立葉變換,可作為一種時頻特徵,了解訊號在時間與頻率上的能量變化。
深度學習
[編輯]可用於深度學習領域,將梅爾頻譜像是影像一樣讓卷積神經網絡學習,進而達成音訊分析或是音訊合成等任務。 在有些模型架構中,還會將梅爾頻譜視為其音訊的Embedding Space,來進行分群或是生成任務。[7][8]
參考資料
[編輯]- ^ Leland Roberts. Understanding the Mel Spectrogram. medium. [2023-11-25].
- ^ 2.0 2.1 2.2 Dalya Gartzman. Getting to Know the Mel Spectrogram. medium.
- ^ Fletcher, H. Munson, W. A. Loudness, its definition, measurement and calculation..
- ^ 4.0 4.1 librosa. librosa.filters.mel.
- ^ librosa. librosa.stft. librosa. [2023-11-25].
- ^ dBFS. en.wikipedia. [2023-11-25].
- ^ Kundan Kumar; et al. MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis. arxiv. [2023-11-25].
- ^ Minz Won; et al. Evaluation of CNN-based Automatic Music Tagging Models. arxiv. [2023-11-25].