基于非均匀子带分离方差的语音端点检测方法及装置

文档序号:1650344 发布日期:2019-12-24 浏览:19次 >En<

阅读说明:本技术 基于非均匀子带分离方差的语音端点检测方法及装置 (Voice endpoint detection method and device based on non-uniform sub-band separation variance ) 是由 黄翔东 曹璐 刘子楠 于 2019-09-25 设计创作,主要内容包括:本发明公开了一种基于非均匀子带分离方差的语音端点检测方法及装置,方法包括:计算分帧后的各帧语音信号的幅值谱;将语音信号有效频带转换到Mel域,并在Mel域上将其均匀分为q个子带,再将各子带的中心频率、下限频率、上限频率转换到以Hz为单位的实际频率;通过内插将幅值谱扩展,并结合转换后的实际频率计算每个子带内频谱的平均幅值,并求取子带均值,进而计算各帧子带方差;利用前导无话段计算出噪声的平均方差值,进一步设置上下限阈值,用双门限进行判决,得到最终的语音端点检测结果。装置包括:模数转化器、DSP芯片。本发明的实现方法效率高,具有较强的鲁棒性。(The invention discloses a voice endpoint detection method and a device based on non-uniform sub-band separation variance, wherein the method comprises the following steps: calculating the amplitude spectrum of each frame of voice signals after framing; converting the effective frequency band of the voice signal into a Mel domain, uniformly dividing the effective frequency band of the voice signal into q sub-bands on the Mel domain, and converting the center frequency, the lower limit frequency and the upper limit frequency of each sub-band into actual frequency with Hz as a unit; expanding the amplitude spectrum through interpolation, calculating the average amplitude of the frequency spectrum in each sub-band by combining the converted actual frequency, solving the mean value of the sub-bands, and further calculating the variance of each frame sub-band; and calculating the mean variance value of the noise by using the leading non-speech segment, further setting an upper limit threshold and a lower limit threshold, and judging by using double thresholds to obtain a final voice endpoint detection result. The device comprises: an analog-to-digital converter and a DSP chip. The realization method of the invention has high efficiency and stronger robustness.)

基于非均匀子带分离方差的语音端点检测方法及装置

技术领域

本发明涉及数字信号处理技术领域,尤其涉及一种基于非均匀子带分离方差的语音端点检测方法及装置,具体涉及在安静环境和含有噪声的情况下,怎样确定语音的起始点及终止点。

背景技术

语音端点检测(Endpoint Detection),也称为语音活动性检测(Voice ActivityDetection)通常用于语音处理系统的前端,其目的是在各种环境噪声中,将采样信号数据中的有效语音信号和其他非所需的干扰信号分离开来,为后续进一步增强语音处理性能奠定基础。通常需要从样本中提取出抗噪鲁棒性较好的特征,用来分辨语音信号和非语音信号,并确定各语音段的起始点和终止点,对于现今广泛应用的语音智能识别和语音增强系统来说,端点检测正确率是整个系统性能优良的重要参数之一[1]

从Bell实验室最先提出的语音信号端点检测开始,这项技术在历经了将近半个世纪的发展之后已经日趋成熟,众多优秀方法不断涌现。大致可分为基于门限和基于模型两大类:基于门限的方法通过提取语音不同于噪声的时域特征值,并将其与所设定的门限进行比较,依此做出最终判决[2]。主要可以分为时域、频域和倒谱域参数,比如:能量值、过零率、倒谱系数、谱距离、谱熵值等[3]。相较于模型的方法,该方法操作简单,容易实现,但检测精度低;基于模型的方法较复杂,通常需要把语音信号变换到另一个域(如离散余弦变换域),基于此从中提取多维的特征(如Mel倒谱等),这种方法非常依赖于建立的模型,并且使用的特征维数较大,为适应噪声和干扰的变化,从暂态到稳态需较长过渡时间,且计算复杂度较高,故不宜于实时实现(如不适用于助听器在线实时检测语音端点的情况)。

