语音特征参数MFCC理解

1.先通俗理解:

参考知乎作者:我的上铺叫路遥
与其关注特征向量或特征值的实际含义,不如关注为何这样的特征向量或特征值是有效的。

举个例子,我本科时的学号是15020140011,可以作为我在大学的一个特征值。但是这个学号有什么具体含义吗?如果我没记错的话,15表示入学年份是2015年,14表示我在本系(1专业)第4个小班,后面的11代表班里的编号。但是这个学号是十分有效的,它是我在大学里唯一的标识,机器只要通过这个学号可以识别我,识别率100%。

MFCC同样的道理,它的13个系数(也许还有13个一阶差分和13个二阶差分)都是通过离散余弦变换(DCT)而来,并取前13个系数。

DCT的作用,为了获得频谱的倒谱,倒谱的低频分量就是频谱的包络,倒谱的高频分量就是频谱的细节,这些都是语音识别上经过科学验证十分有效的语音物理信息。但语音识别是对机器来说的,所以我们必须对物理信息进行某种“编码”,得到的就是MFCC13维特征向量,你是否理解它不重要,只要机器能够识别就行了。

综上所述,我认为MFCC的物理含义就是——在语音识别领域,将语音物理信息(频谱包络和细节)进行编码运算得到的一组特征向量。

2.MFCC再认识

用从最初的几个倒谱系数(虚线)获得的频率包络覆盖一段浊音(实线)的频率图

MFCC的物理含义,简单地说可以理解为语言信号的能量在不同频率范围的分布。如果把计算出的系数的低位部分(一般是前12个)作反傅立叶变换(IFFT),就可以得到上图中虚线表示的信号的频谱包络,也就是表示声带特征的那一部分低频信息。

要理解为什么可以这么做,我们先看看倒谱的定义:一种信号的傅里叶变换谱经对数运算后再进行的傅里叶反变换(IFFT)。(IFFT其实就是对频谱再作一次FFT)

人的发声过程可以看作是肺里的气流通过声带这个线性系统。如果用e(t)表示声音的输入激励(音高),h(t)表示声带的响应(也即我们需要获取的特征),那么听到的语音信号为

即两者的卷积。在频域内则可以表示为两者的乘积

通常在频域分析中我们只关注频谱的能量,忽略其相位信息,即

接下来对频谱作对数运算

最后再作傅里叶反变换便可以得到倒谱系数:

下面两幅图很好地解释了这个过程,语音信号的频谱可以看作是低频的包络和高频的细节相加,在得到倒谱系数后,我们只需要取低位的系数便可以得到包络信息。(这里的x[k]即为倒谱系数)


注意整个过程中我们并没有明确计算 e(t) 和 h(t) ,而是通过直接对语音信号x(t)作倒谱分析,再提取低位的倒谱系数,就可以获取我们想要的声道特征。

有意思的是,对数频谱作傅里叶反变换后的域被称为quefrency domain(对应频域frequency domain),quefrency domain和时域time domain类似但不完全一样。提取低位系数的操作称为low-time liftering(对应滤波操作filtering)。同样地,我们可以通过high-time liftering来获取激励特征。

image

当然在MFCC的实际计算中我们并没有作傅里叶反变换,而是先将频谱通过一组三角滤波器,再作离散余弦变换(DCT)得到MFCC系数。但其物理意义是一样的,即表示信号频谱的能量在不同频率区间的分布。每一个滤波器的作用就是得到对应频率区间的频谱能量,如果我们有26个三角滤波器,就会得到26个MFCC系数,这时候再取低位的系数就可以代表声道的特征。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • reference 《spoken language processing》 1 语音基础 名词解释 pitch ...
    艺术叔阅读 16,769评论 2 48
  • 承接前面的《浅谈机器学习基础》、《浅谈深度学习基础》和《浅谈自然语言处理基础》,主要参考了《解析深度学习:语音识别...
    我偏笑_NSNirvana阅读 23,606评论 6 67
  • 一、傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚...
    constant007阅读 4,469评论 1 10
  • 图像识别意义: 图像是指物体的描述信息,数字图像是一个物体的数字表示。视觉是人类感知外部世界的最重要手段,据统计,...
    木木口丁阅读 8,468评论 1 21
  • 这些年计算机视觉识别和搜索这个领域非常热闹,后期出现了很多的创业公司,大公司也在这方面也花了很多力气在做。做视觉搜...
    方弟阅读 6,556评论 6 24