一种自动识别语音的方法和装置的制作方法

文档序号:2830873阅读:172来源:国知局
专利名称:一种自动识别语音的方法和装置的制作方法
技术领域
本发明涉及语音识别技术领域,特别涉及一种自动识别语音的方法和装置。
背景技术
随着科技的日新月异,各种智能终端不断涌现。未来用户可以通过移动 通信终端,用语音向其它智能终端发送控制指令,命令智能终端执行相应的 操作。智能终端在接收控制指令之前,需要对用户的身份进行确认,于是需
要对语音进行识别。如图1所示,用户1通过移动通信终端A试图给某一 智能终端B (如电饭锅)发送语音控制命令,要求智能终端B在用户回家前 半小时开始做饭,这时候智能终端B对所收到的话音进行识别,若确认说话 者的身份是用户1,则进行相应的做饭操作。
为了节省传输带宽或者存储空间,越来越多的数字通信系统使用了语音 压缩编解码。例如图l所示例子中,移动通信终端A发送给智能终端B的 是经过语音压缩编码之后的语音数据。
目前对经过编码以后的语音的识别方法一般需要以下三步
第一步对编码以后的码流进行解码得到脉沖编码调制(PCM)语音数据。
第二步从PCM语音数据中提取特征信息。
第三步将提取的特征信息与事先获取的说话人的特征信息比较,并做 出判断。
现有的语音识别方法存在如下缺点该方法要求进行语音识别的一方具 有语音解码器;从解码以后的数据中提取特征信息, 一般采用Mel频率倒谱系数(MFCC)或高斯混合模型(GMM),这些方法的计算复杂度很大, 要求智能终端具有比较强的计算能力,以上都会增加智能终端的成本。

发明内容
有鉴于此,本发明实施例提出一种自动识别语音的方法和装置,无需语 ;音解码器,计算简单,因而实现成本较低。
本发明实施例提出的自动识别语音的方法,包括如下步骤 从待识别的音频编码码流中提取出编码参数,并将所述编码参数转换为
待识别的特征矢量;
将所述待识别的特征矢量与预先存储的已确认说话者身份的特征矢量 ' 进行比较,根据比较结果确定所述待识别的特征矢量的说话者。 本发明实施例提出的自动识别语音的装置,包括 参数提取模块,用于从接收到的音频编码码流中获取编码参数; 特征信息提取模块,用于将所述参数提取模块所获取的编码参数映射为
待识别的特征矢量; ; 特征信息库,用于存储已识别的说话者的特征矢量;
比较判断模块,用于将来自特征信息提取模块的待识别的特征矢量与在
初始化阶段获得并保存在特征信息库中的特征矢量作比较,根据比较结果确
定待识别的特征矢量的说话者身份。
从以上4支术方案可以看出,从待识别的音频编码码流中提取编码参数, > 将编码参数转换为待识别的特征矢量,将待识别的特征矢量与已确认说话者
身份的特征矢量进行比较,根据比较结果确认待识别特征向量的说话者,从
而实现对待识别音频编码码流的识别。本发明技术方案无需语音解码器即可
实现对编码后的语音的识别,并且计算简单,成本低廉,可应用于计算能力
有限的智能终端中。


