CN104810018A - 基于动态累积量估计的语音信号端点检测方法 - Google Patents
基于动态累积量估计的语音信号端点检测方法 Download PDFInfo
- Publication number
- CN104810018A CN104810018A CN201510222045.8A CN201510222045A CN104810018A CN 104810018 A CN104810018 A CN 104810018A CN 201510222045 A CN201510222045 A CN 201510222045A CN 104810018 A CN104810018 A CN 104810018A
- Authority
- CN
- China
- Prior art keywords
- sliding window
- kurtosis
- sample
- point
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 27
- 125000006850 spacer group Chemical group 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 241001269238 Data Species 0.000 claims description 7
- 210000000352 storage cell Anatomy 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000008929 regeneration Effects 0.000 claims description 2
- 238000011069 regeneration method Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000005259 measurement Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
Abstract
本发明公开了一种基于动态累积量估计的语音端点检测方法,包括了基于滑动窗的高阶累积量递推计算和基于滑动窗峭度的端点检测。基于滑动窗的高阶累积量递推计算是指对原始样本数据加矩形窗,对窗内数据进行累积量估计,每滑动一个样本点对窗内数据进行更新,实现累积量的动态估计。基于滑动窗峭度的端点检测是结合高阶累积量递推计算方法计算滑动窗峭度和能量特征进行语音信号的端点检测。本发明相比现有技术具有以下优点:本发明中的基于动态累积量估计的语音信号端点检测方法是基于滑动窗峭度、能量双门限的端点检测,参数滑动窗峭度对语音段起始点具有较强敏感性且对噪声具有更好的抗干扰能力,在噪声环境下具有较好的鲁棒性。
Description
技术领域
本发明涉及数据统计分析和信号处理领域,尤其涉及一种基于动态累积量估计的语音信号端点检测方法。
背景技术
随着人-机交互技术的日益发展,语音识别已经成为当前人工智能与模式识别领域研究的重点。语音是人类最重要和最方便的信息传递方式,也是实现人-机交互的最直接途径之一。让机器能够准确地识别出语音命令并执行相应的操作,具有重大的实际意义,相关研究在医学、军事和工业等诸多领域有着广阔的应用前景。作为语音识别的前端处理,语音端点检测的目标是为了区分语音信号的有声段和无声段。高效准确的端点检测能够大幅减轻语音信号识别***的负荷,降低***响应时间,增强***鲁棒性。四阶累积量即峭度常被用来度量信号的非高斯性。在语音信号处理中,通常假设噪声近似满足高斯分布,其高阶累积量相对较小(理想高斯分布的高阶累积量为零)。因此,基于高阶累积量的语音信号处理方法往往具有更好的抗干扰性能。但是由于峭度等高阶累积量的计算量较大,且数值计算的稳定性也较差,因此在实际应用中受到了一定的限制。
经典累积量估计算法是批处理算法,运算量和数据存储量都很大,不适合动态数据的在线处理,并且算法对观察数据中的“野值(outlier)”也比较敏感。为了解决上述问题,累积量的在线估计算法被提出,有效改善了其动态估计性能。不过现有的在线算法是基于全部历史数据而建立的,而在实际应用中,近期数据段数据的统计特性往往更具参考价值。并且由于数据的非平稳性存在,早期的历史数据与近期的数据之间一般不存在大的相关性。因此采用全部历史数据进行统计分析不仅不能提高估计精度,相反可能还会掩盖真实的数据统计特性。另外,在真实环境下的数据采集过程中,随机出现的大幅度野值干扰会给统计分析结果造成很大误差。由于传统的在线算法依赖全部信号数据,因此野值引起的误差具有很强的传递性。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种基于动态累积量估计的语音信号端点检测方法。
本发明是通过以下技术方案实现的:一种基于动态累积量估计的语音信号端点检测方法,包括如下步骤:
(1)、基于滑动窗的高阶累积量递推估算:对原始样本数据进行加窗操作,对窗内数据进行累积量的估计,并且每次滑动一个样本点对窗内数据进行更新,实现累积量的动态估计;
(2)、基于滑动窗峭度的端点检测:结合步骤(1)的基于滑动窗的高阶累积量递推估算,估算出滑动窗峭度和能量特征,基于滑动窗峭度和能量特征进行语音信号的端点检测。
作为上述方案的进一步优化,所述步骤(1)的基于滑动窗的高阶累积量递推估算包括如下步骤:
(11)、滑动窗化:对原始样本数据进行加窗,实现对窗内所有样本点的高阶累积量递推估计;
(12)、递推估计:在滑动窗内通过对步骤(11)推导出的高阶累积量递推计算公式,实现对滑动窗内所有样本点数据高阶累积量的递推估计。
作为上述方案的进一步优化,步骤(11)滑动窗化是通过矩形窗对原始样本数据进行截取,每滑动一个样本点对矩形窗内数据进行更新,实现对窗内所有样本点的高阶累积量递推估计。
作为上述方案的进一步优化,步骤(12)的高阶累积量递推计算公式为如下:
数据集xa和xb,对应样本数分别为na,nb;结合数据集xa和xb的新数据集x={xa,xb},对应样本长度为n=na+nb,的均值为μ,kth平方和为Sk;
数据集x={xa,xb}基于滑动窗的2-4阶累积量递推计算公式表示如下:
其中,取滑动窗的窗长为L,n时刻滑动窗内L个数据的均值为μ(w)(n),kth平方和为μ(w)(n)和取n-L=nL,
其中,μ(n)和Sk(n)分别为n时刻前所有历史数据的方差和kth平方和,μ(nL)和Sk(nL)分别为nL时刻前所有历史数据的方差和kth平方和。
作为上述方案的进一步优化,高阶累积量递推计算公式的递推估计方法如下:
(51)开辟动态存储单元
对数据集x={xa,xb}的均值为μ,kth平方和为Sk,计算样本点x(1)~x(L)所对应的均值μ,kth平方和Sk,开辟4L大小的存储单元存放该组值;
其中,
Len表示样本长度,xi表示样本中的样本点,μx表示样本x的均值。
(52)初始值计算
利用当前时刻n的样本值x(n)和存储单元中已保存的n-1时刻均值和kth平方和μ(n-1)、Sk(n-1),计算初始值当前时刻n的均值μ(n),和kth平方和Sk(n):
S2(n)=S2(n-1)+[x(n)-μ(n-1)][x(n)-μ(n)] (7b)
根据(7a)-(7d)式的累积量在线估计方法,求取当前时刻n的均值和kth平方和μ(n)、Sk(n);
(53)滑动窗动态估计
(531)滑动窗均值和kth平方和μ(w)(n)、的计算
利用在线估计中得到的当前时刻n的均值和kth平方和μ(n)、Sk(n)以及存储单元中已保存的nL=n-L时刻的均值和kth平方和μ(nL)、Sk(nL),根据(4a)-(4d)式的基于滑动窗累积量动态估计方法,求取当前时刻n的滑动窗均值和kth平方和μ(w)(n)、
(532)滑动窗2-4阶累积量的计算
利用步骤(5.3.1)滑动窗估计中得到的当前时刻n的滑动窗均值和kth平方和μ(w)(n)、根据(6a)-(6c)式的滑动窗累积量递推计算公式,求取当前时刻n的滑动窗2-4阶累积量(k=2~4);
(54)动态更新存储单元
在计算出当前时刻n的滑动窗均值和kth平方和μ(w)(n)、之后,在滑动窗移动之前,用步骤(52)在线估计中所得到的μ(n)、Sk(n)值更新动态存储单元里的内容,使得滑动窗滑动一个样本点后,动态存储单元中保存的仍是当前时刻前L个均值和kth平方和值。
作为上述方案的进一步优化,所述步骤(2)的基于滑动窗峭度的端点检测的控制算法如下:
(201)用滑动窗递推算法估计语音信号的峭度值Kurtosis(n),并记录下中间值S2(n);其中n=1:length(x),x是待处理的语音信号,length(x)是待处理语音信号的长度;
(202)根据步骤(201)估计得到的峭度值Kurtosis(n)和中间值S2(n)设置峭度门限kurt和能量门限amp,进入步骤(203);
(203)(203)赋值初始化参数,初始化设定语音段所允许的最小样本点数和空白段所允许的最大样本点数,设定语音段样本点数Speechcount=0;空白段样本点数Nonspeechcount=0;后进入步骤(204)
(204)遍历峭度值Kurtosis(n),判断峭度值Kurtosis(n)是否大于峭度门限kurt;
(205)将峭度值Kurtosis(n)大于峭度门限kurt的峭度值对应的点标记为起始点Start;并从Start向后搜索,进入步骤(207);
(206)若峭度值Kurtosis(n)不大于峭度门限kurt的峭度值,对峭度值Kurtosis(n)进行赋值循环n=n+1,并返回步骤(205);
(207)将后续点对应的中间值S2(n)值与能量门限amp作比较;
(208)若后续点对应的中间值S2(n)值大于能量门限amp,表示该点在语音段,语音段样本点Speechcount加1,返回步骤(207);
(209)若后续点对应的中间值S2(n)值不大于能量门限amp,表示该点在空白段,空白段样本点数Nonspeechcount加1,进入步骤(210);
(210)判断当前的Nonspeechcount是否大于空白段所允许的最大样本点数Maxnonspeechcount;
(211)若当前的Nonspeechcount大于空白段所允许的最大样本点数Maxnonspeechcount,判断当前的语音段样本点Speechcount是否大于语音段所允许的最小样本点数Minspeechcount,进入步骤(213);
(212)若当前的语音段样本点Speechcount不大于语音段所允许的最小样本点数Minspeechcount,表示该点仍在语音段,并对将后续点对应的中间值S2(n),进行赋值循环n=n+1,并返回步骤(207);
(213)判断当前的语音段样本点Speechcount是否大于语音段所允许的最小样本点Minspeechcount;
(214)若当前的语音段样本点Speechcount不大于语音段所允许的最小样本点Minspeechcount,返回步骤(203),重置语音段样本点数Speechcount和空白段样本点数Nonspeechcount为0,重新寻找起始点;
(215)若当前的语音段样本点Speechcount大于语音段所允许的最小样本点Minspeechcount;表示该点保持在语音段,其中语音段区间[Start,Start+speechcount+nonspeechcount-1]。
本发明相比现有技术具有以下优点:本发明中的基于动态累积量估计的语音信号端点检测方法是基于滑动窗峭度和能量双门限的端点检测算法,参数滑动窗峭度对语音段起始点具有较强敏感性且对噪声具有更好的抗干扰能力,在语音信号处理中,通常假设噪声近似满足高斯分布,其高阶累积量相对较小,理想高斯分布的高阶累积量为零,基于高阶累积量的语音信号处理方法往往具有更好的抗干扰性能,本发明在噪声环境下具有更好的鲁棒性。
本发明中的基于动态累积量估计的语音信号端点检测方法,其中给出的基于滑动窗累积量递推计算方法计算出的累积量值与传统直接计算方法计算出的值结果相差很小,对语音信号的测试结果表明,两种算法计算出的2-4阶累积量的误差分别10-15、10-10和10-7,可以直接忽略不计。
在实际应用中,由于数据的非平稳性存在,早期的历史数据与近期的数据一般不存在大的相关性,近期数据段的统计特性往往更具有参考价值,而且在真实环境下的数据采集过程中,随机出现的大幅度野值干扰会给统计分析结果造成很大误差。本发明中的基于动态累积量估计的语音信号端点检测方法,其中给出的基于滑动窗累积量递推计算方法是基于滑动窗内的样本数据,有效避免上述所存在的问题,在真实环境下具有更强的应用价值。本发明还可应用于生物电信号(脑电信号EEG/眼电信号EOG/心电信号ECG)和语音信号的动态分析中。
附图说明
图1为本发明的滑动窗的结构示意图。
图2为本发明的滑动窗累积量估计的递推算法实现框图。
图3为利用本发明的滑动窗递推计算与直接计算的运算时间对比图。
图4-A—图4-D为本发明优选实施针对语音信号递推计算和直接计算得到的方差滑动窗估计的动态波形及对应的误差曲线示意图。
图5-A—图5-D为本发明优选实施针对语音信号递推计算和直接计算得到的偏斜度滑动窗估计得到的动态波形及对应的误差曲线示意图。
图6-A—图6-D为本发明优选实施针对语音信号递推计算和直接计算得到的峭度滑动窗估计动态波形及对应的误差曲线示意图。
图7为基于滑动窗峭度的端点检测的控制算法流程图。
图8-A—图8-C为本发明的优选实施例的一段实测语音信号波形图及相应峭度和能量变化示意图。
图9-A—图9-F-1在不同噪声环境下(SNR=5dB)的孤立词语音及其对应峭度的变化示意图。
图10-A—图10-F-1在不同噪声环境下(SNR=5dB)的连续语音及其对应峭度的变化示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
参见图1,为本发明的滑动窗的结构示意图。本实施例中,滑动窗是通过矩形窗对原始样本数据进行截取,以便在任意时刻获得同等长度的待处理数据,累积量的估计是基于滑动窗内L个样本数据的,每次滑动一个样本点对窗内数据进行更新,再重新进行累积量的估计,从而实现累积量的动态估计。
任意两数据集xa和xb,对应样本数分别为na,nb,数据集xa和xb结合后的新的数据集x={xa,xb}的样本长度为n=na+nb,其均值μ和kth平方和Sk为:
其中,μ和Sk分别表示样本x的均值和kth平方和,其中上标(a),(b)分别表示统计量是基于数据样本集xa和xb的。μ和Sk的定义分别如下所示:
其中Len表示样本长度,xi表示样本中的样本点,μx表示样本x的均值。其中,μ表示方差,为表述方便,下文中Sk统称为kth平方和。
根据滑动窗化思想,对原始样本数据加窗,累积量的估计是基于滑动窗内样本数据的,参照(1a)-(1d)式,滑动窗估计可看成是对xb样本集数据的累积量估计。将(1a)-(1d)改写成如下形式:
令滑动窗窗长为L,n时刻滑动窗内L个数据的均值和kth平方和分别为μ(w)(n)和为了表述方便,令n-L=nL,则滑动窗内数据相当于数据样本集xb,滑动窗前所有历史数据相当于数据样本集xa,则(3a)(3d)-式改写如下:
μ(n)和Sk(n)是n时刻前所有历史数据的方差和kth平方和,μ(nL)和Sk(nL)是nL时刻前所有历史数据的方差和kth平方和。
由于μ和Sk与2-4阶累积量具有如下关系:
其中σ2、C3、C4分别表示样本的方差、偏斜度和峭度。
则根据(5a)-(5c)式给出的2-4阶累积量与Sk的计算关系,可以得到滑动窗累积量递推计算公式如下:
其中分别表示基于滑动窗的2-4阶累积量。
参见图2,为本发明的滑动窗累积量估计的递推算法实现框图,本实施例中滑动窗累积量估计的递推算法实施过程,包括如下步骤:
步骤1、利用(2a)-(2b)式直接计算方法计算第一个样本点到第L个样本点,即起始位置窗内样本数据,所对应的方差μ和kth平方和Sk,并保存。
步骤2、初始值计算:滑动窗滑动一个样本点,
利用当前时刻n的样本值x(n)和存储单元中已保存的n-1时刻均值和kth平方和μ(n-1)、Sk(n-1),计算初始值当前时刻n的均值μ(n),和kth平方和Sk(n):
S2(n)=S2(n-1)+[x(n)-μ(n-1)][x(n)-μ(n)] (7b)
根据(7a)-(7d)式的累积量在线估计方法,求取当前时刻n的均值和kth平方和μ(n)、Sk(n);
步骤3、滑动窗动态估计:根据(4a)-(4d)式滑动窗累积量递推算法,利用步骤2中求解出的前时刻n的方差μ(n)和kth平方和Sk(n)和已保存的nL=n-L时刻的方差μ(nL)和kth平方和Sk(nL)求解当前时刻n的滑动窗方差μ(w)(n)和滑动窗kth平方和并且保存μ(n)和kth平方和Sk(n)这组值,更新存储单元中的数据,以便滑动窗滑动一个样本点之后,动态存储单元中保存的仍是当前时刻前L个均值和kth平方和值。再根据(6a)-(6c)式求解2~4阶累积量(k=2~4)。
步骤4、更新存储单元的内容:利用在线估计模块中计算出的当前时刻n的方差μ(n)和kth平方和Sk(n)更新存储单元的内容,以便滑动窗滑动一个样本点后,存储单元中存放的仍是当前时刻前L个样本点的均值和kth平方和。
本发明中所涉及的滑动窗累积量递推计算方法具有较高的运算效率。本发明采用递推算法动态地求解累积量,算法运算量大幅度降低,运算效率明显优于传统直接计算。表1给出的是基于(5a)-(5c)式递推计算和(2a)-(2b)式直接计算进行方差μ(w)(n)和估计时所需的“加法”和“乘法”运算次数。
表1 计算复杂度比较
从表1中可以看到,直接计算的运算量与L成正比,而递推计算的运算量与滑动窗长度无关。在对实测数据进行统计分析时,L值一般较大,因此在计算速度上,递推算法比直接计算有明显的优势。
参见图3,为利用本发明的滑动窗递推计算与直接计算的运算时间对比图。从图中可以看出,在样本数据相同的情况下,递推计算的运算时间远小于直接计算。直接计算运算时间随着样本数据的增加上升幅度较大,在1到10的范围内,当样本数据点数为100000时,运算时间接近40秒,而递推算法的运算时间上升幅度在10-2到10-1范围内,而且远小于直接计算。
参见图4-A-图4-D,为本发明优选实施针对语音信号递推计算和直接计算得到的方差滑动窗估计的动态波形对应的误差曲线随着纵坐标amplitude(幅值)变化的波形示意图。其中,图4-A是一段实测语音信号的波形图,图4-B是递推计算得到的方差值的波形图,图4-C是直接计算得到的方差值的波形图,图4-D是两种计算方法的误差值的波形图。从图中可以看出两者的误差值是10-15,误差值可以忽略不计。
参见图5-A-图5-D,为本发明优选实施针对语音信号递推计算和直接计算得到的偏斜度滑动窗估计得到的动态波形及对应的误差曲线随着纵坐标amplitude(幅值)变化的波形示意图。其中,图5-A是一段实测语音信号的波形图,图5-B是递推计算得到的偏斜度值的波形图,图5-C是直接计算得到的偏斜度值的波形图,图5-D是两种计算方法的误差值的波形图。从图中可以看出两者的误差值是10-10,误差值可以忽略不计。
参见图6-A-图6-D,为本发明优选实施针对语音信号递推计算和直接计算得到的峭度滑动窗估计动态波形及对应的误差曲线随着纵坐标amplitude(幅值)变化的波形示意图。其中,图6-A是一段实测语音信号的波形图,图6-B是递推计算得到的峭度值的波形图,图6-C是直接计算得到的峭度值的波形图,图6-D是两种计算方法的误差值的波形图。从图中可以看出两者的误差值是10-7,误差值可以忽略不计。
参考图7,为本发明的优选实施例的基于滑动窗峭度的端点检测的控制算法流程图,从(4d)式可以看出,在滑动窗峭度递推计算过程中产生的中间值S2可被用作为滑动窗信号的能量特征,因此检测中所需能量特征参数无需额外计算。图中所示参数定义如下:Speechcount表示语音段样本点数;Nonspeechcount表示空白段样本点数;Minspeechcount表示语音段所允许的最小样本点数;Maxnonspeechcount表示空白段所允许的最大样本点数;Minspeechcount和Maxnonspeechcount分别设置为256和1024。针对某段特定的语音信号,我们根据经验设置峭度门限值,实验中利用公式threshold=max(Kurtosis)/10来计算其峭度门限kurt。
本发明的基于滑动窗峭度的端点检测的控制算法,包括如下步骤:
(201)用滑动窗递推算法估计语音信号的峭度值Kurtosis(n),并记录下中间值S2(n);
其中n=1:length(x),x是待处理的语音信号,length(x)是待处理语音信号的长度;
(202)根据步骤(201)估计得到的峭度值Kurtosis(n)和中间值S2(n)设置峭度门限kurt和能量门限amp,进入步骤(203);
(203)赋值初始化参数,后进入步骤(204)
语音段样本点数Speechcount=0;空白段样本点数Nonspeechcount=0;
语音段所允许的最小样本点数Minspeechcount和空白段所允许的最大样本点数Maxnonspeechcount分别设置为256和1024;
(204)遍历峭度值Kurtosis(n),判断峭度值Kurtosis(n)是否大于峭度门限kurt;
(205)将峭度值Kurtosis(n)大于峭度门限kurt的峭度值对应的点标记为起始点Start;并从Start向后搜索,进入步骤(27);
(206)若峭度值Kurtosis(n)不大于峭度门限kurt的峭度值,对峭度值Kurtosis(n)进行赋值循环n=n+1,并返回步骤(205);
(207)将后续点对应的中间值S2(n)值与能量门限amp作比较;
(208)若后续点对应的中间值S2(n)值大于能量门限amp,表示该点在语音段,语音段样本点Speechcount加1,返回步骤(207);
(209)若后续点对应的中间值S2(n)值不大于能量门限amp,表示该点在空白段,空白段样本点数Nonspeechcount加1,进入步骤(210);
(210)判断当前的Nonspeechcount是否大于空白段所允许的最大样本点数Maxnonspeechcount;
(211)若当前的Nonspeechcount大于空白段所允许的最大样本点数Maxnonspeechcount,判断当前的语音段样本点Speechcount是否大于语音段所允许的最小样本点数Minspeechcount,进入步骤(213);
(212)若当前的语音段样本点Speechcount不大于语音段所允许的最小样本点数Minspeechcount,表示该点仍在语音段,并对将后续点对应的中间值S2(n),进行赋值循环n=n+1,并返回步骤(207);
(213)判断当前的语音段样本点Speechcount是否大于语音段所允许的最小样本点Minspeechcount;
(214)若当前的语音段样本点Speechcount不大于语音段所允许的最小样本点Minspeechcount,返回步骤(203),重置语音段样本点数Speechcount和空白段样本点数Nonspeechcount为0,重新寻找起始点;
(215)若当前的语音段样本点Speechcount大于语音段所允许的最小样本点Minspeechcount;表示该点保持在语音段,其中语音段区间[Start,Start+speechcount+nonspeechcount-1]。
参见图8-A-图8-C,为本发明的优选实施例的一段实测语音信号波形图及相应峭度和能量变化示意图。图8-A为一段实测语音信号的原始语音信号的波形图,图8-B为实测语音对应的峭度值的波形图,显示峭度值在进入语音段时会发生较明显的变化,因此可以此作为检测语音段起始点的判断依据。图8-C为实测语音对应的能量变化示意图,图中能量波形则反映了语音和非语音段能量的总体变化。直观上两者的结合有利于改善语音段的检测精度。
参见图9-A—图9-F-1,为在不同噪声环境下(SNR=5dB)的孤立词语音及其对应峭度。本实例中一段孤立词语音及其在5dBwhite、pink、m109、f16、babble噪声下的信号波形及其对应的滑动窗峭度随着纵坐标amplitude(幅值)变化的波形图。图10-A为一段孤立词语音的原始语音信号的波形图,图10-A-1为一段孤立词语音的原始语音对应的峭度值的波形图。图10-B为一段孤立词语音加white噪声语音信号的波形图,图10-B为一段孤立词语音加5dBwhite噪声语音对应的峭度值的波形图。图10-C为一段孤立词语音加pink噪声语音信号的波形图,图10-C-1为一段孤立词语音加5dBpink噪声语音对应的峭度值的波形图。图10-D为一段孤立词语音加m109噪声语音信号的波形图,图10-D-1为一段孤立词语音加5dBm109噪声语音对应的峭度值的波形图。图10-E为一段孤立词语音加f16噪声语音信号的波形图,图10-E-1为一段孤立词语音加5dBf16噪声语音对应的峭度值的波形图。图10-F为一段孤立词语音加babble噪声语音信号的波形图,图10-F-1为一段孤立词语音加5dBbabble噪声语音对应的峭度值的波形图。从图中可以看出,对于混有不同噪声的孤立词语音信号,其滑动窗峭度与纯净语音信号的滑动窗峭度具有相似的波形,在进入语音段时峭度值会发生较明显的变化。
参见图10-A—图10-F-1,在不同噪声环境下(SNR=5dB)的连续语音及其对应峭度的变化示意图。本实例中一段连续语音及其在5dBwhite、pink、m109、f16、babble噪声下的信号波形及其对应的滑动窗峭度随着纵坐标amplitude(幅值)变化的波形图。图10-A为一段连续语音的原始语音信号的波形图,图10-A-1为一段连续语音的原始语音对应的峭度值的波形图。图10-B为一段连续语音加white噪声语音信号的波形图,图10-B为一段连续语音加5dBwhite噪声语音对应的峭度值的波形图。图10-C为一段连续语音加pink噪声语音信号的波形图,图10-C-1为一段连续语音加5dBpink噪声语音对应的峭度值的波形图。图10-D为一段连续语音加m109噪声语音信号的波形图,图10-D-1为一段连续语音加5dBm109噪声语音对应的峭度值的波形图。图10-E为一段连续语音加f16噪声语音信号的波形图,图10-E-1为一段连续语音加5dBf16噪声语音对应的峭度值的波形图。图10-F为一段连续语音加babble噪声语音信号的波形图,图10-F-1为一段连续语音加5dBbabble噪声语音对应的峭度值的波形图。从图中可以看出,对于混有不同噪声的连续语音信号,其滑动窗峭度与纯净语音信号的滑动窗峭度具有相似的波形,在进入语音段时峭度值会发生较明显的变化。
本发明中的基于动态累积量估计的语音信号端点检测方法是基于滑动窗峭度和能量双门限的端点检测算法,参数滑动窗峭度对语音段起始点具有较强敏感性且对噪声具有更好的抗干扰能力,在语音信号处理中,通常假设噪声近似满足高斯分布,其高阶累积量相对较小,理想高斯分布的高阶累积量为零,基于高阶累积量的语音信号处理方法往往具有更好的抗干扰性能,本发明在噪声环境下具有更好的鲁棒性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于动态累积量估计的语音信号端点检测方法,其特征在于,包括如下步骤:
(1)、基于滑动窗的高阶累积量递推估算:对原始样本数据进行加窗操作,对窗内数据进行累积量的估计,并且每次滑动一个样本点对窗内数据进行更新,实现累积量的动态估计;
(2)、基于滑动窗峭度的端点检测:结合步骤(1)的基于滑动窗的高阶累积量递推估算,估算出滑动窗峭度和能量特征,基于滑动窗峭度和能量特征进行语音信号的端点检测。
2.根据权利要求1所述的基于动态累积量估计的语音信号端点检测方法,其特征在于,所述步骤(1)的基于滑动窗的高阶累积量递推估算包括如下步骤:
(11)、滑动窗化:对原始样本数据进行加窗,实现对窗内所有样本点的高阶累积量递推估计;
(12)、递推估计:在滑动窗内通过对步骤(11)推导出的高阶累积量递推计算公式,实现对滑动窗内所有样本点数据高阶累积量的递推估计。
3.根据权利要求2所述的基于动态累积量估计的语音信号端点检测方法,其特征在于,步骤(11)滑动窗化是通过矩形窗对原始样本数据进行截取,每滑动一个样本点对矩形窗内数据进行更新,实现对窗内所有样本点的高阶累积量递推估计。
4.根据权利要求2所述的基于动态累积量估计的语音信号端点检测方法,其特征在于:步骤(12)的高阶累积量递推计算公式为如下:
数据集xa和xb,对应样本数分别为na,nb;结合数据集xa和xb的新数据集x={xa,xb},对应样本长度为n=na+nb,的均值为μ,kth平方和为Sk;
数据集x={xa,xb}基于滑动窗的2-4阶累积量递推计算公式表示如下:
其中,取滑动窗的窗长为L,n时刻滑动窗内L个数据的均值为μ(w)(n),kth平方和为μ(w)(n)和取n-L=nL,
其中,μ(n)和Sk(n)分别为n时刻前所有历史数据的方差和kth平方和,μ(nL)和Sk(nL)分别为nL时刻前所有历史数据的方差和kth平方和。
5.根据权利要求4所述的基于动态累积量估计的语音信号端点检测方法,其特征在于:高阶累积量递推计算公式的递推估计方法如下:
(51)开辟动态存储单元
对数据集x={xa,xb}的均值为μ,kth平方和为Sk,计算样本点x(1)~x(L)所对应的均值μ,kth平方和Sk,开辟4L大小的存储单元存放该组值;
其中,
Len表示样本长度,xi表示样本中的样本点,μx表示样本x的均值;
(52)初始值计算
利用当前时刻n的样本值x(n)和存储单元中已保存的n-1时刻均值和kth平方和μ(n-1)、Sk(n-1),计算初始值当前时刻n的均值μ(n),和kth平方和Sk(n):
S2(n)=S2(n-1)+[x(n)-μ(n-1)][x(n)-μ(n)] (7b)
根据(7a)-(7d)式的累积量在线估计方法,求取当前时刻n的均值和kth平方和μ(n)、Sk(n);
(53)滑动窗动态估计
(531)滑动窗均值和kth平方和μ(w)(n)、的计算
利用在线估计中得到的当前时刻n的均值和kth平方和μ(n)、Sk(n)以及存储单元中已保存的nL=n-L时刻的均值和kth平方和μ(nL)、Sk(nL),根据(4a)-(4d)式的基于滑动窗累积量动态估计方法,求取当前时刻n的滑动窗均值和kth平方和μ(w)(n)、
(532)滑动窗2-4阶累积量的计算
利用步骤(5.3.1)滑动窗估计中得到的当前时刻n的滑动窗均值和kth平方和μ(w)(n)、根据(6a)-(6c)式的滑动窗累积量递推计算公式,求取当前时刻n的滑动窗2-4阶累积量
(54)动态更新存储单元
在计算出当前时刻n的滑动窗均值和kth平方和μ(w)(n)、之后,在滑动窗移动之前,用步骤(52)在线估计中所得到的μ(n)、Sk(n)值更新动态存储单元里的内容,使得滑动窗滑动一个样本点后,动态存储单元中保存的仍是当前时刻前L个均值和kth平方和值。
6.根据权利要求4或5所述的基于动态累积量估计的语音信号端点检测方法,其特征在于,所述步骤(2)的基于滑动窗峭度的端点检测的控制算法如下:
(201)用滑动窗递推算法估计语音信号的峭度值Kurtosis(n),并记录下中间值S2(n);其中n=1:length(x),x是待处理的语音信号,length(x)是待处理语音信号的长度;
(202)根据步骤(201)估计得到的峭度值Kurtosis(n)和中间值S2(n)设置峭度门限kurt和能量门限amp,进入步骤(203);
(203)赋值初始化参数,初始化设定语音段所允许的最小样本点数和空白段所允许的最大样本点数,设定语音段样本点数Speechcount=0,空白段样本点数Nonspeechcount=0,进入步骤(204);
(204)遍历峭度值Kurtosis(n),判断峭度值Kurtosis(n)是否大于峭度门限kurt;
(205)将峭度值Kurtosis(n)大于峭度门限kurt的峭度值,将对应的点标记为起始点Start;并从Start向后搜索,进入步骤(207);
(206)若峭度值Kurtosis(n)不大于峭度门限kurt的峭度值,对峭度值Kurtosis(n)进行赋值循环n=n+1,并返回步骤(205);
(207)将后续点对应的中间值S2(n)值与能量门限amp作比较;
(208)若后续点对应的中间值S2(n)值大于能量门限amp,表示该点在语音段,语音段样本点Speechcount加1,返回步骤(207);
(209)若后续点对应的中间值S2(n)值不大于能量门限amp,表示该点在空白段,空白段样本点数Nonspeechcount加1,进入步骤(210);
(210)判断当前的Nonspeechcount是否大于空白段所允许的最大样本点数Maxnonspeechcount;
(211)若当前的Nonspeechcount大于空白段所允许的最大样本点数Maxnonspeechcount,判断当前的语音段样本点Speechcount是否大于语音段所允许的最小样本点数Minspeechcount,进入步骤(213);
(212)若当前的语音段样本点Speechcount不大于语音段所允许的最小样本点数Minspeechcount,表示该点仍在语音段,并对将后续点对应的中间值S2(n),进行赋值循环n=n+1,并返回步骤(207);
(213)判断当前的语音段样本点Speechcount是否大于语音段所允许的最小样本点Minspeechcount;
(214)若当前的语音段样本点Speechcount不大于语音段所允许的最小样本点Minspeechcount,返回步骤(203),重置语音段样本点数Speechcount和空白段样本点数Nonspeechcount为0,重新寻找起始点;
(215)若当前的语音段样本点Speechcount大于语音段所允许的最小样本点Minspeechcount;表示该点保持在语音段,其中语音段区间[Start,Start+speechcount+nonspeechcount-1]。
7.根据权利要求6所述的基于动态累积量估计的语音信号端点检测方法,其特征在于:语音段所允许的最小样本点数Minspeechcount和空白段所允许的最大样本点数Maxnonspeechcount值分别为256和1024。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222045.8A CN104810018B (zh) | 2015-04-30 | 2015-04-30 | 基于动态累积量估计的语音信号端点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222045.8A CN104810018B (zh) | 2015-04-30 | 2015-04-30 | 基于动态累积量估计的语音信号端点检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104810018A true CN104810018A (zh) | 2015-07-29 |
CN104810018B CN104810018B (zh) | 2017-12-12 |
Family
ID=53694806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510222045.8A Expired - Fee Related CN104810018B (zh) | 2015-04-30 | 2015-04-30 | 基于动态累积量估计的语音信号端点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104810018B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681017A (zh) * | 2016-01-14 | 2016-06-15 | 西安电子科技大学 | 基于高阶累积量的定时同步环路状态检测方法 |
CN105825871A (zh) * | 2016-03-16 | 2016-08-03 | 大连理工大学 | 一种无前导静音段语音的端点检测方法 |
CN105869627A (zh) * | 2016-04-28 | 2016-08-17 | 成都之达科技有限公司 | 基于车联网的语音处理方法 |
CN110266429A (zh) * | 2019-04-18 | 2019-09-20 | 四川大学 | 一种基于高阶累积量的信号帧结构检测方法 |
CN112017480A (zh) * | 2020-08-20 | 2020-12-01 | 南京航空航天大学 | 一种航空器绿色巡航轨迹的动态记忆规划方法 |
CN115376548A (zh) * | 2022-07-06 | 2022-11-22 | 华南理工大学 | 一种音频信号有声段端点检测方法及*** |
CN117379066A (zh) * | 2023-10-27 | 2024-01-12 | 中国人民解放军总医院 | 单通道脑电信号中的眼电伪迹的检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779508A (zh) * | 2012-03-31 | 2012-11-14 | 安徽科大讯飞信息科技股份有限公司 | 语音库生成设备及其方法、语音合成***及其方法 |
CN103093758A (zh) * | 2011-11-04 | 2013-05-08 | 宏达国际电子股份有限公司 | 电子装置及其语音信号的接收方法 |
-
2015
- 2015-04-30 CN CN201510222045.8A patent/CN104810018B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093758A (zh) * | 2011-11-04 | 2013-05-08 | 宏达国际电子股份有限公司 | 电子装置及其语音信号的接收方法 |
CN102779508A (zh) * | 2012-03-31 | 2012-11-14 | 安徽科大讯飞信息科技股份有限公司 | 语音库生成设备及其方法、语音合成***及其方法 |
Non-Patent Citations (5)
Title |
---|
周建英,吴小培,张超,吕钊: ""基于滑动窗的混合高斯模型运动目标检测方法"", 《电子与信息学报》 * |
张德祥,吴小培,吕钊,郭晓静: ""基于经验模态分解和Teager峭度的语音端点检测_"", 《仪器仪表学报》 * |
张超: ""基于改进高斯混合建模和短时稳定度的运动目标检测算法"", 《电子与信息学报》 * |
朱明明,吴晓培,罗雅琴: ""基于子带能量的语音端点检测算法的研究"", 《工业控制计算机》 * |
陈振标: ""基于子带能量特征的最优化语音端点检测算法研究"", 《声学学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681017A (zh) * | 2016-01-14 | 2016-06-15 | 西安电子科技大学 | 基于高阶累积量的定时同步环路状态检测方法 |
CN105681017B (zh) * | 2016-01-14 | 2018-11-16 | 西安电子科技大学 | 基于高阶累积量的定时同步环路状态检测方法 |
CN105825871A (zh) * | 2016-03-16 | 2016-08-03 | 大连理工大学 | 一种无前导静音段语音的端点检测方法 |
CN105825871B (zh) * | 2016-03-16 | 2019-07-30 | 大连理工大学 | 一种无前导静音段语音的端点检测方法 |
CN105869627A (zh) * | 2016-04-28 | 2016-08-17 | 成都之达科技有限公司 | 基于车联网的语音处理方法 |
CN110266429A (zh) * | 2019-04-18 | 2019-09-20 | 四川大学 | 一种基于高阶累积量的信号帧结构检测方法 |
CN112017480A (zh) * | 2020-08-20 | 2020-12-01 | 南京航空航天大学 | 一种航空器绿色巡航轨迹的动态记忆规划方法 |
CN112017480B (zh) * | 2020-08-20 | 2021-07-13 | 南京航空航天大学 | 一种航空器绿色巡航轨迹的动态记忆规划方法 |
CN115376548A (zh) * | 2022-07-06 | 2022-11-22 | 华南理工大学 | 一种音频信号有声段端点检测方法及*** |
CN117379066A (zh) * | 2023-10-27 | 2024-01-12 | 中国人民解放军总医院 | 单通道脑电信号中的眼电伪迹的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104810018B (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104810018A (zh) | 基于动态累积量估计的语音信号端点检测方法 | |
CN107481264B (zh) | 一种自适应尺度的视频目标跟踪方法 | |
CN103989462B (zh) | 一种脉搏波形第一特征点和第二特征点的提取方法 | |
CN103310115B (zh) | 一种多目标跟踪的杂波估计方法 | |
CN111310833B (zh) | 一种基于贝叶斯神经网络的出行方式识别方法 | |
CN104021289B (zh) | 一种非高斯非稳态噪声建模方法 | |
CN109990786A (zh) | 机动目标跟踪方法及装置 | |
CN111595992A (zh) | 一种在线气相色谱峰的快速寻峰方法 | |
CN106067034B (zh) | 一种基于高维矩阵特征根的配电网负荷曲线聚类方法 | |
CN105043384A (zh) | 一种基于鲁棒Kalman滤波的陀螺随机噪声ARMA模型建模方法 | |
Maruotti et al. | Hidden semi-Markov-switching quantile regression for time series | |
CN104352234A (zh) | 一种生理电信号尖峰奇异点检测方法 | |
CN110689108A (zh) | 一种非线性***状态估计方法 | |
CN107329131B (zh) | 一种利用粒子滤波的雷达微弱目标检测跟踪方法 | |
Ismail et al. | Overview of Long Memory for Economic and Financial Time Series Dataset and Related Time Series Models: A Review Study. | |
Luo et al. | Target tracking based on amendatory Sage-Husa adaptive Kalman filtering | |
Chi et al. | A novel segmentation approach for work mode boundary detection in MFR pulse sequence | |
CN105467383A (zh) | 一种tof技术中基于波形匹配的测距方法 | |
CN113946795B (zh) | 一种超声波飞行时间估计方法 | |
Gustafsson | On marginal particle filters with linear complexity | |
CN108470016B (zh) | 一种工业烘干机的***状态预测方法 | |
CN114218980A (zh) | 滚动轴承剩余寿命预测方法 | |
CN111462479A (zh) | 一种基于傅里叶-递归神经网络的交通流预测方法 | |
CN117109593B (zh) | 一种基于鲁棒卡尔曼滤波的潜油机器人定位方法及*** | |
Wang et al. | Radar signal sorting algorithm based on PRI for large jitter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |