基于五门限的声音端点检测方法及其应用与流程

文档序号:14348799阅读:229来源:国知局
基于五门限的声音端点检测方法及其应用与流程

本发明涉及声音识别领域,尤其是基于五门限的声音端点检测方法及其应用。



背景技术:

端点检测,就是从一段给定的语音信号中找出语音的起始点和结束点。在语音识别系统中,正确、有效的进行端点检测不仅可以减少计算量和缩短处理时间,而且能排除无声段的噪声干扰、提高语音识别的正确率。研究表明,即使是在安静的环境下,语音识别系统一半以上的错误可能主要来源于端点检测。除此之外,在语音合成、编码等系统中,高效的端点检测也直接影响甚至决定着系统的主要性能。因此,端点检测的效率、质量在语音处理系统中显得至关重要,广泛开展端点检测实现手段方面的研究,有一定的现实意义。

端点检测的常用方法有:能量阈值、基音检测、频谱分析、倒谱分析及lpc(linearpredictioncoeffi-cients)预测残差等。其中基于能量和过零率的双门限判决法最为常用。

普通双门限检测法指通过短时能量和短时过零率两方面来对音乐的起点进行检测,通过预先设定合理的短时能量门限和过零率门限进行判别,用短时能量来判别音乐的响度特征,用短时过零率来判断音乐的频率特征。

其在开始进行端点检测之前,首先为短时能量和过零率分别确定两个门限,一个是比较低的门限,其数值比较小,对信号的变化比较敏感,很容易就会被超过;另一个是比较高的门限,其数值比较大,信号必须达到一定的强度,该门限才可能被超过。低门限被超过未必就是语音的开始有可能是时间很短的噪声引起的。高门限被超过则可以基本确信是由于语音信号引起的。

整个语音信号的端点检测通常可以分成四段静音、过渡段、语音段、结束。在静音段,如果能量或过零率超越了低门限就开始标记起始点,进入过渡段;在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要两个参数的数值回落到低门限以下,就将当前状态恢复到静音状态;而如果在过渡段中两个参数中的任一个超过了高门限,就可以确信进入语音段了,当前状态处于语音段时,如果两个参数的数值降低到低门限以下,而且总的计时长度小于最短时间门限,则认为这是一段噪音,继续扫描以后的语音数据,否则就标记好结束端点。

这种方法通过上述两个门限进行综合判定,从而减小了对一些能量大的噪音的误判,但是只从以上两点来对音乐起点进行判断,其端点识别的精确度的提升是有限的,还有改进的余地。



技术实现要素:

本发明的目的就是为了解决现有技术中存在的上述问题,通过五门限来进行声音信号中有效音段起点精确识别的端点检测方法及其应用。

本发明的目的通过以下技术方案来实现:

基于五门限的声音端点检测方法,包括如下步骤:

s1,接收分帧预处理后的声音信号;

s2,判断一帧信号的平均帧能量差与平均帧能量差低门限、平均帧能量差高门限的大小以及平均帧过零率与平均帧过零率低门限的大小;

s3,当判断第一帧信号的平均帧能量差>平均帧能量差高门限,则该帧信号进入有效音段,音乐长度加1,执行s4步骤;

当判断第一帧信号的平均帧能量差<平均帧能量差低门限和/或平均帧过零率<平均帧过零率低门限,则该帧信号处于静音段,执行s7步骤;

当判断第一帧信号满足平均帧能量差低门限≤平均帧能量差≤平均帧能量差高门限,且平均帧过零率≥平均帧过零率低门限,则该帧信号处于过渡段,执行s8步骤;

s4,判断下一帧信号的平均帧能量差和平均帧过零率小于零是否成立;;若不成立,该帧信号还处于有效音段,音乐长度加1,执行s4步骤;若成立,执行s5步骤;

s5,判断该帧信号前的音乐长度是否大于最小音乐长度,若小于,则前面检测出的有效音段是噪音,音乐长度清零,按照s2步骤继续判断下一帧信号的状态;若大于等于,则满足跳变条件,执行s6步骤;

s6,判断下一帧信号的平均帧能量差≥平均帧能量差低门限是否成立;若否,该帧信号处于静音段,执行s7步骤,若是,该帧信号处于过渡段,执行s8步骤;

s7,依照s2步骤判断下一帧信号的状态,并根据s3步骤的判断原则确定该帧的状态;

s8,依照s2步骤判断下一帧信号的状态,当该帧信号不满足平均帧能量差低门限≤平均帧能量差≤平均帧能量差高门限,且平均帧过零率≥平均帧过零率低门限,该帧信号维持在静音段,执行s7步骤;当该帧信号满足平均帧能量差低门限≤平均帧能量差≤平均帧能量差高门限,且平均帧过零率≥平均帧过零率低门限时,执行s9步骤;

