首页> 中国专利> 语音端点检测中的背景噪声自适应调整方法

语音端点检测中的背景噪声自适应调整方法

摘要

本发明涉及自动字幕生成系统中的语音检测技术,具体涉及一种语音端点检测中的背景噪声自适应调整方法。该方法根据背景噪声的实时变化,通过重新计算背景噪声的短时能量Eb,短时过零率Zb和短时信息熵Hb的值来重新确定每一帧的短时能频值,得到新的短时能频值序列,从而能够在复杂的背景噪声环境下,对连续语音进行端点检测,提高了在复杂噪声背景下的语音端点检测效率。

著录项

  • 公开/公告号CN101625860A

    专利类型发明专利

  • 公开/公告日2010-01-13

    原文格式PDF

  • 申请/专利权人 新奥特(北京)视频技术有限公司;

    申请/专利号CN200810116463.9

  • 申请日2008-07-10

  • 分类号G10L11/00(20060101);G10L11/02(20060101);G10L15/04(20060101);

  • 代理机构北京天悦专利代理事务所;

  • 代理人田明;任晓航

  • 地址 100080 北京市海淀区西草场1号北京硅谷电脑城15层1501-1506室

  • 入库时间 2023-12-17 23:14:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-27

    未缴年费专利权终止 IPC(主分类):G10L11/00 授权公告日:20120704 终止日期:20170710 申请日:20080710

    专利权的终止

  • 2012-07-04

    授权

    授权

  • 2011-05-25

    实质审查的生效 IPC(主分类):G10L11/00 申请日:20080710

    实质审查的生效

  • 2010-01-13

    公开

    公开

说明书

技术领域

本发明涉及自动字幕生成系统中的语音检测技术,具体涉及一种语音端点检测中的背景噪声自适应调整方法。

背景技术

语音端点检测技术是语音技术研究的一个新的领域,其应用于自动字幕生成系统中。当前的字幕制作方法首先需要准备好字幕文稿,这种字幕文稿是指在制作电视节目之前,事先写好的一个文本文件,记录着节目的标题、主持人要说的话,以及被采访人所讲的话等内容。在制作电视节目时,编辑人员把音、视频素材添加到非线性编辑软件的故事板上,然后按照节目的主旨,对其进行编辑。编辑操作一般包括对素材位置的修改,添加一些特技,添加字幕等等。添加字幕时,一般是先在字幕文稿中选择多段文字(每一段就是一句话),然后以这些文字生成一个新的字幕文件,将这个文件拖上非线性编辑软件的轨道,此时字幕中的每一句话就会按顺序播出,但是往往会出现“声画不同步”的现象,即字幕出现的时刻和音频文件中播出的声音对不上。这时就需要编辑人员一边听声音,一边一句句地修改字幕的入点和出点的值。这就非常耗费人力和时间,影响唱词文件生成的质量和效率。

从复杂背景噪声中找出语音的起始点和结束点,即语音端点检测技术,一直是语音信号处理中的基本问题。由于语音端点检测的重要性,人们已经提出了很多种语音端点检测方法。这些方法大致可以分为基于模型的方法和基于门限的方法两类。

基于门限的语音端点检测方法是根据语音的特点,选择合适的特征参数,然后将该特征参数与预先设定的门限值进行比较,或者是先对特征参数进行一系列的后期处理然后再与门限进行比较。在传统的基于门限方法中,基本上都使用了短时能量、短时过零率和短时信息熵等语音参数,分别判断它们是否超过一个阀值,然后再通过“与”或者“或”运算来做出是否为语音起点或终点的判断。

现有的基于门限的端点检测方法中,一般会首先选取音频最初的10-20ms作为背景噪声进行分析,并通过分析来设定两个门限值:一个用于确定语音起点,另一个用于确定语音的终点。当发现所观察的参数值大于起点门限,则将该点标识为语音的起点。语音起点确定后,当所观察的参数值小于终点门限时,将该点标识语音终点。这种方法具有一定的限制:首先,这种方法要求在整个语音端点检测的过程中,背景噪声不发生大的变化;其次,由于不同的说话人所对应的特征门限不同,这种检测算法的门限值很难确定。

