一种基于mfcc的语音数字识别方法

文档序号:1674035 发布日期:2019-12-31 浏览:28次 >En<

阅读说明:本技术 一种基于mfcc的语音数字识别方法 (Voice digital recognition method based on MFCC ) 是由 朱静 杨盛元 尹邦政 陈明希 杨强 魏慧棠 何海城 李浩明 于 2019-09-20 设计创作,主要内容包括:本发明涉及语音识别技术,具体为一种基于MFCC的语音数字识别方法,首先对输入的语音信号进行采样,对采样后的语音信号进行预处理;对采样及预处理后的语音信号进行端点检测,提取出单个数字语音信号;提取每一个数字语音信号的MFCC特征;利用均方误差MSE的方法将每一个数字语音信号的MFCC特征与通过训练获得的MFCC数字语音信号参数模板进行匹配,识别出语音信号中的数字。该方法将MFCC特征与MSE结合实现语音数字的识别,不仅识别率高而且避免了大量的数据计算,识别效率高,且可应用在环境较为复杂的情形下。(The invention relates to a voice recognition technology, in particular to a voice digital recognition method based on MFCC, which comprises the steps of firstly sampling an input voice signal, and preprocessing the sampled voice signal; carrying out endpoint detection on the sampled and preprocessed voice signals, and extracting a single digital voice signal; extracting MFCC characteristics of each digital voice signal; and matching the MFCC characteristics of each digital voice signal with an MFCC digital voice signal parameter template obtained through training by utilizing a Mean Square Error (MSE) method, and identifying the digits in the voice signals. The method combines the MFCC characteristics with the MSE to realize the recognition of the speech number, has high recognition rate, avoids a large amount of data calculation, has high recognition efficiency, and can be applied to the situation of complex environment.)

一种基于MFCC的语音数字识别方法

技术领域

本发明涉及语音识别技术,具体为一种基于MFCC的语音数字识别方法。

背景技术

随着计算机和信息技术的发展,语音交互成为了人机交互的必要手段。语音识别技术是计算机技术的重要发展方向,语音识别已经形成了一定规模的理论系统,应用的领域非常广阔,语音拨号、情绪识别、声纹识别等,语音识别能够实现的功能,与人们的生活息息相关,具有非常广阔的前景。

Mel频率倒谱系数MFCCs(Mel Frequency Cepstral Coefficents)是一种在自动语音和说话人识别中广泛使用的特征。Mel(美尔)是主观音高的单位,而Hz(赫兹)则是客观音高的单位。Mel频率是基于人耳听觉特性提出来的,它与Hz频率成非线性对应关系。Mel频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。MFCC已经广泛地应用在语音识别领域。由于Mel频率与Hz频率之间非线性的对应关系,使得MFCC随着频率的提高,其计算精度随之下降。因此,在应用中常常只使用低频MFCC,而丢弃中高频MFCC。理解语音的要点是人类产生的声音被声道的形状过滤,包括舌头、牙齿等。这种形状决定了声音是什么样的。如果我们能够准确地知晓该形状,我们就能准确地表示其产生的音素(phoneme)。声道的形状以短时功率谱包络的形式表现出来,而MFCC的作用就是准确表示这个包络。毋庸置疑的是,在语音识别中,MFCC一直是最先进的。

均方误差(mean-square error,MSE)是反映估计量与被估计量之间差异程度的一种度量。设t是根据子样确定的总体参数θ的一个估计量,(θ-t)^2的数学期望,称为估计量t的均方误差。它等于σ^2+b^2,其中σ^2与b分别是t的方差与偏倚。

发明内容

为了解决现有技术所存在的问题,本发明提供一种基于MFCC的语音数字识别方法,首先提取每个语音数字对应的MFCC特征,然后采用均方误差MSE正确匹配识别出对应的数字,该方法将MFCC特征与MSE结合实现语音数字的识别,不仅识别率高而且避免了大量的数据计算,识别效率高,且可应用在环境较为复杂的情形下。