s9,判断该帧信号与前一帧信号的平均帧能量差之和大于平均帧能量差步长且该帧信号与前一帧信号的平均帧过零率的绝对值之和大于平均帧过零率步长是否成立;若不成立,该帧信号维持在过渡段,执行s8步骤;若成立,该帧信号进入有效音段,音乐长度加1,执行s4步骤。

优选的,在s1步骤中,按照帧长441,帧移441对声音信号进行分帧。

优选的,在s2步骤中,一帧信号的平均帧能量差经过归一化处理。

优选的,在s2步骤中,所述平均帧能量差低门限在0.030-0.055之间,所述平均帧能量差高门限在0.040-0.085之间,所述平均帧过零率低门限在0-0.005之间。

优选的,在s3步骤中,当从一帧信号开始进入有效音段,记录该帧信号的帧数f,并根据如下公式,确定该帧信号对应的有效音段的起始时间

t=(f*ins+framelen-ins)/采样频率

其中,t为有效音段的起始时间,f为进入每个有效音段的起始帧信号的帧数,framelen为帧长,ins为帧移。

优选的,在s9步骤中,所述平均帧能量差步长在0.070-0.100之间,所述平均帧过零率步长在0.300-2.000之间。

基于五门限的声音端点检测方法,其至少用于将包含乐器演音乐的声音信号切分成一组单音符的音乐段。

本发明技术方案的优点主要体现在:

本发明设计精巧,过程简单,在短时平均能量的基础引入短时平均能量差来作为判别的条件,同时通过增加了平均帧能量差步长、平均帧过零率步长两个用于在过渡段之后判断是否进入有效音段的条件,提高了对进入有效音段的要求,有利于提高检测的精度,并且通过对各门限参数值的设定,从而有利于进一步提高端点检测的准确性,另外,通过对有效音段结束后跳变到的状态进行判断,也有利于保证后续有效音段检测的精确性,

本发明的方法能够适用于各种声音信号的精确端点检测,适用范围广,易于推广应用。

通过对门限的设置,避免了噪音影响和漏检情况的发生,有效的保证了端点识别的准确性。

在对包含音乐的声音信号进行端点检测过程中,通过对进入音乐段的帧数的记录,从而能够有效的将包含音乐的声音信号切分成单个音符的片段,并计算出每个音符的时间,为后续的分析应用奠定了数据基础。

附图说明

图1是本发明的过程示意图;

图2是本发明在第一条件下检测《摘棉花的老人》的结果图;

图3是本发明在第二条件下检测《摘棉花的老人》的结果图;

图4是本发明在第三条件下检测《摘棉花的老人》的结果图。

具体实施方式

本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。

本发明揭示了基于五门限的声音端点检测方法,其至少应用于包含乐器演音乐的声音信号的端点检测,并且本实施例中以包含乐器演音乐的声音信号的检测过程为例进行说明,如附图1所示,包括如下步骤:

s1,接收分帧预处理后的声音信号;在实际分帧时,优选采样频率,即一秒中采样点的数量为44100,帧长(framelen)为441,帧移(inc)为441,这是由于发明人研究发现,相对其他分帧条件,上述参数设置具有更高的检测精度;对于一段包含乐器演奏音乐的声音信号进行分帧后,分帧后的总帧数fn,音乐总采样点数l,每一帧音乐包含的采样点数、帧长framelen、帧移ins满足如下公式:fn=(l-framelen+ins)/ins,其中音乐总采样点数l等于声音信号的总时长乘以采样频率。

在接收到上述分帧后的声音信号进行端点检测时,需要从第一帧信号开始判断每一帧信号对应的阶段,即判断一帧信号是处于静音段、过渡段或是有效音段,本实施例中有效音为音乐段,在其他实施例中,有效音段也可以根据不同的应用场合确定为语音段、动物声音段、物体声响段等任何需要识别出的声音部分,并且,对于一段声音而言,在未检测前,均默认为处于静音段。

s2,具体判断时,需要首先判断一帧信号的平均帧能量差ampdif与平均帧能量差低门限ampdifmin、平均帧能量差高门限ampdifmax的大小以及平均帧过零率zcrdif与平均帧过零率低门限zcrdifmin的大小。

其中,一帧信号的平均帧能量的计算公式如下:

因为一帧信号的平均帧能量amp为正直,所以平均帧能量的定义不受信号正负的影响,能非常直观地对信号振幅的变化进行刻画;而本文在平均帧能量amp的基础上进一步设定参数平均帧能量差ampdif,其表示从声音信号的第一帧开始,每帧信号与前一帧信号的平均帧能量的差值,这样不仅将每帧信号的能量考虑在内,同时引入能量差作为判别条件以保证检测精度。

