MFCC、Log-Mel 谱与谱对比度

这三项分析把录音转换成声学机器学习模型所需要的输入表示。MFCC 给出谱包络的紧凑倒谱描述, Log-Mel 谱给出卷积类音频模型训练所用的 Mel 带时频矩阵, 谱对比度则描述在倍频程子带内谱峰高出谱谷的程度 —— 这是对"音调成分相对宽带背景有多突出"的直接度量。

三者都同时提供沿时间轴的分析与 vs. 转速分析,因此同一描述子可以在升速过程中被跟踪。

信号链

信号 → 分帧 → 加窗 → FFT → |X|² 功率 → Mel 滤波器组 → 取对数 →(DCT)→ 特征

MFCC 与 Log-Mel 共用 Mel 滤波器组,MFCC 在最后再加一次离散余弦变换。 谱对比度不经 Mel 阶段,直接在去掉 DC 与 Nyquist 谱线的线性幅度谱上计算。

Mel 刻度与滤波器组

Mel 刻度以近似听觉分辨率的方式压缩频率轴:

mel(f) = 2595 · log₁₀(1 + f / 700)    f(mel) = 700 · (10mel/2595 − 1)

在 FMin 与 FMax 之间,按 Mel 轴等间隔布置 NMels 个三角滤波器。 每个三角从下边界线性上升到中心,再落回上边界,并按单位面积归一, 使高频宽三角不会比低频窄三角积累更多能量:

第 m 个滤波器的面积归一系数 = 2 / (fm+2 − fm)
频率(Hz,线性轴) 权重 低频窄而高 高频宽而矮 三角 Mel 滤波器组,逐个单位面积归一

MFCC(含 Δ 与 ΔΔ)

定义

每帧变换为功率谱后,由 Mel 滤波器组积分为 NMels 个带能量 Em, 取对数刻度,最后用正交 DCT-II 去相关,保留前 NMfcc 个系数:

Lm = 10 · log₁₀( max(Em, 10−10) )
cn = √(2/M) · Σm=0..M−1 Lm · cos( π · n · (m + 0.5) / M )

系数 c₀ 反映该帧的总体电平,低阶系数描述谱包络的粗略形状,高阶系数描述越来越细的细节。 结果以彩图显示,一轴为系数序号,另一轴为时间(或转速)。

Δ 与 ΔΔ

动态系数刻画包络的运动。它用经典回归公式在两侧各 DeltaWidth 帧的窗内计算, 边界处以端帧复制填充:

dt = Σi=1..M i · (ct+i − ct−i) / (2 · Σi=1..M i²)

DeltaOrder = 1 追加一张 ΔMFCC 彩图,DeltaOrder = 2 再追加一张 ΔΔMFCC 彩图(对 ΔMFCC 再作同一算子)。因此系数为线性斜坡时 Δ 为常值, 系数为常值时 Δ 为 0。

参数

参数默认值说明
NMfcc13保留的倒谱系数个数
NMels64Mel 滤波器数;不小于 NMfcc
FFTSize1024(vs. 时间)/ 4096(vs. 转速)块长(采样点)
Overlap50(%)仅 vs. 时间
WindowHanningFFT 前加窗
FMin / FMax0 / fs∕2 Hz滤波器组覆盖的频率范围
DeltaOrder20 = 仅 MFCC,1 = 加 Δ,2 = 加 Δ 与 ΔΔ
DeltaWidth2回归半宽(帧)
RpmStep50 rpm仅 vs. 转速
SlopeModeAutoDetect仅 vs. 转速:AutoDetect / Runup / Rundown / All

Log-Mel 谱

按毫秒分帧

本分析刻意以毫秒而非 FFT 点数来参数化,因为预训练声学模型正是这样规定输入的。 帧长为 FrameMs,跳步为 HopMs,均按当前采样率换算为采样点数。 每帧按其真实帧长加窗,再零填充到不小于帧长的最小 2 的幂后作 FFT —— 这是该类模型的通行约定:

帧长 = round(fs · FrameMs / 1000)   跳步 = round(fs · HopMs / 1000)   NFFT = 不小于帧长的最小 2 的幂

默认组合 —— 25 ms 帧、10 ms 跳步、64 个 Mel 带、125 Hz 至 7500 Hz —— 即广泛部署的 VGGish 式前端布局,因此导出的矩阵可以直接交给此类模型,无需重采样特征网格。

对数模式:dB 与 ln

LogMode映射用途
dB(默认)10 · log₁₀( max(E, 10−10) )显示与报告 —— 可读的分贝数值
lnln( E + 0.01 )模型输入 —— VGGish 式前端的训练域缩放

彩图纵轴以各 Mel 带中心频率(Hz)标注,数值单位随所选模式(dB 或 ln)而定。

参数

参数默认值说明
NMels64Mel 带数
FrameMs25 ms仅 vs. 时间
HopMs10 ms仅 vs. 时间
FMin125 Hz滤波器组下边界
FMax7500 Hz上边界;超过 fs∕2 时被截断
LogModedBdB 或 ln
WindowHanning零填充前先对帧加窗
FFTSize4096仅 vs. 转速 —— 每个转速步所取的块长
RpmStep50 rpm仅 vs. 转速
SlopeModeAutoDetect仅 vs. 转速

谱对比度

子带划分

频谱自 ContrastFMin 起按倍频程划分子带。当 ContrastBands = B 时,带界为

[ 0, fmin, 2fmin, 4fmin, …, fmin · 2B ]

即共 B + 1 个子带(最低那个覆盖 ContrastFMin 以下的全部)。 各子带以其上下边界的几何均值标注;最低带的下边界取 ContrastFMin∕2,以免标注值为零。

谱峰与谱谷之差

在每个子带内对功率谱线排序,顶部 ContrastAlpha 比例的均值作为谱峰估计, 底部 ContrastAlpha 比例的均值作为谱谷估计,二者的电平差即对比度:

Contrastb = 10 · log₁₀(peakb) − 10 · log₁₀(valleyb)  [dB]

平坦、类噪声的子带给出接近 0 dB 的对比度;安静背景上突起的单根强音调给出很大的对比度。 由于估计用的是分位均值而非单根极值谱线,它对偶发毛刺远不像"峰值/均值比"那样敏感。

参数

参数默认值说明
SpectrumSize4096块长(采样点)
Overlap0.5仅 vs. 时间;取值 ≥ 1 时按百分比解释
WindowHanningFFT 前加窗
ContrastFMin200 Hz第一个倍频程子带的下边界
ContrastBands6倍频程带数;结果共 ContrastBands + 1 行
ContrastAlpha0.02谱峰/谱谷估计所用的分位比例
RpmStep50 rpm仅 vs. 转速
SlopeModeAutoDetect仅 vs. 转速

vs. 时间与 vs. 转速

vs. 时间形态沿录音以固定跳步推进,每块产出一列,块中心定义其时间戳。 vs. 转速形态则在每个转速步的穿越点取一块,横轴即转速(rpm)。 若某个转速步处无法取到完整块,该步留空,不作外推。

应用

公式遵循这些描述子的公开通行口径:MFCC 采用 HTK Mel 刻度、单位面积三角滤波器与正交 DCT-II; Δ/ΔΔ 采用经典 HTK 回归公式;谱对比度采用倍频程子带的谱峰/谱谷定义。

© 2026 Deepsona. All Rights Reserved.