对于纯净语音信号,用以上提及的两类方法,都能够很准确找出语音的边界点。但实际上绝大部分语音信号都是处于不止一种类型的复杂噪声背景中的,在噪音背景下有效区分出语音段及噪音段就成为语音端点检测的首要问题。具体对门限判决方法而言,需要首先设定一个阈值标准,当语音信号的判定参数超过该阈值标准时则认为是语音信号,反之则是噪声信号。语音信号特征参数的选取至关重要,好的检测方法需要满足以下几个特点:

1)准确性:对语音段的边界点的判定必须要准确;2)稳定性:检测算法必须有着较好的鲁棒性,抗噪声的性能要强;3)自适应性:判决标准要有自适应的特性,而不能仅仅固定门限阈值判决;4)计算复杂度:检测算法的运算强度要低,计算量小,便于硬件的实现。

参考文献

[1]赵力.语音信号处理[M].3版.北京:机械工程出版社,2016.n

[2]胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社,2000:163-17.

[3]苏敏.低信噪比情况下语音增强技术及相关技术研究[D].南京邮电大学,2018.

[4]Mark Marzinzik etc.Speech Pause Detection for Noise SpectrumEstimation by Tracking Tracking Power Envelope Dynamics.IEEE Transactions onSpeech and Audio Processing,2002,10(2):109-111.

[5]冯硕.自适应的语音端点检测技术研究[D].北京邮电大学,2008.

[6]李嘉安娜.噪声环境下的语音端点检测方法研究[D].华南理工大学,2015.

[7]Ishizuka,J,et al.Study ofNoise Robust Voice Activity DetectionBased on Periodic Component To Aperiodic Component Ratio.Proc.ofSAPA,2006,06(9):65-70.

[8]李祖鹏,姚佩阳.一种语音段起止点检测新方法[J].电讯技术,2003,3:68-70.

[9]Tanyer S G,Ozer H.Voice Activity Detection in Non-stationary Noise[J].IEEE Transactions on Speech and Audio Processing,2000,8(4):478-482.

[10]陈振标,徐波.基于自带能量特征的最优化语音端点检测算法研究[J].声学学报,2005,24(2):171-176.

[11]张雪英.数字语音处理及MATLAB仿真[M].电子工业出版社,2016.

[12]宋知用.MATLAB在语音信号分析与合成中的应用[M].北京航空航天大学出版社,2013.

发明内容

本发明提供了一种基于非均匀子带分离方差的语音端点检测方法及装置,本发明采用了Mel域子带划分方式,通过计算各子带方差,利用双门限实现最终判决,详见下文描述:

一种基于非均匀子带分离方差的语音端点检测方法,所述方法包括:

计算分帧后各帧语音信号的幅值谱;

将语音信号有效频带转换到Mel域,并在Mel域上将其均匀分为q个子带,再将各子带的中心频率、下限频率、上限频率转换到以Hz为单位的实际频率;

通过内插将幅值谱扩展,并结合转换后的实际频率计算每个子带内频谱的平均幅值,并求取子带均值,进而计算各帧子带方差;

基于各帧子带方差计算出噪声的平均方差值,进一步设置上下限阈值,用双门限进行判决,得到最终的语音端点检测结果。

其中,所述设置上下限阈值,用双门限进行判决,得到最终的语音端点检测结果具体为:

1)在语音Mel域子带分离方差的包络线上选取的一个上限阈值进行一次粗判,高于此阈值的是语音,语音起始点位于该阈值与语音子带方差图线的交点对应的时间点之外;

2)确定一个下限阈值,分别找到子带方差包络与下限阈值相交的两个点,该两点组成的线段就是最终的语音段。

一种基于非均匀子带分离方差的语音端点检测装置,所述装置包括模数转化器、DSP芯片,

将音频信号经过模数转化器后以并行数字输入的形式进入DSP芯片;

所述DSP芯片执行程序时实现权利要求1所述的方法步骤。

本发明提供的技术方案的有益效果是:

1、通过计算语音信号频域Mel子带方差,利用前导无话段计算噪声段的平均方差,根据不同信噪比选取不同门限判定;