为了将平均帧能量差ampdif控制在一个可以预见的范围,在实际处理时,对平均帧能量差ampdif进行了归一化处理,即ampdif=ampdif/an,其中an表示的是平均帧能量差的最小值的绝对值与平均帧能量差的最大值之和的二分之一。

而对于平均帧过零率来说,它刻画的是一帧信号中的采样点由正变负或由负变正的次数,而平均帧过零率即对音乐信号分帧后,每帧内的各采样点经过零点的次数,平均帧过零率可以反应音乐信号的频率信息,其定义为:

signs=(tmp1·tmp2<0)

diffs=(|tmp1-tmp2|>0.02)

其中,zcr表示过零率;signs表示符号数组,用于确定相邻两个采样点符号是否相同;diffs用于度量相邻两个采样点之间距离,如果大于门限,则为1,否则为0,之所以取diffs为大于0.02是要求不仅tmp1与tmp2要异号,而且不能为噪声,噪声能量显然是没有语音大的,所以将变化小于0.02的视为噪声。

并且在s2的判断步骤之前,发明人通过大量实验研究和数据比对,预先设定了相应的门限值,优选所述平均帧能量差低门限ampdifmin在0.030-0.055之间,所述平均帧能量差高门限ampdifmax在0.040-0.085之间,所述平均帧过零率低门限zcrdifmin在0-0.005之间,进一步优选,所述平均帧能量差低门限ampdifmin在0.04±0.005的范围内,所述平均帧能量差高门限ampdifmax在0.06±0.005的范围内,所述平均帧过零率低门限zcrdifmin为0。

s3,当判断第一帧信号的平均帧能量差ampdif>平均帧能量差高门限ampdifmax,则该帧信号进入有效音段,音乐长度(count)加1,在进入有效音段后,需要继续判断下一帧信号是否仍维持在有效音段,具体执行s4步骤。

当判断第一帧信号的平均帧能量差ampdif<平均帧能量差低门限ampdifmin和/或平均帧过零率zcrdif<平均帧过零率低门限zcrdifmin,则认为该帧信号处于静音段,且在静音段时,音乐长度始终为0,需要继续判断下一帧信号是处于什么阶段,具体执行s7步骤。

当判断第一帧信号满足平均帧能量差低门限ampdifmin≤平均帧能量差ampdif≤平均帧能量差高门限ampdifmax,且平均帧过零率zcrdif≥平均帧过零率低门限zcrdifmin,则该帧信号处于过渡段,且在过渡段时,音乐长度始终为0,进入过渡段后,还需要判断下一帧信号是维持在过渡段还是跳变到静音段或有效音段,具体执行s8步骤。

s4,在进入有效音段后,在判断下一帧信号是否维持在有效音段时,需要判断下一帧信号的平均帧能量差和平均帧过零率小于零是否成立;若不成立,则说明该帧信号还处于有效音段,音乐长度加1,并再次执行s4步骤;若上述判断成立,表明前面检测出的有效音段结束,在有效音段结束时,还要对有效音段的时长进行判断,因为只有到达一定长度的音乐信号才可被视为是真正的有效音段,以将前面判定为有效音段但实际是噪音的“漏网之鱼”剔除,避免由噪音引发的错误判断,具体执行s5步骤。

s5,判断该帧信号前的音乐长度是否大于最小音乐长度,若小于,则表明前面检测出的有效音段的长度还不够,认定前面检测出的有效音段是噪音,同时将音乐长度清零,继续检测后面的信号,即按照s2步骤继续判断下一帧信号的状态;若大于等于,则表明前面检测出的有效音段的长度满足要求,且前面的有效音段结束,需要跳出有效音段,此时满足跳变条件,即满足从有效音段跳变到静音段或过渡段的条件,此处需要说明的是,在进入有效音段后,需要通过stayflag来标示是否要跳变至静音段或过渡段,当音乐第一次循环至有效音段时,stayflag为1,即不需跳变,并且在静音段和过渡段时,stayflag同样保持为1,而当满足s5步骤中的跳变条件时,将会给stayflag赋值为0,并执行s6步骤。

之所以要进行s6步骤,是由于静音段和过渡段标志着音乐等级的高低,当从过渡段到达有效音段时,一帧信号只需满足平均帧能量差ampdif≥ampdifmin、zcrdif≥zcrdifmin、该帧信号与前一帧信号的平均帧能量差之和大于平均帧能量差步长ampdifgap且该帧信号与前一帧信号的平均帧过零率的绝对值之和大于平均帧过零率步长zcrdifgap,就能进入有效音段,此条件虽然数目较多,但是相对而言较为宽松。

