一种基于改进MFCC系数的语音唤醒方法及系统与流程

文档序号:22744194发布日期:2020-10-31 09:31阅读:256来源:国知局
一种基于改进MFCC系数的语音唤醒方法及系统与流程

本发明涉及语音唤醒领域,特别是涉及一种基于改进mfcc系数的语音唤醒方法及系统。



背景技术:

mfcc电路用于语音系统中进行语音特征提取。通常,传统的mfcc计算不考虑第0系数,因为它被认为有些不可靠。传统mfcc计算过程中只保留dct变换后的去除mfcc(0)的前13个系数。实际上第0个系数可以看作是被分析信号中每个频带的平均能量的集合。在倒谱的基础上加入能量信息作为模型特征可以提高系统性能。

mfcc(0)即频带能量(fbe)信息,无论语音环境是高质量的还是不利的,都有必要将其包含在mfcc中,称之为fbe-mfcc,以区别于传统的mfcc。考虑滤波器是否重叠会有很大的区别,重叠滤波器总是能达到较高的命中率。

我们将基于改进mfcc系数的算法与深度可分离卷积神经网络(dscnn)的硬件结构电路相结合,然后对一个词或者两个词来进行语音唤醒的检测。与传统的mfcc计算(不考虑第0系数)相比较,系统对于一个词/两个词的准确识别率有所提高。



技术实现要素:

本发明的目的是提供一种基于改进mfcc系数的语音唤醒方法及系统,能够提高词的识别率,降低误检率。

为实现上述目的,本发明提供了如下方案:

一种基于改进mfcc系数的语音唤醒方法,所述方法包括:

获取连续的语音信号;

对所述语音信号进行预加重;

对预加重后的语音信号加入带有代表能量信息的mfcc第0个系数,得到fbe-mfcc;

将由fbe-mfcc特征值组成的矩阵输入到dscnn网络通过卷积核进行卷积,得到语音唤醒识别率。

可选的,对所述语音信号进行预加重具体包括:

采用高通滤波器对所述语音信号进行滤波;

对滤波后的语音信号进行分帧;

对分帧后的语音信号乘以汉明窗;

对乘以汉明窗后的语音信号通过快速傅里叶变换得到信号在频域上的频谱;

将所述频谱通过mel滤波器组得到mel谱;

对所述mel谱进行倒谱分析,得到mel频率倒谱系数mfcc。

可选的,对所述mel谱进行倒谱分析,得到mel频率倒谱系数mfcc具体包括:

对mel谱取对数,通过离散余弦dct变换,取dct后得到的系数作为mfcc系数。

可选的,所述dscnn网络包括4层,分别为conv、ds卷积、pooling以及fc。

本发明另外提供一种基于改进mfcc系数的语音唤醒系统,所述系统包括:

语音信号获取模块,用于获取连续的语音信号;

预加重模块,用于对所述语音信号进行预加重;

0系数插入模块,用于对预加重后的语音信号加入带有代表能量信息的mfcc第0个系数,得到fbe-mfcc;

语音唤醒识别率确定模块,用于将由fbe-mfcc特征值组成的矩阵输入到dscnn网络通过卷积核进行卷积,得到语音唤醒识别率。

可选的,所述预加重模块具体包括:

滤波单元,用于采用高通滤波器对所述语音信号进行滤波;

分帧单元,用于对滤波后的语音信号进行分帧;

计算单元,用于对分帧后的语音信号乘以汉明窗;

傅里叶变换单元,用于对乘以汉明窗后的语音信号通过快速傅里叶变换得到信号在频域上的频谱;

mel谱确定单元,用于将所述频谱通过mel滤波器组得到mel谱;

倒谱分析单元,用于对所述mel谱进行倒谱分析,得到mel频率倒谱系数mfcc。

可选的,所述倒谱分析单元具体包括:

对mel谱取对数,通过离散余弦dct变换,取dct后得到的系数作为mfcc系数。