2、该检测结果可用于语音分离、语音增强系统的前端,便于其在语音静默段和话音段进行不同的处理;

3、该实现方法效率高,具有较强的鲁棒性。

附图说明

图1为语音信号分帧示意图;

图2为语音信号与噪音信号能量包络图;

图3为7子带的Mel域子带划分示意图;

图4为双门限法判定过程示意图;

图5为频域子带方差包络图;

图6为不同检测方法的检测结果对比图;

图7为本发明的硬件实施图;

图8为DSP内部流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。

本发明将利用语音信号与背景噪声的对数能量包络的衰减特性的差异,通过计算Mel域子带分离方差,并根据前导无话段的平均子带分离方差设定大小阈值,利用双门限法实现最终判决。

实施例1

本发明提出按照如下步骤进行处理,即可实现语音信号端点检测,详见下文描述:

步骤1:以预设的采样速率fs对输入的语音信号进行采样,得到采样数据为x(n);

步骤2:对采样后的数据x(n)进行分帧,得到的第i帧信号yi(m)为:

yi(m)=w(m)·x((i-1)·Ls+m),1≤m≤L,1≤i≤Fn (1)

其中,w(m)为窗函数,Ls为帧移,L为帧长,Fn为帧数。

步骤3:计算yi(m)的幅值谱Yi(k):

取Yi(k)的前(L/2+1)条谱线,得到每帧信号的正频率幅值Yi={Yi(1),Yi(2),....,Yi(L/2+1)}。

步骤4:根据公式Fmel=2595log(1+f/700)将语音信号有效频带(0~fs/2Hz)转换到Mel域,并在Mel域上将其均匀分为q个子带,再将各子带的中心频率、下限频率、上限频率转换到以Hz为单位的实际频率,得到fp,c、fp,l、fp,h,其中,p=1,2,...,q。

步骤5:使用内插的方法将步骤3得到的谱线Yi扩展,使其谱线分辨率达到1Hz。

步骤6:计算每个子带内频谱的平均幅值:

将其代入下式求得子带均值:

计算各帧子带方差Di

步骤7:利用前导无话段计算出噪声的平均方差值(Fni为前导无话段帧数),进一步设置阈值。

步骤8:根据步骤6、7所得结果,用双门限方法进行判决,得到最终结果。

实施例2

下面结合具体的计算公式、实例对实施例1中的方案进行进一步地介绍,详见下文描述

2.1语音信号处理的基本原理

语音的产生是依靠人体大量的器官和肌肉共同协作来完成的,相应的语音信号复杂性很高,目前仍没有一种模型可以面面俱到地描述出人类语音中的各种特征。实验中通常将语音信号看作是时变的、非平稳的随机信号。由于语音信号的非稳态性与时变性,通常将语音信号进行分帧处理,即在短时间内将语音信号近似为平稳的,时不变的。短时间一般指10~30ms,并以此作为一帧。分帧的方法有两种,一种是帧与帧之间首尾相连,即连续分帧。另一种是重叠式的分帧,就是使帧与帧之间有重叠,相较而言,这种交叠式分帧方式更多的被采用,它更好地考虑了语音信号的时变性,使得帧间的过渡更加平滑,一般重叠部分为一帧的10%~50%。图1解释了分帧的原理。另一方面,考虑到频谱泄漏问题,通常对每一帧语音信号进行加窗处理[7],假设语音信号用x(n)表示,窗函数用w(n)表示,加窗就是用有限长度的窗w(n)与语音信号x(n)进行卷积运算,形成加窗语音xw(n):

xw(n)=x(n)*w(n) (7)

在语音信号处理中,使用较多的窗函数有矩形窗、汉明窗和汉宁窗。

基于以上分析,可以得到由原始信号x(n)得到用于处理的分帧加窗函数yi(m)的过程:设原始信号为x(n),长度为N,帧长为L,帧移为Ls,则相邻两帧间的重叠部分Lo

Lo=L-Ls (8)

分帧加窗后的第i帧信号yi(m)为:

yi(m)=w(m)·x((i-1)·Ls+m),1≤m≤L,1≤i≤Fn (9)

其中,帧数的计算方法为:

Fn=(N-Lo)/Ls (10)

2.2语音信号与噪声信号对数能量包络起伏特性

分析语音信号,首先要提取出反应语音信号本质的特征参数,并利用这些特征参数进行有效处理,故特征参数提取是语音信号处理的基础。信号的对数能量包络起伏是区分语音信号与噪声信号的重要特征,信号的对数能量包络计算方法如下:假设由原始信号经分帧加窗处理后得到的信号为yi(m),则第i帧的包络为:

对包络取对数,得到的对数能量包络为:

Zi=10log10Yi (12)

图2为语音信号与不同类型的背景噪声(包括babble噪声、f16噪声、白噪声、Leopard噪声)对数能量包络对比图,显然,语音信号的能量包络在较大的动态范围内波动,其最大波动范围达到了50dB。相较而言,背景噪声信号的能量包络表现出平稳性,其最大波动范围小于10dB。因此,信号的能量包络起伏特性可作为语音信号端点检测算法的依据之一。

2.3基于子带方差的端点检测方法

由上述分析,语音信号的对数能量包络波动范围较噪声信号大,实际场景中,由于噪声强度和类型的复杂性,这种方法的精度有待提高。另一方面,变化的剧烈程度可以用方差的大小来表示[6][7]。语音信号时域中的特征量通常不具有很强的抗鲁棒性,容易淹没在较强的背景噪声中。本发明将时域分析转换到频域分析,语音信号的能量随频带有较大的变化,在其共振峰处有较大的峰值[8][9],而在其他频段能量相对较小,故本发明将时域的波动起伏特性转换到频域方差,提出了改进的基于Mel域子带方差的端点检测方法。

根据人耳的听觉机理,人耳的基底膜具有与频谱分析器相似的作用,它对不同频率信号的灵敏度响应不同。200Hz到4kHz之间的语音信号对清晰度的影响最大,低音掩蔽高音容易,而高音掩蔽高音较困难,低频处的声音掩蔽的临界带宽较高频端小。Mel域良好地模拟了人耳的这种非线性特性,对应着一组带宽逐渐增加的带通滤波器,图3为子带数为7时的基于Mel域划分的子带示意图,且其与以Hz为单位的实际频率有如下转换关系[10]

Fmel=2595log(1+f/700) (13)

本发明根据Mel域划分的思想,根据实例1中的步骤4即可实现Mel域上的均匀子带划分。Mel频率由于考虑了人耳的生理听觉特性,在同一个频率群中,其能量互相叠加,本方法在Mel域频带划分基础上,计算各子带的方差,并据此进行端点检测。

本发明通过内插的方法将谱线扩展,扩展谱线的目的是为了更精确地计算子带方差值:以采样率8000Hz为例,当帧长选为200时,正频率幅值谱线有101条,频率分辨率为40Hz,这101条幅值谱线中第1~4条对应的频率分别为0Hz、40Hz、80Hz、120Hz,7通道的Mel域第一子带范围为20~100Hz,即第一子带只能取到2~3根谱线,用2条谱线计算方差肯定会带来较大误差。为此,需要进行谱线扩展,以此来把频率分辨率提高到1Hz,这样第一个子带就很容易包含20~100Hz的80条谱线,用这81条谱线来计算方差显然要比只用2条谱线计算方差有更高的精度。

由以上步骤完成了语音信号的预处理、子带划分、谱线插值,得到了进行方差计算的各子带谱线,根据(3)~(5)式可完成方差计算工作。

由(5)式可以看到,频带方差包含了两个信息:其一反映了这一帧各频带的起伏程度;其二说明这一帧信号的短时能量。当能量越大时,其起伏越激烈,Di值越大,这正是语音信号的特点;反之,对于噪声,能量越小,起伏越平缓,Di值越小。

2.4判定阈值的选择及检测过程