根据本发明的基于MFCC的语音数字识别方法,包括以下步骤:

S1、对输入的语音信号进行采样,对采样后的语音信号进行预处理;

S2、对采样及预处理后的语音信号进行端点检测,提取出单个数字语音信号;

S3、提取每一个数字语音信号的MFCC特征;

S4、利用均方误差MSE的方法将每一个数字语音信号的MFCC特征与通过训练获得的MFCC数字语音信号参数模板进行匹配,识别出语音信号中的数字。

优选地,步骤S1中预处理过程包括语音信号的声道转换、预加重、分帧及加窗处理。

优选地,预加重处理的计算公式为:

H(z)=1-az-1

其中a为预加重系数,0.9<a<1.0。

优选地,加窗处理的计算公式为:

Figure BDA0002208400390000021

其中N为窗长度。

优选地,步骤S2实现语音信号的端点检测过程为:首先,对语音信号进行分帧,根据语音信号设置能量阈值TL、能量阈值TH、过零率阈值ZCR、语音段中允许的最大静音长度以及语音段的最短长度,计算并调整语音信号的过零率以及短时能量得到对应的阈值范围;当某帧信号大于能量阈值TL或者大于过零率阈值ZCR时,认为是语音信号的起始点,当大于能量阈值TH时则认为该帧信号是正式的语音信号,进而根据信号阈值的比较,判断该帧长度对应的语音状态、该帧信号是否为所需要的语音信号,最后得到语音信号的起始点到结束点的范围。

在优选的实施例中,步骤S3提取的过程为:先对每一帧语音信号进行FFT变换,求得每一帧语音信号对应的频谱,进而求得幅度谱;然后再对幅度谱加Mel滤波器组并且进行对数运算,得到每一个Mel滤波器对应的输出;最后再做DCT变换得到MFCC特征。

与现有技术相比,本发明取得了如下有益效果:现有技术在进行孤立词语音识别中,可以用到的方法有很多,其中HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,虽然识别准确率比较可观,但是未免有一种大材小用的感觉,本发明将MFCC特征与MSE结合实现语音数字的识别,不仅识别率高而且避免了大量的数据计算,相对来说更具高效性。在环境较为复杂,比如噪声大,实时性识别要求较高的情况下,该方法还能准确快速的进行语音识别。

附图说明

图1是本发明识别方法的流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

本发明涉及识别说话者音频中数字的一种方法。首先录制数字0-9的音频文件作为训练数据,每一段音频需要有音调不同的数字发音;然后对输入的音频数据进行采样,将采样得到的语音信号进行预处理,接着对预处理之后的语音信号进行端点检测,提取得到单个数字的语音信号,进而提取得到每个语音数字对应的MFCC特征;最后采用均方误差MSE将输入的语音数字对应的MFCC特征与训练模板中各个数字的MFCC特征进行误差分析,正确匹配识别出对应的数字。

如图1所示,本发明识别方法包括以下步骤:

S1、对输入的语音信号进行采样,对采样后的语音信号进行预处理;

步骤S1中,预处理过程主要包括语音信号的声道转换(其中主要是判断语音是否为单声道)、预加重(放大高频信号,在一定程度上消除“唇齿效应”)、分帧(语音信号具有短时平稳性,帧长取20ms)、加窗(利用汉明窗将每一帧的语音信号乘以窗函数,以增加音框左端和右端的连续性)。

预加重处理的计算公式为:

H(z)=1-dz-1

一般通过传递函数为一阶FIR高通数字滤波器来实现预加重,其中a为预加重系数,0.9<a<1.0,一般取a的值等于0.97。设n时刻的语音采样值为x(n),经过预加重处理后的结果为y(n)=x(n)-ax(n-1)。预加重的目的主要是为了提升高频部分,使信号的频谱变得平坦。