图1为智能终端进行语音识别的场景示意图; 图2为本发明实施例提出的语音自动识别装置的模块示意图; 图3为本发明实施例提出的语音自动识别装置中的比较判断模块进行 语音识别的流程图4为本发明实施例实现语音自动识别的流程图。
具体实施例方式
本发明提出的语音识別方法,直接从语音编码后的音频编码码流中提取 特征信息,根据所提取的特征信息进行语音识别,其算法复杂度很低且无需 音频解码器,可广泛应用于低成本的智能终端上。本发明还提出一种基于上 述方法的低复杂度的语音识别装置。
为使本发明的目的、技术方案和优点更加清楚,下面结合具体实施例对 本发明作进一步的详细阐述。为便于描述,以下实施例中以自适应多速率 (Adaptive MultiRate , AMR)语音编解码方法为例进行描述,AMR语音编 解码是3GPP制定并推荐应用于第三代移动通信系统中的技术标准。
本发明实施例提出的语音自动识别装置如图2所示,包括如下模块 参数提取模块201 ,用于从接收到的音频编码码流中获取AMR编码参 数,其输出是在特征信息提取模块202需要用到的部分AMR编码参数,包 括自适应码本索引、自适应和固定码本增益、5个经过矢量量化的线谱频率 (Linear Spectrum Frequency, LSF )系数和话音激活片企测标志。实际应用中, 也可采用上述编码参数的任意组合。具体地说,参数提取模块201根据AMR 的不同帧结构(IF1或者IF2,具体可参考2GPP TS 26.101),从编码帧中 提取出以下编码参数自适应码本索引(adaptlndex(n))、自适应码本增益 (gainAdapt(n))、固定码本增益(gainCode ( n ) ) 、 5个LSF索引 (LSFQi(n)(i=l,2,3,4,5))和话音激活检测标志(VAD(n)),其中n表示帧 序号。考虑到非有效话音部分获得的参数会导致识别率大大降低,需要剔除在非语音帧获得的参数,因此只统计有效话音帧,即话音激活检测标志
VAD(n)=l的那些帧。因此,参数提取模块201包括有效帧识别单元,用于 根据话音激活检测标志识别有效话音帧,而参数提取模块201只提取有效话 音帧的编码参数。
特征信息提取模块202,用于把所接收的AMR编码参数映射为一特征 矢量。
具体地说,特征信息提取模块202用于把参数提取模块201输出的AMR
编码参数映射到一个维数为8的特征矢量e,特征矢量e的计算方法如下
其中cov(ZSF2/) 、 cov(at/c^/ ic/ex) 、 cov(ga/wCWe)和cov(ga//^4 Ja/ /)分另,J表示第i个 量化的LSF参数、自适应码本索引、固定码本增益和自适应码本增益的相对标 准方差。其中在计算相对标准方差的时候,用时间平均来代替统计平均,以自 适应码本索引为例,计算方法如下
cov(W取/"cfec) = V W ——^_^ (2)
其中^^表示adaptlndex的数学期望,其中N为待统计的自适应码本索 引的总凄t:
= -^- (3)
在用伪代码实现的自适应码本索引的相对标准方差的计算方法可以实现如

sum = 0;
for(i=0, j=0; i<length(adaptlndex); i十+) if(vad(i)==l)
adaptlndex(j++] = adaptlndex[i];
sum += adaptlndex[i]; end ifend for mean = sum/j; sum = 0; for(i=0; i<j; i++)
temp = adaptlndex[i] - mean;
sum += temp * temp; end for
cov(adaptlndex) = sqrt(sum/j)/mean;
在初始化阶段,特征信息提取模块202输出特征矢量e给特征信息库 203进行存储,特征信息库203还需要存储每个特征矢量e对应的用户信息;
在自动识别阶段,特征信息提取模块202除了输出特征矢量e给比较判断模
块204以外,还需要把有效语音帧数(也就是上面伪代码中的j)输出到比 较判断模块。
特征信息库203,用来在初始化阶段存储的已识别的说话者的特征矢量。
比较判断模块204,用于将来自特征信息提取模块202的待识别的特征 矢量与在初始化阶段获得并保存在特征信息库203中的特征矢量作比较,根 据比较结果确定待识别的特征矢量的说话人身份。
比较判断模块204将特征信息提取模块202输入的特征矢量与特征信息 库203中存储的各个特征矢量分别进行比较,并识别出说话者。假如输入参 数提取模块201的有效语音长度没达到一定值,系统误判的概率很大,为避 免这种情况出现,比较判断模块204首先判断输入有效语音长度是否达到要 求,假如话音长度不够,则给出警告信息,否则计算输入特征矢量和人群特 征信息库中保存的矢量的欧拉距离,并给出判断结果。
比较判断模块204中包括
有效语音帧数判断单元,用于判断输入的有效语音的帧数是否达到阈 值,并给出相应判断结果;
欧拉距离计算单元,用于当所述有效语音帧数判断单元给出的判断结果 为是时,计算待识别特征矢量与特征信息库中各个特征矢量的欧拉距离。
距离阈值判断单元,用于判断所述欧拉距离计算单元得到的各个欧拉距离是否均大于预先设定的阈值,并给出相应的判断结果。
搜索单元,用于当所述距离阈值判断单元判断结果为否时,在各个欧拉 距离中搜索最小值,并将所得最小值对应的特征信息库中的特征向量的说话 者作为待识别特征矢量的说话者。
出错提示单元,用于当所述有效语音帧数判断单元判断结果为否时,输
出语音长度达不到要求的提示信息;当所述距离阈值判断单元的判断结果为 是时,输出无法识别的提示信息。
比较判断模块204进行语音识别的具体流程如图3所示,包括如下步骤
步骤301:判断有效语音帧数是否达到预先设定的阈值,本实施例中, 判断有效语音帧数是否达到750,若是,则执行步骤303,否则执行步骤302。 实际应用中,该阈值也可设置为其它合适的数值。
步骤302:输出语音长度达不到要求的提示信息,并结束本流程;或者 也可以直接结束本流程。
步骤303:计算待识别特征矢量与特征信息库中各个特征矢量的欧拉距 离。使用公式(4)计算欧拉距离
其中x表示特征信息提取模块输出的特征矢量,^表示初始化阶段时获
得并保存在人群特征信息库里面的第j个说话者的特征矢量,可以看出,欧 拉距离就是特征矢量的各个分量差的平方和。
步骤304:判断所得欧拉距离是否均大于预先设定的阈值,若是,说明 待测的语音特征矢量不属于特征信息库中已保存的任何一个说话者,则执行 306,否则执行步骤305。
步骤305:搜索欧拉距离中的最小值,确定所述最小值对应的特征信息库中预先存储的特征矢量的说话者,所确定的说话者即为待识别特征矢量对
应的说话者。具体地说,在根据公式(4)计算得到W(X,。后,搜索k,使
3曰
付<formula>formula see original document page 11</formula> (5)
N表示人群信息库中的人数。最后根据搜索结果做出判断,x对应的话音
是说话者k说的话。
步骤306:输出无法识别的提示信息,并结束本流程。 整个识别过程需要分成两个阶段第一个阶段是初始化,以获得语音特 征信息的样本,为达到较佳的识别效果,此阶段需要15分钟左右的AMR 编码码流作为参数提取模块201的输入,特征信息提取模块202从这输入的 码流中提取特征信息并保存在特征信息库203中。特征信息库中可以保存一 个以上的特征信息样本。第二个阶段是识别阶段,为达到较佳的识别效果, 此阶段需要15秒左右的有效AMR编码码流输入到参数提取模块201中, 参数提取模块201从输入码流中提取编码参数,特征信息提取模块202将所 述编码参数转换为特征矢量,比较判断模块204将所述特征矢量与在初始化 阶段获得并保存在特征信息库203中的特征矢量作比较,并输出识别到的说 话对象。
图4示出了本发明实施例实现语音自动识别的流程,包括如下步骤 步骤401:语音识别装置进行初始化,输入已确认说话者身份的AMR 编码码流,从所述编码码流中识别有效语音帧,并提取有效语音帧的编码参 数,再将所述编码参数转换为特征矢量,保存所述特征矢量到特征信息库中。 可以保存一个以上的特征矢量,并保存每个特征矢量对应的说话者信息。所 提取的编码参数以及将编码参数转换为特征矢量的过程如前所述,这里不再 赘述。
如果该装置已经进行过初始化,则直接执行步骤402。 步骤402:接收待识别的AMR编码码流,从所述编码码流中提取出有效语音帧的编码参数作为待识别的编码参数。
步骤403:将所述待识别的编码参数转换为待识别的特征矢量。
步骤404:判断所述待识别的特征矢量对应的有效语音帧的数目是否达 到预先设定的阈值,若是,则执行步骤406,否则执行步骤405。
步骤405:输出语音长度达不到要求的提示信息,并结束本流程;或者 也可以直接结束本流程。
步骤406:计算所述待识别的特征矢量与特征信息库中已保存的特征矢 量的欧拉距离。
步骤407:判断所得欧拉距离是否均大于预先设定的阈值,若是,说明
待测的语音特征矢量不属于特征信息库中已保存的任何一个说话者,则执行
408,否则执行步骤409。
步骤408:输出无法识别的提示信息,并结束本流程。
步骤409:搜索欧拉距离中的最小值,确定所述最小值对应的特征信息
库中预先存储的特征矢量的说话者,所确定的说话者即为待识别特征矢量对
应的说话者。
以上实施例中所举待识别编码码流是采用AMR方式编码的码流,本领 域技术人员应当知晓,对于任一种数字通信系统所采用的编码方式产生的码 流中均具有其相应的编码参数,因此均可应用本发明方案实现编码语音的自 动识别。
本发明方案相对于现有技术,具有如下有益效果
无需语音解码器即可实现对编码后的语音的识别,并且计算简单,成本 低廉,可应用于计算能力有限的智能终端中。根据测试,在有效语音足够长 的情况下,具有较高的识别成功率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种自动识别语音的方法,其特征在于,包括如下步骤从待识别的音频编码码流中提取出编码参数,并将所述编码参数转换为待识别的特征矢量;将所述待识别的特征矢量与预先存储的已确认说话者身份的特征矢量进行比较,根据比较结果确定所述待识别的特征矢量的说话者。
2、 根据权利要求1所述的自动识别语音的方法,其特征在于,所述从 待识别的音频编码码流中提取出编码参数的步骤之前,进一步包括输入已确认说话者身份的音频编码码流,从所述音频编码码流中提取出 编码参数,再将所述编码参数转换为特征矢量,保存所述特征矢量以及对应 的说话者信息。
3、 根据权利要求2所述的自动识别语音的方法,其特征在于,所述将 编码参数转换为特征矢量包括计算每一类编码参数的相对标准方差作为所述特征矢量的一个分量。
4、 根据权利要求2所述的自动识别语音的方法,其特征在于,所述将 所述待识别的特征矢量与预先存储的已确认说话者身份的特征矢量进行比 较之前,进一步包括判断待识别的特征向量对应的有效语音帧的数目是否达到预先设置的 阈值,若是,则转至所述将所述待识别的特征矢量与预先存储的已确认说话 者身份的特征矢量进行比较的步骤,否则退出本流程。
5、 根据权利要求2所述的自动识别语音的方法,其特征在于,所述将 所述待识别的特征矢量与预先存储的已确认说话者身份的特征矢量进行比 较,根据比较结果确定所述待识别的特征矢量的说话者包括分别计算待识别的特征矢量与预先存储的各个已确认说话者身份的特 征矢量之间的欧拉距离,搜索欧拉距离中的最小值,确定所述最小值对应的 预先存储的特征矢量的说话者,所确定的说话者即为待识别特征矢量对应的说话者。
6、 根据权利要求5所述的自动识别语音的方法,其特征在于,其特征 在于,所述搜索欧拉距离中的最小值之前,进一步包括判断所得欧拉距离 是否均大于预先设定的阈值,若是,则结束本流程;否则,转至所述搜索欧 拉距离中的最小值的步骤。
7、 根据权利要求1至6任一项所述的自动识别语音的方法,其特征在 于,所述音频编码码流中提取出编码参数包括从音频编码码流中识别出有效语音帧,并4是取所述有效语音帧的编码参数。
8、 根据权利要求7所述的自动识别语音的方法,其特征在于,所述语 音编码码流为自适应多速率AMR编码码流。
9、 根据权利要求8所述的自动识别语音的方法,其特征在于,所述编 码参数包括自适应码本索引、自适应和固定码本增益、5个经过矢量量化的线谦频 率LSF系数、话音激活检测标志或以上编码参数的任意组合。
10、 一种自动识别语音的装置,其特征在于,包括 参数提取模块,用于从接收到的音频编码码流中获取编码参数; 特征信息提取模块,用于将所述参数提取模块所获取的编码参数映射为待识别的特征矢量;特征信息库,用于存储已识别的说话者的特征矢量;比较判断模块,用于将来自特征信息提取模块的待识别的特征矢量与在 初始化阶段获得并保存在特征信息库中的特征矢量作比较,根据比较结果确 定待识别的特征矢量的说话者身份。
11、 根据权利要求10所述的自动识别语音的装置,其特征在于,所述 参数获取模块进一步包括有效帧识别单元,用于识别所述音频编码码流中 的有效话音帧;则所述参数获取模块用于从音频编码码流中获取有效话音帧的编码参数,并将所获取的编码参数输出至特征信息提取模块。
12、根据权利要求11所述的自动识别语音的装置,其特征在于,所述 比较判断模块包括有效语音帧数判断单元,用于判断输入的有效语音的帧数是否达到阈 值,并给出相应判断结果;欧拉距离计算单元,用于当所述有效语音帧数判断单元给出的判断结果 为是时,计算待识别特征矢量与特征信息库中各个特征矢量的欧拉距离;距离阚值判断单元,用于判断所述欧拉距离计算单元得到的各个欧拉距 离是否均大于预先设定的阈值,并给出相应的判断结果;搜索单元,用于当所述距离阈值判断单元判断结果为否时,在各个欧拉 距离中搜索最小值,并将所得最小值对应的特征信息库中的特征向量的说话 者作为待识别特征矢量的说话者。出错提示单元,用于当所述有效语音帧数判断单元判断结果为否时,输 出语音长度达不到要求的提示信息;当所述距离阈值判断单元的判断结果为 是时,输出无法识别的提示信息。
全文摘要
本发明公开了一种自动识别语音的方法,包括如下步骤从待识别的音频编码码流中提取出编码参数,并将所述编码参数转换为待识别的特征矢量;将所述待识别的特征矢量与预先存储的已确认说话者身份的特征矢量进行比较,根据比较结果确定所述待识别的特征矢量的说话者。本发明还公开了一种自动识别语音的装置。本发明技术方案无需语音解码器即可实现对编码后的语音的识别,并且计算简单,成本低廉。
文档编号G10L17/00GK101562013SQ20081010412
公开日2009年10月21日 申请日期2008年4月15日 优先权日2008年4月15日
发明者卢建超, 张伟彬 申请人:联芯科技有限公司;大唐移动通信设备有限公司;上海大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1