由上述分析,本发明根据信号的起伏波动程度进行端点检测,并将子带分离的思想引入频带方差,而起伏程度的强弱在实际判定中是没有明确界限的,所以设定不同的门限值会得到不同的检测结果。故合适的阈值选取对检测结果至关重要。另一方面,由于人类发音过程的复杂性以及个体差异,个人声道的不同,个人语速的不同,都导致了语音端点检测算法得到的语音端点不可能完全精确[10]。鉴于人对于微小时间误差并不敏感,几十毫秒内的语音端点检测误差可以接受。本发明采用了双门限的判决方法进行判定:1)在语音Mel域子带分离方差的包络线上选取的一个较高阈值(门限)T1(图4中以虚水平线显示)进行一次粗判,高于此阈值的一定是语音(CD段之间的肯定是语音),而语音起始点应位于该阈值与语音子带方差图线的交点对应的时间点之外(在图中C点左侧)。

2)确定一个较低阈值(门限)T2(图4中以实水平线表示),并从C点往左,D点往右搜索,分别找到子带方差包络与低阈值相交的两个点B和E,于是BE段就是用双门限法根据子带方差所判定得到的语音段。

本发明根据前导无话段计算出噪声段的平均方差,并根据(6)式确定阈值门限,即可根据双门限法完成检测。

实施例3

为评价本发明算法的性能,进行了仿真实验[11][12][13]。实验中语音数据来源于TIMIT语料库,该语料库由8种方言、1680个说话人的语音组成。语音信号指标为16kHz采样率,单声道,16bit采样位数。在NOISEX-92的数据库取得典型噪声:高斯白噪声、粉红噪声和F16噪声。在数据分段时,每个子段长度取为256样点(故每段覆盖的模拟时间是256/16000=0.016s=16ms),相邻子段间作50%的重叠(故观测子段进一步降低为8ms)。实验中,首先求取了纯净语音与含噪语音的频谱Mel子带方差包络,图5为SNR=10dB情况下求取的子带方差包络,可以观察到即使在加噪情况下频域子带方差很好地追踪了语音信号的变化,在信号波动幅度较大即语音段,子带方差也随之有大幅度的起伏。

为进一步评判本发明算法,将本方法与传统的能零比方法(能量与过零率)、自相关函数法在信噪比SNR=20dB下分别进行检测,检测结果如图6所示(图6中(a)(b)(c)分别为能零比法、自相关函数法、本方法的检测结果),并将每种方法的漏检处加以标记。需要说明,由于个体差异,个人语速不同,且语音发音时单词间会有停顿,故允许几十毫秒之内的误差。由图中可观察到,本方法的漏检少于其他两种方法。另一方面,以第一处语音起始点为例(0.2~0.5s内),传统的能零比与自相关函数的检测方法在语音终点处有明显误差,即延长了语音尾音的长度,本方法检测的起止点明显精确于其他两种方法。

实施例4

本发明的硬件实施图如所示,将音频信号x(t)以16kHz采样率进行模数转换得到x(n),以并行数字输入的形式进入DSP芯片,经过DSP芯片的内部算法处理,得到结果送入下级处理系统。

其中,DSP(Digital Signal Processor,数字信号处理器)为核心器件,在信号处理中完成如下主要功能:1)运用核心算法,完成语音信号的分帧加窗,信号频域子带方差的计算;根据实际信号,确定阈值,检测判断;2)将结果送入下级处理器处理;DSP器件的内部程序流程图如图8所示,本发明将提出的“基于对数能量包络感知的语音端点检测方法”这一核心检测算法植入DSP器件内,基于此完成高效、精确的语音信号端点检测。

图8流程分为如下几个步骤:

1)对采样后的语音信号进行分帧加窗处理,得到yi(m);

2)对yi(m)进行离散傅里叶变换得到Yi(k);

3)计算各帧频域Mel子带方差Di与噪声段平均子带方差阈值;

4)利用双门限判决法进行判决,找到语音起始点与终止点;

5)保存结果并将其送入下级处理器处理。

本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,

只要能完成上述功能的器件均可。

本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种大容量光存储装置及数据读写方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!