传统的语音端点检测方法主要应用在语音识别、语音拨号、指令控制以及嵌入式系统中。在这些应用环境中,语音只会持续很短一段时间,一般是几秒钟。而且背景噪声在端点检测过程中基本上不发生大的变化,因此这些方法一般取音频的前5帧来分析噪音。但是如果语音持续较长的一段时间,并且背景噪声在检测过程中频繁变化,那么上述方法并不能很好的工作。

因此,有必要提出一种新的语音端点检测方法,能够应对突然变化的背景噪声,并能够在复杂的背景噪声环境下,对连续语音进行端点检测,并最终检测出语句的端点。

发明内容

本发明的目的在于针对自动字幕生成系统的特点以及现有语音端点检测方法的缺陷,提供一种语音端点检测中的背景噪声自适应调整方法,可以在背景噪声经常发生变化的情况下,对连续语音进行语音端点检测,从而提高在复杂噪声背景下的语音端点检测效率。

本发明的技术方案如下:一种语音端点检测中的背景噪声自适应调整方法,包括如下步骤:

(1)将音频采样序列分成固定长度的帧,并形成一个帧序列,针对每一帧数据提取短时能量、短时过零率和短时信息熵三个音频特征参数;

(2)将音频文件最初的10ms作为环境音,将这10ms音频信号的短时能量平均值、短时过零率平均值和短时信息熵平均值作为最初的背景噪声的短时能量Eb、短时过零率Zb和短时信息熵Hb,计算得到短时能频值序列;

(3)根据对短时能频值序列的分析找到一个语音起点,记为第Fh帧,判断Fh帧与上一个语音终点所在的Ft帧相距的时间间隔,当该时间间隔大于规定长度时,进行环境噪声的提取;

(4)从第Ft帧开始,取接下来的10帧当作背景噪声,重新计算背景噪声的短时能量Eb,短时过零率Zb和短时信息熵Hb的值,计算方法采用取10帧中的算术平均值;

(5)从第Ft+1帧开始,使用更新后的背景噪声的短时能量Eb,短时过零率Zb和短时信息熵Hb,重新计算每一帧的短时能频值,得到新的短时能频值序列。

进一步,如上所述的语音端点检测中的背景噪声自适应调整方法,在步骤(2)中所述的短时能频值定义为:

EZE-featurei=(Ei-Eb)·(Zi-Zb)·(Hi-Hb)

其中,EZE-featurei表示第i帧的短时能频值;Ei、Zi和Hi分别表示第i帧的短时能量、短时过零率和短时信息熵;Eb、Zb和Hb分别表示当前背景噪声的短时能量、短时过零率和短时信息熵。

进一步,如上所述的语音端点检测中的背景噪声自适应调整方法,在步骤(3)中,寻找语音起点的步骤如下:

(a)从第t帧开始寻找,检测第t帧之后每一帧的短时能频值,直至找到一帧j,使得

Xt≤Xt+1≤Xt+2≤......≤Xj且Xj+1≥Xj+2

即寻找从第t帧开始的短时能频值序列的上升区间,记为At

(b)计算所找到的上升区间At的短时能频值序列波形的平均斜率Rt

Rt=Xj-Xtj-t

其中,Xt为第t帧的短时能频值,Xj为第j帧的短时能频值;

(c)设定一个门限值Rm来确定语音起始点,如果Rt≥Rm,且第t帧之前的区间没有被认为是语音区间,则将第t帧记为语音的起点,然后令t=j+1,去寻找与之相匹配的语音终点;如果Rt<Rm,则令t=j+1,重复步骤(a)的操作。

进一步,如上所述的语音端点检测中的背景噪声自适应调整方法,在步骤(3)中,所述的规定长度为300ms。

