一种连续语音流中的叠音检测方法
技术领域
本发明属于语音信号处理领域,涉及一种叠音检测方法,可用于连续语音流中,自动查找多人(两人或以上)同时说话的语音段。
背景技术
叠音检测多见于说话人日志系统(Speaker Diarization)。该系统中,连续语音流首先被切分为隶属不同说话人的语音段;然后应用某种算法,切分好的语音段被给予相应的说话人标识。但是,当某段语音包含叠音时,这种按照单一说话人标记的方式存在不合理性。因此,往往希望事先检测出连续语流的叠音段,进行特别处理。
单通道情况下,叠音检测通常利用各态历经的隐马尔可夫模型(Hidden MarkovModel,HMM)作为基本切分器(Segmenter),把语音流分段为叠音、语音以及静音。HMM的状态空间由象征叠音、语音以及静音的三类状态串构成,并允许它们之间以相互跳转。声学特征一般包括:线性预测编码残差(Linear Predictive Coding Residue,LPCR)、幅度调制谱(Amplitude Modulation Spectrum,AMS)、谱平坦度(Spectral Flatness,SF)、谐波能量率(Harmonic Energy Ratio,HER)、以及美尔频率倒谱系数(Mel Frequency CepstralCoefficient,MFCC)等。
基于HMM框架的叠音检测方法已经应用于说话人日志系统,并产生了一定的效果。目前,此类方法通过给予HMM区分能力更强的特征提升检测模块的性能。如,主流方法通过特征融合找到适合叠音检测的组合特征。从检测结果看,系统检测精度还未达到预期。因此,针对实际需求,研究一种高精度的叠音检测方法显得尤为重要。
发明内容
本发明的目的在于,为克服上述问题,本发明提供一种连续语音流中的叠音检测方法。
为了实现上述目的,本发明提供的一种连续语音流中的叠音检测方法,所述方法包含:
步骤101)通过对语音进行多尺度表示进而得到一种综合特征,再将得到的综合特征输入HMM检测器进行初次判决;
步骤102)采用非负矩阵分解对初次判决结果进行二次判决,进而剔除受噪声干扰而导致误判的非叠音段。
可选的,上述步骤101)进一步包含:
步骤101-1)对语音流进行端点检测,去除静音段;
步骤101-2)获取语音流的综合特征,所述综合特征包括四种尺度下的语谱图参数表示,以及它们的一阶和二阶差分;
步骤101-3)对综合特征包含的特征向量的每一维进行均值和方差归一化处理;
步骤101-4)再将步骤101-3)的处理结果输入HMM检测器进行初次判决。
可选的,上述步骤101-2)进一步包含:
步骤101-2-1)计算语音流在四种尺度下的特征参数进而得到52维特征值,并将四种尺度下的特征参数分别记为:MLpR1,MLpR2,MLpR3和MLpR4;
步骤101-2-2)将以上52维特征分成5组,具体分组结构如下:将第1~12维作为MLpR1的DCT系数、将第13~24维作为MLpR2的DCT系数、将第25~36维作为MLpR3的DCT系数、将第37~48维作为MLpR4的DCT系数、将第49~52维作为四种尺度下的LPCR系数;
步骤101-2-3)利用Group LASSO强制组间稀疏,选取最具区分能力的特征组作为综合特征。
可选的,上述步骤101-2-2)进一步包含:
首先,计算短时傅立叶分析,且短时傅里叶变换各参量的取值为:帧长为20ms,帧移为10ms且FFT采用1024点;
然后,计算得到的短时傅立叶频谱的64个子带的美尔对数谱;
接着,
采用离散余弦变换压缩得到的能量谱,并取第2至13维系数作为MLpR1;此外,计算该尺度下对数美尔频谱的12阶线性预测残差,将12阶线性预测残差作为MLpR1的一维;
MLpR4的分析窗长为200ms,窗移为10ms且FFT采用2048点;MLpR4也由第2至13维DCT系数及12阶LPCR构成;
MLpR2和MLpR3通过采用不同尺度的二维高斯窗平滑MLpR1的美尔对数谱,并提取相应的DCT及LPCR获得;所述二维高斯窗分别为5*5和11*11。
可选的,上述步骤102)进一步包含:
步骤102-1)用非负矩阵分解在训练集上迭代学习,获得一个用以表示不同说话人语音的字典;
步骤102-2)用语音字典对初步判决得到的叠音段进行重建;
步骤102-3)根据重建误差进行决策,得到最终判决结果。
可选的,上述步骤102-1)具体为:
计算训练样本的短时傅立叶变换,得到幅度谱Vit,其中短时傅里叶变换的窗长为20ms,帧移为10ms且FFT点数为1024;其中,i=1,…,G,t=1,…,T;i表示当前被分析样本所属说话人的编号;G表示说话人总数量;T表示被分析样本的总帧数;
将说话人i的所有幅度谱Vi=[Vit]作为一组,进行分解,得到对应该说话人的语音基Wi,所述的分解通过最小化如下代价函数完成:
其中,W
i和H
i分别表示第i个说话人的基和权重,并在优化时保持它们非负;i=
1,…,G;V
it,t=1,…,T;
表示库尔巴克散度;X
mn
表示矩阵X的第m行第n列元素,Y
mn表示矩阵Y的第m行第n列元素。
可选的,上述步骤102-2)进一步包含:
给定待测试信号的幅度谱V,构造如下代价函数,在训练得到的语音基Ws上展开构造的代价函数,并给予一定的正则项,控制展开基群的稀疏性:
其中,W=[W
s,W
N];H=[H
s,H
N]
T;
i表示说话人编号,且i=1,…,G,G表示训练集中的说话人总数;W
s=[W
1,…,W
G];H
s=[H
1,…,H
G];H
s、H
N和W
s、W
N分别表示语音和噪声的展开权重和基;正则项Θ(H
s)强制使用最少数量的说话人基群重建观测信号;||·||
1表示1-范数操作;λ控制基群稀疏性的程度;ε是一个极小值,且ε=10
-16。
可选的,上述步骤102-3)进一步包含:
步骤102-3-1)计算维纳增益Gain=WsHs./(WsHs+WNHN),其中./表示按矩阵元素做除法;
步骤102-3-2)利用维纳增益计算重建频谱,并估计重建频谱与原观测信号谱V的二维皮尔森相关系数:
mean(V)表示取矩阵V中所有元素的均值;(·)mn表示取矩阵中第m行第n列元素;.*表示按按矩阵元素做乘法;
步骤102-3-3)设定阈值θ,
如果Corr(Gain.*V,V)>θ,则接受原检测结果;否则,拒绝原检测结果与现有技术相比,本发明的优点在于:
本发明优点:①根据多视角(multi-view)、多尺度(multi-scale)的观点,对信号沿不同“方向”参数化,有助于提高系统稳健性和检测性能。这是基于如下假设:任何干扰都不可能同等程度改变信号的所有方面。通过依赖受噪声影响较小的特征进行决策,能够有效增加系统鲁棒性。另外,一个问题从不同角度分析,通常难度会存在差异。如,频域通常比时域能获得信号的更多有效信息。②采用基于词典重建的二次判决,能够有效减少异常声以及噪声产生的虚警错误。
附图说明
图1本发明实施例提供的HMM框架的两级叠音检测系统;
图2本发明实施例提供的Group LASSO的特征选择;
图3本发明实施例提供的基于NMF重建的二次判决。
具体实施方式
下面结合附图和实施例对本发明所述的进行详细说明。
针对现有叠音检测模块精度较低的问题,提出了一种两级检测方法。第一级,通过语音多尺度表示,找到一种融合特征,将其用于HMM检测器;第二级,非负矩阵分解(Non-negative Matrix Factorization,NMF)对上一级结果进行二次判决,剔除那些受噪声干扰而导致误判的非叠音段,以提高系统检测精度。具体描述如下:
(1)如图1所示,构建HMM框架下的两级叠音检测系统。首先,对语音流进行端点检测(Voice Active Detection,VAD),去除静音段,以降低后续检测的计算复杂度。
(2)声学特征包括四种尺度下的语谱图量化参数,以及它们的一阶、二阶差分。
(3)对特征向量的每一维进行均值和方差归一化,以控制它们的波动范围。
对HMM检测结果,采用NMF的词典重建法进行二次判决,提高系统检测精度。
实施例
1、HMM的结构以及状态空间
对语音和叠音,分别采用含有三个状态的链来建模。对每个状态链,用GMM(Gaussian Mixture Model)来描述状态至观测的声学映射。对于语音,采用256个高斯的GMM来描述其声学变化;而对叠音,则采用64个高斯的GMM。为了控制语音和叠音之间状态链的跳转,引入一个惩罚项。通过调节该惩罚项,能够在系统检测精度和召回之间作出折中。
2.特征形式
不同尺度下,特征稳健性和表达能力存在差异,计算了四种尺度下的特征参数,将它们分别记为:MLpR1,MLpR2,MLpR3和MLpR4。
MLpR1计算自传统的短时傅立叶分析。其中,帧长为20ms,帧移为10ms,FFT采用1024点。对得到的短时傅立叶频谱,计算其64个子带的美尔对数谱;接着,采用离散余弦变换(Discrete Cosine Transform,DCT)压缩该能量谱,并取第2至13维系数作为MLpR1。另外,计算该尺度下对数美尔频谱的12阶LPCR,将其作为MLpR1的一维。MLpR4的分析窗长为200ms,窗移为10ms,FFT采用2048点。MLpR4也由第2至13维DCT系数及12阶LPCR构成。MLpR2和MLpR3通过采用不同尺度的二维高斯窗平滑MLpR1的美尔对数谱,并提取相应的DCT及LPCR获得。本发明中,所采用的二维平滑窗分别为5*5和11*11。
将以上52维((12+1)*4)特征分成5组,并采用Group LASSO(Least AbsoluteShrinkage and Selection Operator)做特征选择。具体分组结构如下:MLpR1的DCT系数(1~12维)、MLpR2的DCT系数(13~24维)、MLpR3的DCT系数(25~36维)、MLpR4的DCT系数(37~48维)、四种尺度下的LPCR(49~52维)。
Group LASSO通过强制组间稀疏,选取最具区分能力的特征,达到降维的目的。图2给出了5组特征在开发集上的实验结果。从图中可以看出,前两种尺度下的Mel谱,以及四种尺度下的Mel谱LPC残差均具有较强区分能力。因而,下文选择这六种特征及其一阶、二阶差分用于叠音检测。
3.基于NMF的后处理
研究表明,叠音检测算法易出现如下虚警错误:单语音信号、异常声(如笑声)、以及含有非平稳背景噪音的语音段。由于后两种错误也具有频谱叠加的效果,因而过分依赖频谱的量化特征并不能有效区分它们。
由于叠音为两个说话人声音的重叠,因而可以将其近似完全投影至一个过完备的说话人空间中。而对非语音结构的频谱,一般认为其在说话人空间中不能很好的展开。基于这样一个假设,采用NMF的词典学习法构建全局语音模型(Universal Speech Model,USM)[2],投影观测数据,作二次判决。
图3示出了后处理算法的计算流程,其主要包括训练、重建以及决策三个环节。下面分别对它们详细介绍(下文表示中,Ait对应矩阵A的第i行,第t列元素)。
训练:
对所有训练语音计算短时傅立叶变换,得到幅度谱{Vit;i=1,…,G,t=1,…,T}(窗长20ms,帧移10ms,FFT点数为1024)。
将说话人i{i=1,…,G}的所有幅度谱Vi=[Vit];{Vit,t=1,…,T}进行分解,得到对应该说话人的语音基Wi。分解通过最小化如下代价函数完成:
其中,
表示Kullback-Leibler散度;W
i
和H
i分别表示第i个说话人的基和权重。
式(1)的受限优化解可按下式迭代获得:
其中,Wi,ja表示第i个说话人基矩阵中的第j行,第a列元素。Vi,jμ、Hi,aμ以及(WH)i,jμ的表示与此类似。
重建:
给定观测信号幅度谱V,在训练语音基上将其展开;并给予一定的正则项,以控制展开基群的稀疏性。则得到如下代价函数:
其中,W=[W
s,W
N];H=[H
s,H
N]
T;
W
s=[W
1,…,W
G];H
s=[H
1,…,H
G]。H
s、H
N和W
s、W
N分别表示语音和噪声的展开权重和基。Θ(H
s)强制使用最少数量说话人所对应的基群重建观测信号;λ控制基群稀疏性的程度。
式(3)的解可以通过以下方式近似得到:
随机初始化H
重复迭代
R←V./(WH) (4)
H←H.*(WR)(5)
从s=1至s=G
结束
WN←WN./(11TWN) (8)
直到收敛;
其中,./和.*表示对矩阵元素进行操作;1表示单位列向量,WN./(11TWN)表示对WN的元素按列进行归一化。
决策:
计算维纳增益Gain=WsHs./(WsHs+WNHN)
利用维纳增益计算重建频谱,并估计其与原观测信号谱的二维pearson相关系数:
mean(V)表示取矩阵V中所有元素的均值。
设定阈值θ,
如果Corr(Gain.*V,V)>θ,则接受原检测结果;否则,拒绝原检测结果。
实验数据选自AMI多会议场景录音。其中,随机选取20个场景用于训练,3个作为开发,10个构建测试集。三个集的数据无交叉。所有样本均为采样率16000Hz、量化精度16bit的多通道数据。这些多通道样本经Beamforming增强为单通道语音。叠音检测按照其覆盖的总时长计算。即,
对于NMF,选取20个说话人,对每个说话人选取1分钟的干净训练数据。对这1分钟的语音,利用VAD去除静音,并对切分后的每段数据采用10个基建模。由于希望充分表征实际中可能出现的语音,因而不同说话人基数量的差异并不会造成问题。实验中,λ为256;θ为0.9。注意到,NMF基的训练数据并不取自AMI集。具体测试结果见表1。
表1叠音检测结果
由表中结果可以看出,采用提出的特征,系统检测精度从71.32%提高至74.63%;经过NMF重建的后处理策略后,该检测精度进一步提高至75.91%。这说明多尺度特征和后处理对系统检测精度均具有改进。从表中还可以看出,利用新特征和后处理,系统召回率降低0.36%。总的来说,提出方法通过召回的少量损失,提高了系统检测精度。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。