可选的,所述dscnn网络包括4层,分别为conv、ds卷积、pooling以及fc。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明通过获取连续的语音信号;对所述语音信号进行预加重;对预加重后的语音信号加入带有代表能量信息的mfcc第0个系数,得到fbe-mfcc;将由fbe-mfcc特征值组成的矩阵输入到dscnn网络通过卷积核进行卷积,得到语音唤醒识别率。本发明与传统的不保留mfcc(0)相比,具有低功耗,低计算的特点,fbe较好的原因是fbe包含了多个频段的能量信息。对于高质量的环境(例如与863数据库相似的环境),fbe-mfcc和dscnn的组合是最好的,语音唤醒的检测发现对于一个词/两个词的识别率显著提高,内存和逻辑的功耗显著降低。我们运算在30min语音时长下得到由填充词、两个关键字和白噪声组成的1200个单词随机串联而成的假拒绝率(frr)和虚警率(far)显示误检目标数量所占比例显著下降。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例基于改进mfcc系数的语音唤醒方法流程图;

图2为本发明实施例基于改进mfcc系数的语音唤醒结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于改进mfcc系数的语音唤醒方法及系统,能够提高词的识别率,降低误检率。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例一种基于改进mfcc系数的语音唤醒方法流程图,如图1所示,所述方法包括:

步骤101:获取连续的语音信号。

步骤102:对所述语音信号进行预加重。

具体包括:

步骤1021:采用高通滤波器对所述语音信号进行滤波。

其中,滤波是将语音信号通过一个高通滤波器提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱。

步骤1022:对滤波后的语音信号进行分帧。

将输入的n个信号点集合在一起,称为帧,n的值一般为256,相邻两帧要有一定的重叠区域。

步骤1023:对分帧后的语音信号乘以汉明窗。

即,加窗。将分好的每一帧信号乘上汉明窗w(n)。

n为对应的帧数,n为帧的大小,a取0.46。w(n,a)的物理含义是为了增加帧左端和右端的连续性。

步骤1024:对乘以汉明窗后的语音信号通过快速傅里叶变换得到信号在频域上的频谱。

因为在频域上更易于观察信号的特性。

步骤1025:将所述频谱通过mel滤波器组得到mel谱。

通过mel频谱,将线形的自然频谱转换为体现人类听觉特性的mel频谱。

步骤1026:对所述mel谱进行倒谱分析,得到mel频率倒谱系数mfcc。

步骤103:对预加重后的语音信号加入带有代表能量信息的mfcc第0个系数,得到fbe-mfcc。

在mel频谱上面进行倒谱分析(取对数,做逆变换,实际逆变换一般是通过离散余弦(dctfordiscretecosinetransform)变换来实现,取dct后得到的系数作为mfcc系数,这里保留第0个系数),获得mel频率倒谱系数mfcc,这个mfcc就是这帧语音的特征;(倒谱分析,获得mfcc作为语音特征)。

研究表明,频谱与能量都携带有语音信号的信息,因此在倒谱的基础上加入带有代表能量信息的mfcc第0个系数作为模型特征可以提高系统性能。第0个系数可以看作是被分析信号中每个频带的平均能量(fbe)的集合。将保留第0个系数(mfcc(0))的mfcc命名为fbe-mfcc。

步骤104:将由fbe-mfcc特征值组成的矩阵输入到dscnn网络通过卷积核进行卷积,得到语音唤醒识别率。

这里,将上一步得到的由fbe-mfcc特征值组成的矩阵输入到dscnn网络通过卷积核进行卷积,卷积核为一个n*n的矩阵,两个矩阵进行卷积计算得到的全新的矩阵,全新矩阵与fbe-mfcc特征值组成的矩阵相比发生了变化,这些变化是为了更加突出语音特征的提取,具体变化由我们通过改变卷积核来决定。将dscnn提取的特征值通过汇编语言在计算机上进行程序运行,最终可以得到语音唤醒识别率。dscnn网络包括4层(conv、ds卷积、pooling以及fc),其中ds卷积(dsc)层通过一个单独的2d滤波器将从mfcc电路输入的映射特征值在网络的每个信道中进行卷积,然后使用逐点卷积(dscpw)。每个深度层之后是批量标准化和符号激活。将dscnn网络通过硬件结构实现,它由控制有限状态机(fsm)、处理单元(pe)阵列、五个存储块和一个映射模块组成。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1