本发明的有益效果如下:本发明所提供的语音端点检测中的背景噪声自适应调整方法能够通过对背景噪声的实时分析来应对突然变化的背景噪声,并能够在复杂的背景噪声环境下,对连续语音进行端点检测,并最终检测出语句的端点。与传统方法相比,本发明的语音端点检测效率更高、质量更好。

附图说明

图1为含有背景噪声自适应调整步骤的语音端点检测的总体流程图。

图2为短时能频值的提取流程图。

图3为短时能频值的波形图。

图4为检测语音起点和终点的流程图。

图5为语音、音乐和噪声波形对比图。

图6为噪声反馈的对比图。

图7短时能频值波形的标示图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细的描述。

本发明所提供的语音端点检测中的背景噪声自适应调整方法,可以根据背景噪声的变化对语音参数进行及时的调整,从而提高在复杂噪声背景下的语音端点检测效率。语音端点检测的总体流程如图1所示,音频数据输入后,解析音频文件并提取数字采样值,对获取到的音频采样序列进行带通滤波,带宽为400hz~3500hz,其主要目的是把人发音的频段以外的噪声或者音乐滤除,可以大大降低背景音乐对语音端点检测的影响。随后,对音频采样序列进行窗口处理,将其分成10ms长度的帧,并形成一个帧序列,针对每一帧数据提取短时能量、短时过零率和短时信息熵三个音频特征参数;根据音频特征参数计算每一帧数据的短时能频值,并形成一个短时能频值序列。从第一帧数据开始,分析短时能频值序列,并找出语音起点和终点。

基于上述处理,本发明提出了如下背景噪声的调整方法:

(1)根据对短时能频值序列的分析找到一个语音起点,记为第Fh帧,判断Fh帧与上一个语音终点所在的Ft帧相距的时间间隔,当该时间间隔大于规定长度时,进行环境噪声的提取;

(2)从第Ft帧开始,取接下来的10帧当作背景噪声,重新计算背景噪声的短时能量Eb,短时过零率Zb和短时信息熵Hb的值,计算方法采用取10帧中的算术平均值;

(3)从第Ft+1帧开始,使用更新后的背景噪声的短时能量Eb,短时过零率Zb和短时信息熵Hb,重新计算每一帧的短时能频值,得到新的短时能频值序列。

下面对上述流程中所涉及到的技术解决方案进行详细的描述。

(一)短时能量、短时过零率和短时信息熵三个音频特征参数的提取

1.短时能量

能量是最经常使用的音频特征参数之一,是对语音信号最直观的表示。语音信号的能量分析基于语音信号幅度随时间有相当的变化这一现象。能量可以用于区别发音的清音段和浊音段,能量值较大的对应于清音段,能量值较小的对应于浊音段。对于高信噪比的信号,可以用能量来判断有无语音。无语音信号的噪声能量较小,而有语音信号时能量会显著增大,由此可以粗略区分语音信号的起始点和中止点。另外,能量还可以用来区分声母和韵母的分界、以及连字的分界等。

在本发明中,采用“短时能量”作为主要的特征参数之一。所谓短时能量,就是先对音频信号进行分帧处理,然后对每一帧求其能量,它被定义为一帧中所有采样值平方的和。第i帧的短时能量定义为:

Ei=Σn=1NSn2

其中,N表示第i帧中所包含的音频采样数量;Sn表示第n个采样的取样值。

2.短时过零率

过零率是声音信号处理过程中一个常用的音频特征参数。当离散语音信号的时域波形通过时间横轴时,相邻时刻的采样值如果具有不同的符号,称为“过零”。单位时间的过零次数称为“过零率”,即单位时间内音频采样值符号变换的次数。同上,在本发明中将单位时间限定为一帧,每一帧的过零率就是“短时过零率”。第i帧的短时过零率定义如下:

Zn=12Σn=1N|sgn(Sn)-sgn(Sn-1)|

其中,Sn表示第n个采样的取样值;sgn()为符号函数,定义为

sgn(Sn)=1,Sn0-1,Sn0

过零分析是语音的时域分析中最简单的一种分析。它可以区别语音的发音是清音还是浊音。由于清音语音的多数能量出现在较高的频率上,因此清音的过零率较高;而浊音语音具有高频跌落的频谱,因此浊音的过零率低。利用短时过零率还可以从背景噪声中找出语音信号。在孤立词的语音识别中,必须要在一串连续的语音信号中进行适当分割,用以确定每个单词语音的信号,也即找出每个单词的开始和终止位置。用平均过零率来确定单词的起始点时,判断依据是语音开始点以前的过零率低,而开始点以后的过零率有明显的数值。在有背景噪声的情况下,一般背景噪声的平均过零率较低,而单词起始段的平均过零率急剧增大,由此可判定此单词的起始点。

3.短时信息熵

语音的感知过程与人类听觉系统具有频谱分析功能是紧密相关的。因此,对语音信号进行频谱分析,是认识语音信号和处理语音信号的重要方法。语音信号是一种典型的非平稳信号,但是其非平稳性是由发音器官的物理运动过程而产生的,由此可以假定其频域也是短时平稳的。

信息熵是频域的重要音频参数,它反应了语音信号所传达的信息量的大小。信息熵在语音编解码中经常被使用,J.L.Shen首次将它应用在语音端点检测技术中。本发明同样对每一帧都计算其信息熵,称为短时信息熵,计算方法如下:

(a)利用短时傅里叶变换(FFT)对每一帧的信号进行由时域向频域的转换:

X(ω)=Σn=-Sne-jωn

其中,Sn表示第n个音频采样,ω=2πN,N为总采样数;

由于此处的傅立叶变换都是对某一帧进行的,因此相当于对傅立叶变换加上了一个窗口函数w(n-k)。k的取值取决于要对哪一帧进行短时傅立叶变换。

(b)计算每一频率的出现概率:

pi=s(fi)Σk=1Ms(fk)

其中,s(fi)表示频率f的频谱能量,pi表示相应频率的出现概率,M表示傅里叶变换计算得出的频率的总数,即窗口宽度,此处取480。

所规定的约束条件为:

s(fi)=0 if fi≤250HZ or fi≥3750HZ

pi=0 if pi≥0.9

第一个约束公式用来保证语音信号的频率范围。因为人的发音频率基本集中在250Hz到3750Hz之间,所以我们把频率限定在这个范围之内。第二个约束公式用来滤除在某些频率上持续发生的噪声。

(c)计算语音信息熵:

Hi=Σj=1Mpjlogpj

其中,M表示傅里叶变换计算得出的频率的总数,即窗口宽度,pi表示相应频率的出现概率,Hi表示第i帧的短时信息熵。

试验证明,语音信号的信息熵和非语音信号的信息熵之间存在很大的差别,由此可以用来寻找语音端点的位置。在很多情况下,尤其是当背景噪声主要是机械噪声时,使用信息熵作为特征参数比单纯使用能量更加可靠。

但是,在连续不断的背景噪声或者音乐背景下,使用信息熵来进行语音端点检测会非常不可靠。因为同语音一样,连续的背景噪声或者背景音乐也含有很多信息。相对而言,在这种情况下使用能量作为特征参数反而会取得较好的效果,因为语音与背景噪声的叠加总会大过单纯的背景噪声。

(二)短时能频值的确定

在上述三个音频特征参数的基础上,本发明提出了一个结合时域和频域的语音特征参数,称作短时能频值,记做EZE-feature。

1.短时能频值的定义

第i帧的短时能频值EZE-featurei的定义如下:

EZE-featurei=(Ei-Eb)·(Zi-Zb)·(Hi-Hb)

