跳转到内容

用户: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:使用创建条目精灵建立的页面