加窗处理的计算公式为:

Figure BDA0002208400390000031

简单地说,由于在对语音信号进行分帧的时候会导致频谱的泄露,所以要用窗函数对语音信号进行分帧,即加窗处理。窗函数的原理可以说是由余弦函数的特性得到,其中N为帧长(窗长度),即FFT变换的长度。

S2、对采样及预处理后的语音信号进行端点检测,提取出单个数字语音信号;

步骤S2中,端点检测可自动检测出语音信号的起始点以及结束点,通过测量语音信号的短时能量以及过零率这两个特征,并且与两个门限(即阈值)进行对比,从而判断出语音信号与非语音信号。语音信号一般可分为无声段、清音段以及浊音段,通常清音段的过零率最大。

本实施例利用上述方法实现语音信号的端点检测。首先,对语音信号进行分帧,根据语音信号设置三个阈值(即能量阈值TL、能量阈值TH、过零率阈值ZCR)、语音段中允许的最大静音长度以及语音段的最短长度(初始状态为静音状态,语音和静音段长度均为0),计算并调整过零率以及短时能量得到对应的阈值范围;当某帧信号大于能量阈值TL或者大于过零率阈值ZCR时,认为是语音信号的起始点,当大于能量阈值TH时则认为该帧信号是正式的语音信号,进而根据信号阈值的比较,判断该帧长度对应的语音状态、该帧信号是否为所需要的语音信号,最后得到语音信号的起始点到结束点的范围。

S3、提取每一个数字语音信号的MFCC特征;

步骤S3具体为:先对每一帧语音信号进行FFT变换(快速傅氏变换),求得每一帧语音信号对应的频谱,进而求得幅度谱;然后再对幅度谱加Mel滤波器组并且进行对数运算,得到每一个Mel滤波器对应的输出;最后再进一步做DCT变换(离散余弦变换)得到MFCC特征。

滤波器输出为:

Figure BDA0002208400390000041

Figure BDA0002208400390000042

其中,o(l)、c(l)、h(l)分别是每一个滤波器的下限频率、中心频率、上限频率。一个滤波器的中心频率等于前一个滤波器的上限频率,并等于后一个滤波器的下限频率。|Xn(k)|为语音信号的幅度谱。

离散余弦变换为:

Figure BDA0002208400390000043

将滤波器输出代入上述离散余弦变换的公式,求出M阶的Mel-scale Cepstrum参数。M阶指MFCC系数阶数,通常取12-16,其中L是滤波器的个数。

S4、利用均方误差MSE的方法将每一个数字语音信号的MFCC特征与通过训练获得MFCC数字语音信号参数模板进行匹配,识别出语音信号中的数字。的步骤S4具体为:为了识别出所输入语音信号中的数字,将训练参数模型与输入数字语音模型进行误差分析,MSE的值越小,说明预测的数字语音模型更接近对应的训练的数字语音模型。其中误差分析过程:将通过训练得到的MFCC数字语音信号参数模板和输入进行测试的数字语音信号的MFCC特征以生成图像的形式进行归一化处理,通过均方误差计算得到参数模板和预测对象的差异程度,差异程度越小,即计算值越小,说明预测模型描述实验数据具有更好的精确度,由此可以得到所输入语音信号的正确数字。

均方误差的计算公式为:

Figure BDA0002208400390000051

等价于sum(a.^2)/lenght(a);比如有N对输入输出数据,每对为[Pt,Tt],t=1,2,...,N;网络通过训练后有网络输出,记为Yt。那MSE=(求和(Tt-Yt)^2(t=1,2,..N))/N,即每一组数的误差平方和再除以数据的对数。其中predictedt为参数估计,也就是该算法中输入的语音数字信号的MFCC特征;observedt为参数真值,也就是该算法中通过训练获得的MFCC数字语音信号参数模板。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于人工智能的语音识别方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!