其中,EZE-featurei表示第i帧的短时能频值;Ei、Zi和Hi分别表示第i帧的短时能量、短时过零率和短时信息熵;而Eb、Zb和Hb则分别表示了当前背景噪声的短时能量、短时过零率和短时信息熵。典型的短时能频值波形如图3所示,截取自一段新闻的短时能频值波形。

短时能频值同时结合了时域和频域的语音特征。短时能量和短时过零率属于时域的音频特征参数,短时信息熵则属于频域的音频特征参数。将时域和频域的音频特征参数结合在一起,能够发挥他们各自的长处,同时又可以在一定程度上规避他们各自的缺点,从而能够有效的应对各种不同类型的背景噪声。

2.短时能频值的提取过程

在语音端点检测过程中,我们需要求得每一帧的短时能频值。求第i帧的短时能频值,就要用到第i帧的短时能量、短时过零率和短时信息熵。其提取过程如图2所示。

步骤1:首先对音频信号序列进行分帧处理,得到一个音频帧序列。在本发明中将10ms规定为一帧。例如,如果音频文件的采样率是48k/s,那么每帧就应该包含480个采样。

步骤2:从步骤1中得到的帧序列里的第一帧开始直到最后,计算每一帧的三个音频特征参数,得到短时能量序列、短时过零率序列和短时信息熵序列。

步骤3:从帧序列里的第一帧开始直到最后,应用步骤2里求得的三个音频特征参数序列,并应用每一帧所对应的背景噪声的相应音频特征参数,按照短时能频值的定义公式进行计算。重复此过程直到所有帧的短时能频值都计算完成。最后得到一个与帧序列相对应的短时能频值序列。

(三)基于短时能频值的语音端点检测

短时能频值充分考虑了背景噪声对语音端点检测造成的影响,应用这个参数,本发明文提出了自适应的语音端点检测算法。可以通过不断调整Eb和Zb的值来有效应对背景噪声突发性改变所带来的不确定性。

通过仿真工具软件matlab对很多音频文件的短时能频值波形研究后发现:在语音和音乐叠加的时间段中,或者在只有语音的时间段中,短时能频值波形的变化非常剧烈:变化频率很高,而且变化的幅度非常大。而在即没有语音又没有音乐,只有背景噪声的时间段中,短时能频值基本保持很小的变化幅度,而且变化的频率比较小。另外,在只有音乐没有语音的时间段中,不管有没有背景噪声出现,由于经过了滤波器滤波后,音乐的高频部分已经被滤掉,所以虽然短时能频值变化的幅度仍然非常大,但是,其变化的频率却比有语音时要缓和的多。语音、音乐和噪声波形对比如图5所示。

图5为一段新闻联播节目的短时能频值波形片断,从第3400帧到第3540帧左右属于背景音乐的短时能频值波形,从第3820帧到第4030帧左右属于语音的短时能频值波形,而从4230帧到4280帧则属于一段背景噪声的短时能频值波形。

因此,通过计算一个音频文件的短时能频值序列,并研究其波形,找出其中变化剧烈而且变化幅度较大的部分,就能够找到此音频文件中的语音部分,从而可以找到其语音端点。所以,寻找语音端点的重点就是找出短时能频值序列波形中斜率比较大的那些部分,并判断出它们是否是语音的端点。

1.语音起点和终点的检测流程

本方法从音频的第一帧开始检测,对短时能频值序列的波形进行分析,依次寻找每一对相匹配的语音起点和语音终点,直到检测完最后一帧。如图4所示,该方法主要包括以下4个步骤:

步骤1:计算音频文件中每一帧的短时能频值,形成一个短时能频值序列

X1X2X3X4.......Xn

