一种基于语音图信号处理的端点检测方法
2022-05-13郭振超葛子瑞郭海燕王婷婷
郭振超 杨 震,2 葛子瑞 郭海燕 王婷婷
(1.南京邮电大学通信与信息工程学院,江苏南京 210003;2.南京邮电大学通信与网络技术国家地方联合工程研究中心,江苏南京 210003)
1 引言
随着大数据时代的到来,对不同环境中收集到的大规模数据集进行分析和处理已逐渐引起了研究人员的关注。Moura 等人于2013 年首次提出了图信号处理[1](Graph Signal Processing,GSP),运用图模型将传统的信号处理理论扩展到通用图表示的广义数据集。特别是近些年来,许多工程和科研领域都已将研究侧重于海量数据处理问题。例如,文献[2]使用图信号的图频率域理论对纽约市7 亿条出租车行驶轨迹进行分析和研究,利用不同频率系数分析解释了出租车的潜在行为。文献[3]运用图卷积神经网络来处理社交网络,利用复杂的大规模社会网络数据推测用户的私有属性。文献[4]根据人脑结构的连通性构建动态的多模态脑图,将图信号理论和网络控制理论结合来研究多模态脑图之间的关系。
图信号处理的第一步是对数据集的合理表示,以应对存在大量高维不规则数据的场景。目前在GSP中,表示图结构的图边权矩阵主要分为两种,一种是用于描述无向图的图拉普拉斯矩阵L,另一种是既可用于描述无向图也可以用于描述有向图的图邻接矩阵A。本文针对语音信号这样的时间序列展开研究,考虑到语音信号作为时序信号所具有的有向性、周期性等特性,本文侧重研究基于图邻接矩阵的图信号。
基于图邻接矩阵的GSP 理论与技术目前已有一套较为全面的理论架构,其研究方向主要包括图傅里叶变换[5]、图采样[6]和图滤波器设计[7]等。例如,文献[8]解决了GFT 在重复特征值情况下的不确定性问题,提出GFT的准坐标自由定义,并通过倾斜频谱投影得到图形信号的图频谱分解。文献[9]定义了顶点域和图频谱域中的图脉冲、调制、滤波和卷积并提供了一个用于采样图信号的框架,进而给出了采样信号的条件,以实现信号的完全恢复。文献[10]通过改变图移位算子的特征值保证了移位算子的能量不变性,并进一步提出图信号的自相关、互相关函数,以此构建了图wiener滤波器。
但值得一提的是,目前GSP 理论与技术主要针对图拓扑结构先验已知的图信号进行了大量的研究,而对于图拓扑结构先验未知的图信号却甚少研究,例如语音信号。考虑到语音信号常使用传统数字信号处理的方法进行处理,而作为传统数字信号处理的扩展的图信号处理,包含了与传统数字信号处理相对应的卷积、滤波等理论,故而可以很好地用于语音信号处理。另外,图信号处理对于不同的信号拥有更强的适应性,即其可根据语音信号的特性设计合理的图结构,获得合适的图频域以便对语音信号进行时频分析。当然目前在GSP 与语音信号处理相结合的方面,本团队一些研究人员在语音图结构设计和语音消噪等方面已取得了初步研究成果。例如,文献[11]提出了一种k-shift 算子将语音信号映射至图域,通过语音图信号的图邻接矩阵的奇异值分解定义了一种图傅里叶基向量,并基于MMSE 准则设计了图wiener 滤波器用于语音消噪。文献[12]提出了基于k-shift算子的图谱减法并进一步提出了迭代图谱减法。
众所周知在传统的语音信号处理中,语音端点检测是预处理中极为重要的环节,例如语音消噪中常使用语音端点检测判断非语音段,从而进行合理的噪声估计。语音识别系统中常使用语音端点检测判断语音段,提升算法的检测准确率。为了能较好地区分语音段和非语音段,研究人员设计出了不同的特征参数提取方法,主要包括时域和频域两个部分。在时域上,主要的特征参数包括短时能量[13]、短时过零率ZCR[14]和短时自相关[15]。但时域的特征参数存在明显的缺点,即在噪声环境下不具有良好的抗噪声性能,会导致系统性能显著下降。而以谱熵为代表的频域特征参数[16]则具有一定的鲁棒性,特别是在低信噪比条件下识别效果更好。例如文献[17]在谱熵的基础上引入了正常数K,增强语音信号和噪声信号之间的可分辨性。文献[18]提出一种自适应子带谱熵ABSE 算法,对语音的频谱进行子带分割,以减小部分频点噪声过大对检测造成的影响,提升了低信噪比下语音端点检测准确率。
本文首先提出了一种用于描述语音信号的遗忘图拓扑结构,来探索语音样点之间的关联性,并根据图邻接矩阵建立起相应的语音信号图频率域。然后,通过将ABSE 算法拓展至图频率域,提出一种GABSE 算法用于语音端点检测,以进一步提高语音端点检测准确性和鲁棒性。
2 语音图信号
2.1 语音信号的图映射
GSP 理论与技术是一种处理高维度、不规则和非线性数据的处理工具,其中图拓扑结构的设计是研究的重要环节。不同于传统信号处理理论孤立地研究信号样点值,图信号处理的关键在于以样点之间的关系为桥梁建立连通的图拓扑结构,形成完整的图信号模型G=(V,E,W),其中V为图信号的顶点集,E为连接样点的边集,W为每条边对应的权重。
考虑到语音信号是一种非线性信号,因此我们可以将语音信号映射为一种图信号进行处理。具体而言,对于一段帧长为N的语音信号s=[s0,s1,…,sN-1]T,可将其映射为一组图信号sG,其中上标G表示对应的图信号模型。通过这种映射,语音图信号样点之间的关系借助图信号模型G=(V,E,W)定量地表现出来。图信号模型中的V=[v0,v1,…,vN-1]T表示图中的所有顶点,这与一帧语音信号中的N个采样点一一对应,同时语音信号s可映射至图结构的顶点上成为图信号sG=。图结构中的边集合E∈CN×N表示各个采样点之间是否存在连接的边以及其方向,即若eij=1则表示vi与vj两者之间存在连接边,反之eij=0。边的存在表明了各个采样点之间是否存在联系,而具体的关联程度由权重矩阵W={wij}∈CN×N的大小表示。
在早期关于图信号处理的研究中,图结构往往采用的是一种无向图形式,即wij=wji。考虑到语音前后样点之间地关联性,故本文认为无向图结构对于语音同样适用。另外,为了实现有向图和无向图的统一表示,下文将采用图邻接矩阵A来表示权重矩阵W。
2.2 语音信号的遗忘图模型
根据文献[19],在图邻接矩阵A满足
的条件时,图信号处理的理论与传统数字信号处理理论相一致,即GSP 理论是DSP 理论的扩展延伸。因此one-shift 图(如图1 所示)可以看成是传统数字信号处理采用的图结构。本文考虑到这种图结构反映了当前样点与后一个样点之间的简单关系,对于规则的时序信号有一定的概括性,但对于特定的时序信号,one-shift 图难以描述特定的相关特性。故而本文设计了一种基于遗忘因子的遗忘图结构。
语音信号作为时序信号的一种,与人体发声系统的特性有密切的关联,这使得其具有一定的特殊性和复杂性。作为一种短时平稳信号,语音信号在一帧之内往往具有较强关联性。基于这种关联性,本文提出了一种基于遗忘因子的遗忘图模型,具体如图2 所示。并可以得到遗忘图模型的边矩阵ε∈RN×N,其中的元素可表示为
其中k表示与当前样点有关联性的临近样点的个数。
遗忘图模型的邻接矩阵Amenory满足
其中λ∈(0,1)为遗忘因子,表示vi与vj之间的时间距离越远,两者的关联性越弱。同时,Ψ 为遗忘门限,当二者之间的时间关联性低至门限之下,则认为没有关联性。遗忘因子与遗忘门限均根据经验取得,常取0.8 和10-3,不同遗忘因子下的邻接矩阵如图3所示。
图3 表示了样点之间的关联性,其中横坐标和左纵坐标均为128 个样点的序号,右纵坐标轴表示关联性,颜色由浅至深表明了关联性由大到小。从色阶图可以看出,遗忘因子主要控制样点之间关联性的衰减速度,遗忘因子越大,关联性衰减速度就越慢,存在关联性的样点就越多。
值得说明的是,本文提出的遗忘图矩阵与传统的相关矩阵有明显不同。遗忘图矩阵一个描述样点之间关系的矩阵,因此遗忘图矩阵是一个时不变的图结构,没有额外的计算量,而传统的相关矩阵需要随着帧的变化不断计算数值,有较大的计算成本。本文的遗忘图矩阵可以定义新的“图频率域”,进一步定义一种新的映射方法。
本文的遗忘图结构与文献[11-12]提出的kshift 图结构也有显著区别。首先,k-shift 图是一种简单图,未能充分考虑到语音信号的时变性,简单地0-1 关系不能很好地反映出信号样点的关系变化情况。而遗忘图结构是在此基础上提出了遗忘因子作为关联性的衰减系数,随着时间间隔的增加,样点之间的关联性也逐渐减小,直至关联性完全消失。另外,根据线性代数运算可以看出,k-shift图矩阵为1-shift 图矩阵的多项式组合,因此k-shift 图矩阵定义的“图频率域”与传统频率域非常相似,无法体现出图信号处理对信号良好的适应性。
3 语音图频域与图谱熵端点检测方法
3.1 离散傅里叶变换与图傅里叶变换
在DSP 理论中,傅里叶变换矩阵DFTN可以表示为
U是A的特征向量。由于λk是一个复数,且A为一个实矩阵,因此U必须为复数矩阵。因此我们设ui=ai+jbi,则有
通过矩阵运算可以得到
因此,可以得出
在此关系式中存在a1,…,an,b1,…,bn这2N个未知数,但只有2N-2 个方程,特征向量本应由两个基础解系构成线性组合,即
但考虑到a1,…,an,b1,…,bn存在如下关系
因此,特征向量U可改写为
在GSP 理论中,U被称为GFT 基向量矩阵。由于傅里叶变换矩阵DFT∈U,可以证明,DFT是GFT在one-shift 图情况下的一种特殊情况[19],如图4所示。
3.2 语音信号的图频谱
通过特征分解或Jordan 分解等方法,可以对邻接矩阵进行对角化,从而深入研究信号的图频率域特性。由于本文中采用的图邻接矩阵Amenory是对称矩阵,因此可以对Amenory直接进行特征分解,即
其中,Λ=diag[λ0,λ1,…,λN-1]表示特征值矩阵,λi称为信号的图频率。ξ=[v0,v1,…,vN-1]为Amenory的对角化矩阵,其中vi与λi相关联。由于ξ是一个满秩矩阵,其列向量可以作为空间的基向量。因此,图傅里叶变换矩阵Θ可表示为
其中,gi表示GFT 矩阵的第i个N维基向量。利用GFT矩阵Θ可以将长度为N的一帧语音图信号sG变换至图频域,得到其图频谱为
3.3 图频谱的子带谱熵端点检测方法
谱熵是一种常用于端点检测的频域特征参数,根据语音信号的频域能量分布可以得到谱熵值H[20]:
其中,H(m)是第m帧的谱熵值,P(l,m)是第m帧中第l个频点的概率值。基于谱熵的端点检测方法是利用语音信号的频谱更有组织性(即相关性强),而背景噪声如白噪声的频谱更加散乱(即相关性弱)的特点,从而得到不同的谱熵值,进而对语音段与非语音段加以区分。
根据2.1的相应理论,可以由语音信号s得到语音图信号sG,其中索引G=(V,ε,Amenory)。对于一帧含噪语音图信号sG通过公式(15),可得
其中,sG(n,m)是第m帧第n点的图信号值,gk(n)是GFT 矩阵第k个列向量的第n个元素表示sG对应图频信号中第m帧λk对应的分量。根据(17)可以得到信号的图频谱。
通常来说,利用图子带能量概率分布可以求出每一帧对应的谱熵值。但是,谱熵作为一种统计特征,只能反应其频谱分布的部分情况。即使是分布不同的两组频谱,也可能求出一致的谱熵,因此需要对这种情况加以区别。参照文献[18],将图子带附近的能量变化作为权重参数Ω。
其中
Ω(l,m)表示第m帧中第l个图有效子带的权重,D[⋅]表示三个临近频点概率的方差。根据公式(11)、(12)和(13)可以求得对应的图自适应子带谱熵HGABSE。
图自适应子带谱熵实现了语音与噪声的区分,仍需要通过门限值来进行进一步判定。参照文献[18]提出检测方法,我们设置对应的图自适应阈值
其中,α为实验预设参数,取值为1。μ和σ根据公式(27)~(30)自适应更新。
其中,β为实验预设参数,取值为0.2。
在利用门限判决得到起始帧与终止帧后,将起始帧的第一个端点与终止帧的最后一个端点分别作为语音的起点和终点。
通过计算的图自适应子带谱熵HGABSE和图自适应门限可以对语音信号进行端点检测,具体的检测方法如图5所示。
4 仿真实验与性能分析
为客观测试提出的图信号对语音的适应性与GABSE 算法的性能,本文采用DARPA TIMIT Acoustic-phonetic Continuous Speech Corpus(TIMIT)语音库作为语音素材,并选取Standard noise NOISEX-92 library数据库作为噪声素材。实验中语音的采样率为8 kHz,帧长选取为128 个样点,选取的单个语音素材时长均为3 s。本文中生成的含噪信号的方法为,根据预设信噪比以及信号功率计算噪声方差,进而对噪声幅度缩放,并与纯净语音叠加。
4.1 语音信号的图频谱
我们从TIMIT语音库中选取一段纯净的语音信号并分出浊音帧、过渡帧和清音帧,并从NOISEX-92数据库中选取白噪声,分别进行图傅里叶变换得到其图频谱如图6所示。
将图6(b)和(c)、(e)和(f)、(h)和(i)分组对比可以看出,语音信号浊音帧和过渡帧的图频谱比起传统频谱更加集中在信号的低频部分,而清音帧更加集中在信号的高频部分,从而使得信号在图频域具有更强的组织性。而从(k)和(l)可以看出,白噪声在图频域的分布与传统频域的分布相接近。而决定谱熵的差异性最主要的因素是语音信号和噪声的频域分布特点差异,因此在图频率域中纯净语音信号和噪声信号的谱熵差异较传统频域更大,从而可以使以图谱熵为特征参数容易区别出语音段和非语音段。
4.2 含噪语音的谱熵及图谱熵分布
为检验GABSE算法是否具有良好性能,我们参照文献[18]在安静的环境下录制了一段语音,内容为“eight”,并加入NOISEX-92数据库中的volvo噪声和machinegun 噪声,其信噪比为5 dB,更多SNR 情况在后续实验中分析。将GABSE 算法得到的谱熵值与文献[18]中的ABSE 算法得到的谱熵值进行对比,可以得到如图7所示的结果。
图7(a)和(b)分别为加入volvo 噪声和machinegun 噪声的含噪语音时域图,(c)和(d)、(e)和(f)分别为两组含噪语音在ABSE 算法与GABSE 算法下的谱熵分布。对比(c)和(e)、(d)和(f)可以看出,ABSE 算法在噪声段仍然会存在相当大的谱熵值,会与语音段谱熵产生混淆造成误判。而GABSE 算法在非语音段的图谱熵相当小而且平稳,与语音段图谱熵差别较大,有利于语音的端点检测。
4.3 遗忘因子的选取
公式(3)中的遗忘因子为重要的实验参数,为体现出参数的合理性,将遗忘因子由0.1 到1 逐渐增加,步长设置为0.1,测试不同遗忘因子下的检测准确率。实验采用TIMIT 语音库中的100 句语音,其中包含50 句男声和50 句女声,累计语音时长为5 分钟,另外噪声源选取NOISEX-92 噪声库中的白噪声,信噪比设置为5 dB,具体的实验结果如图8所示。
从图8 中可以看出遗忘因子为0.8 和0.9 时信号的识别效果最佳,同时取值0.8 可以使关联性参数衰减的更快,使图矩阵更加稀疏,提高运算效率。
4.4 GABSE算法的端点检测性能
为测试GABSE 算法的端点检测性能,我们从TIMIT 语音库中选取了100 条语音,其中包含50 句男声和50 句女声,累计语音时长为5 分钟。另外噪声源选取白噪声、factory 噪声和babble 噪声这三种噪声。为了与实际场景更加吻合,实验中将含噪语音信号的信噪比设置为-15至15 dB,以5 dB为间隔。为了测试语音端点检测的准确率,参考文献[18]端点检测的自适应方法,并对每一条语音的起止点进行手动标记,用以与检测结果进行比对。将基于GABSE 算法的语音端点检测方法的准确率与文献[18]中基于ABSE 算法的语音端点检测方法、文献[21]中的rVAD 方法的检测准确率对比,结果如图9、图10、图11所示。
图9、图10、图11 分别是white 噪声、babble 噪声与factory 噪声三种噪声下-15 至15 dB 含噪语音信号的起点与终点的检测准确率,其中start 和end 分别表示语音段的起点和终点。
从图9 中可以看出,在不同信噪比的平稳噪声下,GABSE 算法的检测准确率相较于传统ABSE 算法平均高出约12%。相较于rVAD 方法,GABSE 算法的检测准确率平均高出约20%。由于图谱熵是根据信号在图频率域的概率分布计算得到的,图谱熵值与信号的概率分布有关系,而白噪声在图频率域是接近均匀分布的,所以得到的图谱熵值较其他种类的噪声更大,因此与语音段的差别更大,识别的效果远好于rVAD方法。
从图10 与图11 中可以看出,在不同信噪比的非平稳噪声下,GABSE 算法的检测准确率相较于传统ABSE 算法平均高出约8%。相较于rVAD 方法,GABSE 算法的检测准确率平均高出约15%。由于非平稳噪声相较于白噪声又具有组织性,因此图谱熵值更小,与语音段的差别有所减小,因此性能也有所下降。
综上实验结果可以体现出本文设计的GABSE算法具有更好的性能,同时也体现了本文提出语音图结构的有效性和鲁棒性。此外,起点的检测准确率通常高于终点的检测准确率,这是由于纯净语音素材在前几十毫秒时间里往往处于寂静帧,纯噪声帧与起始的语音帧往往差别较大。而在语音段部分帧可能与噪声帧较为类似,从而造成对语音信号终点的误判,最终导致语音起点的检测准确率较高。
5 结论
本文提出了一种遗忘图拓扑结构,并利用基于遗忘图拓扑结构的图邻接矩阵的所定义的GFT 将语音信号映射至图频率域,根据图频率域对纯净语音信号与噪声信号的图谱特性分布,有效的在图频率域对纯净语音信号与噪声信号进行了区分。此外,本文还提出基于GABSE 的语音端点检测方法,将图谱熵代替传统谱熵作为特征参数,有效的对语音段和非语音段进行了区分。最后,通过实验仿真可以看出基于GABSE 的语音端点检测方法优于传统的基于ABSE 的语音端点检测方法及rVAD 语音端点检测方法。相较于基于ABSE 的语音端点检测方法,基于GABSE的语音端点检测方法在平稳噪声下检测准确率提高了12%,在非平稳噪声下检测准确率提高了8%。相较于rVAD 语音端点检测方法,基于GABSE 的语音端点检测方法在平稳噪声下检测准确率提高了20%,在非平稳噪声下检测准确率提高了15%。