[提取特定人音频的方法]语音特征提取方法(二)MFCC

?

上面归纳的是第五个习题:MFCC。即使花的时间不多,所以可能会有许多说的欠妥的地方性,还望我们尖萼。非常感谢。

?

? 在任一两个Automatic speech recognition 控制系统中,第二步是抽取特点。换言之,他们须要把音视频讯号中具备识别性的成份抽取出,接着把其它的支离破碎的重要信息丢弃,比如帕尼诺区啊,焦虑啊之类。

? 搞清楚音视频是是不是造成的对他们认知音视频有非常大协助。人通过立体声造成人声,立体声的shape(花纹?)下定决心了收到甚么样的人声。立体声的shape包括嘴唇,骨头等。如果他们能精确的晓得那个花纹,所以他们就能对造成的单字phoneme进行精确的叙述。立体声的花纹在音视频雷雨大风输出功率谱的孔颖草中表明出。而MFCCs是一类精确叙述那个孔颖草的一类特点。

MFCCs(Mel Frequency Cepstral Coefficents)是一类在手动音视频和骂人人识别中广为采用的特点。它是在1980年由Davis和Mermelstein搞出的。从那以后。在音视频识别应用领域,MFCCs在育苗特点方面虽说是人才济济,独领风骚,未曾被胜过啊(再者说Deep Learning的特点自学那是后话了)。

好,到这儿,他们提及了两个很关键的关键字:立体声的花纹,接着晓得它很关键,还晓得它能在音视频雷雨大风输出功率谱的孔颖草中表明出。哎,那甚么是输出功率谱?甚么是孔颖草?甚么是MFCCs?它为甚么有效率?怎样获得?上面咱渐渐道来。

?

一、声PtCl(Spectrogram)

?他们处置的是音视频讯号,所以怎样去叙述它很关键。即使相同的叙述形式特映它相同的重要信息。那甚么样的叙述形式才利于他们观测,利于他们认知呢?这儿他们先来了解两个叫声PtCl的东西。

这儿,这段音视频被分为很多帧,每帧音视频都对应于两个频谱(通过雷雨大风FFT计算),频谱表示频率与能量的关系。在实际采用中,频PtCl有三种,即线性振幅谱、对数振幅谱、自输出功率谱(对数振幅谱中各谱线的振幅都作了对数计算,所以其纵坐标的单位是dB(分贝)。那个变换的目的是使那些振幅较低的成份相对高振幅成份得以拉高,以便观察掩盖在低幅噪声中的周期讯号)。

他们先将其中一帧音视频的频谱通过坐标表示出,如上图左。现在他们将左边的频谱旋转90度。获得中间的图。接着把这些幅度映射到两个灰度级表示(也能认知为将连续的幅度量化为256个量化值?),0表示黑,255表示白色。幅度值越大,相应的区域越黑。这样就获得了最右边的图。那为甚么要这样呢?为的是增加时间那个维度,这样就能表明一段音视频而不是一帧音视频的频谱,而且能直观的看到静态和动态的重要信息。优点稍后呈上。

?这样他们会获得两个随着时间变化的频PtCl,那个是叙述音视频讯号的spectrogram声PtCl。

? 下图是一段音视频的声PtCl,很黑的地方性是频PtCl中的峰值(共振峰formants)。

? 那他们为甚么要在声PtCl中表示音视频呢?

? 首先,单字(Phones)的属性能更好的在这儿面观察出。另外,通过观察共振峰和它们的转变能更好的识别人声。隐马尔科夫模型(Hidden Markov Models)是隐含地对声PtCl进行建模以达到好的识别性能。还有两个作用是它能直观的评估TTS控制系统(text to speech)的好坏,直接对比合成的音视频和自然的音视频声PtCl的匹配度即可。

?

二、倒谱分析(Cepstrum Analysis)

上面是两个音视频的频PtCl。峰值就表示音视频的主要频率成份,他们把这些峰值称为共振峰(formants),而共振峰是携带了人声的识别属性(是个人身份证一样)。所以它特别关键。用它就能识别相同的人声。

? 既然它所以关键,那他们是须要把它抽取出!他们要抽取的不仅仅是共振峰的位置,还得抽取它们转变的过程。所以他们抽取的是频谱的孔颖草(Spectral Envelope)。这孔颖草是一条连接这些共振峰点的平滑曲线。

? 他们能这么认知,将原始的频谱由两部分组成:孔颖草和频谱的细节。这儿用到的是对数频谱,所以单位是dB。那现在他们须要把这两部分分离开,这样他们就能获得孔颖草了。

? 那是不是把他们分离开呢?也是,是不是在给定log X[k]的基础上,求得log H[k]?和?log E[k]以满足log X[k] = log H[k] + log E[k]呢?

? 为了达到那个目标,他们须要Play a Mathematical Trick。那个Trick是甚么呢?是对频谱做FFT。在频谱上做傅里叶变换就相当于逆傅里叶变换Inverse FFT (IFFT)。须要注意的一点是,他们是在频谱的对数域上面处置的,这也属于Trick的一部分。这时候,在对数频谱上面做IFFT就相当于在两个伪频率(pseudo-frequency)坐标轴上面叙述讯号。

?由上面那个图他们能看到,孔颖草是主要是低频成份(这时候须要转变思维,这时候的横轴就不要看成是频率了,咱能看成时间),他们把它看成是两个每秒4个周期的正弦讯号。这样他们在伪坐标轴上面的4Hz的地方性给它两个峰值。而频谱的细节部分主要是高频。他们把它看成是两个每秒100个周期的正弦讯号。这样他们在伪坐标轴上面的100Hz的地方性给它两个峰值。