在算法开始时首先要计算所有音频帧的短时能频值,作为初始值。但是并不是所有初始值序列中的值都会被使用到。随着分析的进行,在分析到后面的帧的时候可能会发现背景噪声发生了变化,此时背景噪声的音频特征参数Eb、Zb等的值就需要进行调整。从而短时能频值序列也就相应的需要进行调整。从发现背景噪声改变的那一帧开始,之前的短时能频值不用调整,之后的都需要重新计算。重新计算得到的短时能频值序列也仍然只是暂时的,直到分析完最后一帧之前,短时能频值序列有可能不断被修改。

步骤2:寻找语音的起点

1)假设从第t帧(对应短时能频值Xt)开始寻找,检测第t帧之后每一帧的短时能频值,直到找到一帧j(对应短时能频值Xj),使得

Xt≤Xt+1≤Xt+2≤......≤Xj且Xj+1≥Xj+2

即寻找从第t帧开始的短时能频值序列的上升区间,记为At

2)计算刚找到的上升区间At的短时能频值序列波形的平均斜率

Rt=Xj-Xtj-t

在上升区间At中,由于人语音的特点,其短时能频值序列波形不可能平稳上升,其斜率可能会不断变化,时大时小。因此虽然在区间At中短时能频值波形一直保持上升的趋势,却只能计算其平均斜率。

3)设定一个门限值Rm,如果有Rt≥Rm,即斜率Rt非常的陡峭,则认为上升区间At属于语音部分。此时有两种情况,一种是如果第t帧之前的区间已经被认为是语音区间了,那就说明已经找到了一个语音起点,现在需要寻找与之相对应的语音终点,因此令t=j+1,进入步骤3。另一种情况是第t帧之前的区间没有被认为是语音区间,则将第t帧记为语音的起点,然后令t=j+1,进入步骤3去寻找与之相匹配的语音终点。

反之,如果Rt<Rm,即斜率Rt比较平缓。此时也有两种可能,一种是Rt远远小于Rm,主要是因为Xt、Xj等短时能频值都比较小,说明上升区间At属于背景噪声。另一种情况是Rt的值比较大,仅略小于Rm,这说明上升区间At很有可能属于背景音乐。上述两种情况之间没有严格的界限,就是说无法确定非语音区间到底属于噪声还是背景音乐,不过在这两种情况下,都认为区间At不是语音,因此令t=j+1,循环执行步骤2。

需要特别指出的是,斜率门限值Rm也是人工设定的值,因此在实际判断过程语音、背景音乐和背景噪声的短时能频值波形之间都没有明确的界限,设定不同的门限值会得到不同的语音端点检测结果。由此可见,门限值设定得是否合适将直接影响语音端点检测的准确性。下文会提供一种分析整个短时能频值序列以设定斜率门限值的算法。但是如果根据情况进行人工设定的话,会使检测的结果更加准确。

步骤3:寻找语音终点

1)假设从第t帧(对应短时能频值Xt)开始寻找,检测第t帧之后每一帧的短时能频值,直到找到一帧j(对应短时能频值Xj),使得

Xt≥Xt+1≥Xt+2≥......≥Xj且Xj+1≤Xj+2

即寻找从第t帧开始的短时能频值序列的下降区间,记为Dt

2)计算刚找到的下降区间Dt的短时能频值序列波形的平均斜率

Rt=Xt-Xjj-t

与步骤2的情况类似,在下降区间Dt中,由于人语音的特点,其短时能频值序列波形也不可能平稳下降。因此虽然在下降区间Dt中短时能频值波形一直保持下降的趋势,也只能计算其平均斜率。对下降区间Dt而言,其平均斜率Rt应该是负值,但为了方便起见,使用Xt-Xj来使Rt变成正值。

3)与步骤2类似,设定一个门限值Rm,如果有Rt≥Rm,即斜率Rt非常的陡峭,则认为下降区间Dt属于语音部分。此时有两种情况,一种是如果第t帧之前已经找到了一个语音起点,则现在找到了与之相对应的语音终点,因此将第t帧记为语音的终点,然后令t=j+1,进入步骤2,再去寻找下一个语音起点。另一种情况是第t帧之前还没有找到一个单独的语音起点,即找到了一个不对应任何语音起点的下降区间,则下降区间Dt为一段单独的语音区间。此时将第t帧记为语音起点,将第j帧记为语音终点。然后令t=t+1,回到步骤2,继续寻找下一个语音起点。

反之,如果Rt<Rm,即斜率Rt比较平缓。同步骤2中所论述的一样,认为区间Dt属于背景噪声或者背景音乐,此时令t=j+1,循环执行步骤2。

关于斜率门限值Rm对于检测结果的影响,步骤2中已经详细论述,在此不再重复。

步骤4:按照步骤2和步骤3所述循环检测,直到检测到最后一帧

如果最后检测到了一个语音起点,而没有与之相对应的语音终点,则认为在音频文件的最后,语音突然中断。这可能是由于音频文件在压制过程中丢失了某些内容或者其它原因造成的。

2.门限值选取

通过使用matlab进行了大量仿真试验,观察短时能频值序列的波形后发现:在一般的新闻访谈类等背景音乐较少的音频节目中,短时能频值的极大值和极小值相比一般相差80倍左右,如图7所示。

图7是一段访谈类节目的短时能频值波形片段。从中可以看到,短时能频值的极大值EZE-featurea出现在第1650ms、第1850ms、2100ms以及2260ms左右的时间段。而极小值EZE-featurei则出现在第1750ms、第1910ms、第1990ms以及第2210ms左右的时间段。对比EZE-featurea和EZE-featurei可以发现,两者相差大概80倍左右。

经过分析,本发明提出以下算法来计算短时能频值波形斜率的门限:

步骤1:分析短时能频值序列,找出其最小值,记为EZE-featuremin;找出其最大值,记为EZE-featuremax,然后计算EZE-featuremax/100。

纵观整个短时能频值波形可以发现,其最大值EZE-featuremax比那些极大值EZE-featurea(即波形中每个波的峰值)要稍微大一些。而短时能频值的最小值EZE-featuremin和极小值EZE-featurei(即波形中比较平缓的部分)则相差不大,因为两者都是非常小的值,因此其差别可以忽略不计。因此采用最大值EZE-featuremax的1/100与最小值EZE-featuremin进行比较。

步骤2:比较EZE-featuremin和EZE-featuremax/100,取其中较大者,记为EZE-featureslope

步骤3:短时能频值斜率的门限定为:Rm=EZE-featureslope×2。

使用上述方法找到的短时能频值斜率门限对于整个短时能频值序列都有效,因此在语音端点检测过程中不需要再次进行修改。在没有或者较少出现背景音乐的情况下,使用该方法基本可以满足寻找语句端点的需要,在寻找词语端点时的精确性稍差。但是当背景音乐在音频中持续出现时,短时能频值序列的波形将变得非常复杂,此时使用该方法就得不到满足要求的斜率门限值,因此需要人工设定。不论在哪种情况下,由人手工设定和调整短时能频值斜率的门限,都将大大提高语音端点检测的准确性。

(四)自适应机制及人工交互式反馈机制

1.主动自适应机制

接受端点检测的语音中可能混杂有各种各样的背景噪声。背景噪声可能是热噪声、机械噪声、嘈杂的人声或者音乐(对于语音端点检测来说,由于音乐会严重干扰端点检测的准确性,因此也被看作是一种噪声)。不管是哪种背景噪声,都会对语音端点检测产生干扰,因此必须对它们进行处理。

在低信噪比的情况下,短时能频值能够较精确的区分噪声部分和语音部分,因此本发明提出的语音端点检测方法可以很好的识别噪声和语音。

但是在高信噪比的情况下,也就是当噪声信号的能量较高时,可能会出现它的短时能频值也较大,且变化较剧烈的情况。在人语音的开始和结束部分,有时发音非常轻,导致语音的短时能频值较小,此时噪声与语音的短时能频值可能出现无法区分的情况。反映在短时能频值的波形上,就是噪声部分波形的斜率较大,而语音部分波形的斜率并没有足够大到与噪声有明显的差别,这会大大影响语音端点检测的准确性。这就需要相应的方法能够对噪声进行必要的处理,以降低它们对语音端点检测的影响。

