跳至內容

用戶:Fischer Yeh/梅爾頻譜

維基百科,自由的百科全書

梅爾頻譜(Mel spectrogram)是一種時頻分析的方式,特別運用在聲音訊號的分析上,包括語音識別、聲音分類、音樂分析等,有助於提取和理解聲音的特徵和結構。 梅爾頻譜通常經過以下流程計算而得[1][2]

  1. 計算訊號的短時距傅立葉變換
  2. 取絕對值後得到時頻譜(Spectrogram)
  3. 創建梅爾濾波器組
  4. 將時頻譜與梅爾濾波器組進行矩陣乘法

聲學起源

[編輯]

梅爾頻譜的設計起源,可以以兩種人耳的聲學性質來概述: 人耳對於不同頻率的感度,以及人耳對於頻率距離的聽感。

人耳對於不同頻率的感度

[編輯]

根據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]

參考資料

[編輯]
  1. ^ Leland Roberts. Understanding the Mel Spectrogram. medium. [2023-11-25]. 
  2. ^ 2.0 2.1 2.2 Dalya Gartzman. Getting to Know the Mel Spectrogram. medium. 
  3. ^ Fletcher, H. Munson, W. A. Loudness, its definition, measurement and calculation.. 
  4. ^ 4.0 4.1 librosa. librosa.filters.mel. 
  5. ^ librosa. librosa.stft. librosa. [2023-11-25]. 
  6. ^ dBFS. en.wikipedia. [2023-11-25]. 
  7. ^ Kundan Kumar; et al. MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis. arxiv. [2023-11-25]. 
  8. ^ Minz Won; et al. Evaluation of CNN-based Automatic Music Tagging Models. arxiv. [2023-11-25]. 

外部連結

[編輯]

Category:使用創建條目精靈建立的頁面