?把它俩叠加起来是原来的频谱讯号了。

? 在实际中咱已经晓得log X[k],所以他们能获得了x[k]。所以由图能晓得,h[k]是x[k]的低频部分,所以他们将x[k]通过两个低通滤波器就能获得h[k]了!没错,到这儿咱就能将它们分离开了,获得了他们想要的h[k],也是频谱的孔颖草。

x[k]实际上是倒谱Cepstrum(那个是两个新造出的词,把频谱的单词spectrum的前面四个字母顺序倒过来是倒谱的单词了)。而他们所关心的h[k]是倒谱的低频部分。h[k]叙述了频谱的孔颖草,它在音视频识别中被广为用于叙述特点。

? 那现在归纳下倒谱分析,它实际上是这样两个过程:

1)将原音视频讯号经过傅里叶变换获得频谱:X[k]=H[k]E[k];

只考虑幅度是:|X[k] |=|H[k]||E[k] |;

2)他们在两边取对数:log||X[k] ||= log ||H[k] ||+ log ||E[k] ||。

3)再在两边取逆傅里叶变换获得:x[k]=h[k]+e[k]。

这实际上有个专业的名字叫做同态讯号处置。它的目的是将非线性问题转化为线性问题的处置形式。对应上面,原来的音视频讯号实际上是两个卷性讯号(立体声相当于两个线性时不变控制系统,人声的造成能认知为两个激励通过那个控制系统),第二步通过卷积将其变成了乘性讯号(时域的卷积相当于频域的乘积)。第二步通过取对数将乘性讯号转化为加性讯号,第三步进行逆变换,使其恢复为卷性讯号。这时候,虽然前后均是时域序列,但它们所处的离散时域显然相同,所以后者称为倒谱频域。

? 归纳下,倒谱(cepstrum)是一类讯号的傅里叶变换经对数运算后再进行傅里叶反变换获得的谱。它的计算过程如下:

?

三、Mel频率分析(Mel-Frequency Analysis)?

?好了,到这儿,他们先看看他们刚才做了甚么?给他们一段音视频,他们能获得了它的频谱孔颖草(连接所有共振峰值点的平滑曲线)了。但是,对人类听觉感知的实验表明,人类听觉的感知只聚焦在某些某一的区域,而不是整个频谱孔颖草。

?而Mel频率分析是基于人类听觉感知实验的。实验观测发现人耳就像两个滤波器组一样,它只关注某些某一的频率分量(人的听觉对频率是有选择性的)。也就说,它只让某些频率的讯号通过,而压根就直接无视它不想感知的某些频率讯号。但是这些滤波器在频率坐标轴上却不是统一分布的,在低频区域有很多的滤波器,他们分布比较密集,但在高频区域,滤波器的数目就变得比较少,分布很稀疏。

人的听觉控制系统是两个特殊的非线性控制系统,它响应相同频率讯号的灵敏度是相同的。在音视频特点的抽取上,人类听觉控制系统做得非常好,它不仅能抽取出语义重要信息,?而且能抽取出骂人人的个人特点,这些都是现有的音视频识别控制系统所望尘莫及的。如果在音视频识别控制系统中能模拟人类听觉感知处置特点,就有可能提高音视频的识别率。

? 梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)考虑到了人类的听觉特点,先将线性频谱映射到基于听觉感知的Mel非线性频谱中,接着转换到倒谱上。

? 将普通频率转化到Mel频率的公式是:

?

? 由下图能看到,它能将不统一的频率转化为统一的频率,也是统一的滤波器组。

? 在Mel频域内,人对音调的感知度为线性关系。举例来说,如果两段音视频的Mel频率相差两倍,则人耳听起来两者的音调也相差两倍。

?

四、Mel频率倒谱系数(Mel-Frequency Cepstral Coefficients)?

他们将频谱通过一组Mel滤波器就获得Mel频谱。公式表述是:log X[k] = log (Mel-Spectrum)。这时候他们在log X[k]上进行倒谱分析:

1)取对数:log X[k] = log H[k] + log E[k]。

2)进行逆变换:x[k] = h[k] + e[k]。

? 在Mel频谱上面获得的倒谱系数h[k]就称为Mel频率倒谱系数,简称MFCC。

?现在咱来归纳下抽取MFCC特点的过程:(具体的数学过程网上太多了,这儿就不想贴了)

1)先对音视频进行预加重、分帧和加窗;

2)对每两个雷雨大风分析窗,通过FFT获得对应的频谱;

3)将上面的频谱通过Mel滤波器组获得Mel频谱;

4)在Mel频谱上面进行倒谱分析(取对数,做逆变换,实际逆变换一般是通过DCT离散余弦变换来实现,取DCT后的第2个到第13个系数作为MFCC系数),获得Mel频率倒谱系数MFCC,那个MFCC是这帧音视频的特点;

这时候,音视频就能通过一系列的倒谱向量来叙述了,每个向量是每帧的MFCC特点向量。

这样就能通过这些倒谱向量对音视频分类器进行训练和识别了。

?

五、参考文献

[1]这儿面还有两个比较好的教程:

http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/

[2]本文主要参考:cmu的教程:

?http://www.speech.cs.cmu.edu/15-492/slides/03_mfcc.pdf

[3] C library for computing Mel Frequency Cepstral Coefficients (MFCC)

http://code.google.com/p/libmfcc/

?

原文:http://blog.csdn.net/zouxy09/article/details/9156785/

发布于 2022-09-27 17:09:59
收藏
分享
海报
104
上一篇:[提取特定人音频的方法]视频怎么提取音频并且是mp3格式? 下一篇:[提取特定人音频的方法]音频特征提取方法和工具汇总
目录