在传统的语音端点检测方法中,一般是取音频信号的前几帧进行分析,并将其作为背景噪声,并在后续的分析过程中一直使用。

但是,一个语音文件的长度可能从数分钟到数小时不等,在这么长的时间中,背景噪声不可能维持不变,可能会出现一些意想不到的突发性噪声,或者是噪声突然产生变化。而背景音乐在语音持续过程中一般都会发生巨大的变化,比如在一段时间内有而在另一段时间内没有,或者在一段时间内是小提琴演奏而另一段时间内是鼓点等。

鉴于背景噪声和背景音乐的这种不确定性,我们不可能一直使用音频信号的前几帧作为背景噪声。而是应该在端点检测过程中,根据检测出的语音情况,自动选取新的音频帧作为背景噪声进行处理。

首先,默认音频文件最初的10ms为环境音,将这10ms的音频信号的短时能量平均值、短时过零率平均值和短时信息熵平均值作为最初的背景噪声的短时能量Eb、短时过零率Zb和短时信息熵Hb。自适应的语音端点检测算法对于噪声采取了一种反馈机制:当发现背景噪声可能已经发生变化时,算法要回退到噪声发生变化之前的语音帧,重新进行检测。其过程如下所述:

1)找到了某个语音起点,记为第Fh帧,当Fh与上一个语音终点Ft帧相距300ms以上时,则进行环境噪声的提取。

2)从第Ft帧开始,如果在100ms内没有其它的语音起点,则取接下来的10帧当作背景噪声,重新计算Eb、Zb和Hb的值。计算方法为取算术平均,以Eb为例:

Eb=Et+Et+1+Et+2+Et+3+Et+4+Et+5+Et+6+Et+7+Et+8+Et+910

3)从第Ft+1帧开始,使用更新后的Eb、Zb和Hb,重新计算每一帧的短时能频值,得到新的短时能频值序列。

4)从第Ft+1帧开始,使用新的短时能频值序列重新执行端点检测过程。

图6为一段新闻的短时能频值波形片断,a为未经过噪声反馈过程,b为则经过了噪声反馈过程,对比可以发现噪声反馈处理过程起了很大的效果。

需要指出的是,上述的噪声反馈算法需要不断进行回溯,导致本语音端点检测算法不能进行实时端点检测,因此对算法的应用造成了一定的局限性。

2.人工交互式反馈机制

本发明除了进行噪声反馈之外,还可以由人工进行主动干预。如果发现语音端点检测的结果有较大的误差,无法满足需求,则可以通过修改短时能频值斜率的门限来调整检测的结果。

如果发现检测得到的语音端点中,语音起点普遍提前,而语音终点普遍延迟出现,则说明有可能是斜率门限的值选取的过小,导致一部分背景噪声也被认为是语音。此时只需将斜率门限的值适当调大,即可得到令人满意的结果。

相反,如果发现语音起点普遍延迟,而语音终点普遍提前出现,则说明有可能是斜率门限的值选取的过大,导致一部分语音也被认为是背景噪声。此时则需要将斜率门限的值适当调小。

必须注意,由于背景噪声或者背景音乐的存在,通过本发明所述语音端点检测方法得到的语音端点不可能完全精确。但是,由于人对于微小时间误差的感知是有极限的,因此在50ms之内的语音端点检测误差可以接受。通过选取适当的短时能频值斜率门限,可以将语音端点检测的误差控制在50ms以内。

另外,语句端点的时间间隔门限值也可以由人工进行调整。不同的人说话有不同的语速,因此语句间也有不同的时间间隔,人工对语句端点时间间隔进行调整,可以提高语句端点检测的精度。

本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号