但是当从静音段到达有效音段时,必须满足一帧信号的ampdif≥ampdifmax,即大于平均帧能量差高门限,虽然条件数目有所减少,但高门限不易满足,所以条件较为严格,因此当不满足有效音段需要跳出有效音段时,需要确定下一段应处的位置,并且在从前一音乐段跳出后,下一帧信号可能直接跳变到下一音乐段,但是程序需要一个判读过程,该判读过程需要2-3帧的数据,因此在此种情形下引入过渡段,以保证检测精度更为精准。

s6,判断下一帧信号的平均帧能量差≥平均帧能量差低门限是否成立;若否,该帧信号处于静音段,执行s7步骤,若是,该帧信号处于过渡段,执行s8步骤。

s7,依照s2步骤判断下一帧信号的状态,并根据s3步骤的判断原则确定该帧的状态。

s8,依照s2步骤判断下一帧信号的状态,当该帧信号不满足平均帧能量差低门限≤平均帧能量差≤平均帧能量差高门限,且平均帧过零率≥平均帧过零率低门限,该帧信号维持在静音段,执行s7步骤。

当该帧信号满足平均帧能量差低门限≤平均帧能量差≤平均帧能量差高门限,且平均帧过零率≥平均帧过零率低门限时,执行s9步骤。

s9,判断该帧信号与前一帧信号的平均帧能量差之和大于平均帧能量差步长ampdifgap且该帧信号与前一帧信号的平均帧过零率的绝对值之和大于平均帧过零率步长zcrdifgap是否成立,此处所述平均帧能量差步长ampdifgap为前后两帧信号的能量差的下限,优选ampdifgap在0.070-0.100之间,所述平均帧过零率步长zcrdifgap为前后两帧信号的过零率差的下限,优选zcrdifgap在0.300-2.000之间,进一步优选ampdifgap在0.08±0.005的范围内;zcrdifgap在1±0.05的范围内;若s9判断结果为不成立,该帧信号维持在过渡段,执行s8步骤;若成立,该帧信号进入有效音段,音乐长度加1,执行s4步骤。

即在过渡阶段,不仅对单个的平均帧能量差ampdif进行检测,而是对相邻的两个帧的平均帧能量差ampdif进行考察,防止因噪声引起的某一个帧的平均帧能量差突然变得很大的引起的误判,平均帧过零率步长zcrdifgap的设定也是相同的道理。

在端点检测过程中,每当声音信号从静音段或过渡段跳变到有效音段时,将记录下此刻所对应的帧数f,但当声音信号在有效音段循环时,即下一帧信号维持在有效音段时,并不会记录对应帧数,直到下一次从静音段或过渡段跳变到有效音段时,再次记录对应的帧数,因此在本发明中实际上只是对一段包含音乐的声音中不同音符的起点进行了记录,并没有记录音符结束点,下一个有效音段的起点视为上一个有效音段的结束点,而每一个有效音段即对应一个音符片段,从而实现将一段音乐切分成多个单独音符的片段。

并且,根据上文公式:fn=(l-framelen+ins)/ins,可以计算出所记录的帧数对应的采样点数lf=f*ins+framelen-ins,根据所设定的采样频率,即可算出每个有效音段,即每个音符的起始时间t=lf/采样频率,从而可以为后续的评分应用奠定数据基础。

并且,上文中介绍的五门限所选的值是发明人经过大量的实验从而获得的,其每个值的准确性将直接影响最后判断音符所在阶段的结果,若低门限设置过高,则导致本应为音乐段或过渡段的帧被误判为静音段,若低门限设置过低,则导致将噪音误判为音乐。同理,对于高门限和步长的选取也是一样的,所设定值越高,本应为音乐段而被忽略的概率就越大,设定值越低,本应为噪声而被判定为音乐段的概率越大。

附图2显示了以ampdifmin=0.04、ampdifgap=0.08、ampdifmax=0.06、zcrdifmin=0、zcrdifgap=1为条件,对音乐《摘棉花的老人》进行端点检测的结果,其能够准确的识别出每个音符。

附图3显示了以ampdifmin=0.04、ampdifgap=0.08、ampdifmax=0.15、zcrdifmin=0、zcrdifgap=3,为条件,对音乐《摘棉花的老人》进行端点检测的结果,其出现了音符漏检的情况。

附图4显示了以ampdifmin=0.02、ampdifgap=0.20、ampdifmax=0.20、zcrdifmin=0、zcrdifgap=3,为条件,对音乐《摘棉花的老人》进行端点检测时,其出现了将噪音认为是处于音乐段的情况。

本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。

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