梅尔刻度
梅尔刻度是1937年由Stevens, Volkmann提出的一种基于人听觉感知的线性刻度,英文名:MEL,取自melody(旋律)
,单词前三个字母。
MEL刻度模拟人耳对不同频率语音的感知:
人类对不同频率语音有不同的感知能力:对1kHz以下,与频率成线性关系,对1kHz以上,与频率成对数关系。频率越高,感知能力就越差。
下图则是频率刻度到MEL刻度的转换:
或者看下图的表格:
为了方便计算,我们使用如下公式来表示:
当然目前出现另外一种公式来表示(只不过大部分还是使用上面的):
F(mel)=f/(af+b)
在Mel频域内,人对音调的感知能力为线性关系,如果两段语音的Mel频率差两倍,则人在感知上也差两倍。
临界频带
临界频带是指当某个纯音被以它为中心频率,且具有一定带宽的连续噪声所掩蔽时,如果该纯音刚好能被听到时的功率等于这一频带内噪声的功率,那么这一带宽称为临界频带宽度。
临界频带的单位叫巴克(Bark),1Bark等于一个临界频带宽度:
- 频率小于500Hz时,1Bark约等于freq/100。
- 频率大于500Hz时,1Bark约等于9+41og(freq/1000),即约为某个纯音中心频率的20%。
通常认为,20Hz–16kHz范围内有24个子临界频带,当然这个数字可以视具体情况更改。
另外而当某个纯音位于掩蔽声的临界频带之外时,掩蔽效应仍然存在,只是影响不大。
设计实现
用一组Mel频标上线性分布的三角窗滤波器(共24个三角窗滤波器),对信号的功率谱滤波,每一个三角窗滤波器覆盖的范围都近似于人耳的一个临界带宽,以此来模拟人耳的掩蔽效应。
假设语音信号的采样频率16000,帧长N=160,滤波器个数K=24:
计算最大频率:
f(max)=f(samp)/2=8000
依据上面转换的公式:
f(mel-max)=2840
由于在Mel刻度范围内,各个三角滤波器的中心频率是相等间隔的线性分布。由此,可以计算两个相邻三角滤波器的中心频率的间距为:
delta(mel)=f(mel-max)/(K+1)=113.6
使用
将每帧的频谱参数通过一组N个三角形带通滤波器(N一般为20~30个,这里取24)所组成的梅尔刻度滤波器,将每个频带的输出取对数,就可以求出每一个输出的对数能量(log energy)。