基于DTW的编码域说话人识别研究*
2010-03-15李榕健于洪涛李邵梅
李榕健,于洪涛,李邵梅
(国家数字交换系统工程技术研究中心,河南 郑州 450002)
说话人识别又被称为话者识别,是指通过对说话人语音信号的分析处理,自动确认说话人是否在所记录的话者集合中,以及进一步确认说话人的身份。说话人识别的基本原理如图1所示。
按照语音的内容,说话人识别可以分为文本无关的(Text-Independent)和文本相关的(Text-Dependent)两种。文本无关的识别系统不规定说话人的发音内容,模型建立相对困难,但用户使用方便。与文本有关的说话人识别系统要求用户按照规定的内容发音,而识别时也必须按规定的内容发音,因此可以达到较好的识别效果。
随着网络技术的发展,通过Internet网络传递语音的网络电话VoIP(Voice over IP)技术发展迅速,已经成为人们日常交流的重要手段,越来越多的用户抛弃传统的通信方式,通过计算机网络等媒介进行语音交流。由于VoIP工作方式的特点,语音在传输中经过了语音编译码处理,VoIP设备端口同时要处理多路、海量的压缩话音数据。所以VoIP说话人识别技术主要研究的是如何高速、低复杂度地针对解码参数和压缩码流进行说话人识别。
现有的针对编码域说话人识别方法的研究主要集中在编码域语音特征参数的提取上,香港理工大学研究从G.729和G.723编码比特流以及残差中提取信息,并采用了分数补偿的方法。中国科学技术大学主要研究了针对AMR语音编码的说话人识别。西北工业大学在说话人确认中针对不同的语音编码差异进行了补偿算法研究,并且研究了直接在G.729编码的比特流中提取参数的方法。说话人模型则主要采用在传统说话人识别中应用最广泛的GMM-UBM(Gaussian Mixture Model-Uni-versal Background Model)。GMM-UBM的应用效果和混元数目密切相关,在保证识别率的基础上,其处理速度无法满足VoIP环境下高速说话人识别的需求。
本文研究VoIP语音流中G.729编码域的说话人实时识别,将DTW识别算法成功应用在G.729编码域的文本相关的说话人实时识别。
1 G.729编码比特流中的特征提取
1.1 G.729编码原理
ITU-T在1996年3月公布 G.729编码,其编码速率为8 kb/s,采用了对结构代数码激励线性预测技术(CSACELP),编码结果可以在8 kb/s的码率下得到合成音质不低于32 kb/s ADPCM的水平。G.729的算法延时为15 ms。由于G.729编解码器具有很高的语音质量和很低的延时,被广泛地应用在数据通信的各个领域,如VoIP和H.323网上多媒体通信系统等。
G.729的编码过程如下:输入8 kHz采样的数字语音信号先经过高通滤波预处理,每10 ms帧作一次线性预测分析,计算10阶线性预测滤波器系数,然后把这些系数转换为线谱对(LSP)参数,采用两级矢量量化技术进行量化。自适应码本搜索时,以原始语音与合成语音的误差知觉加权最小为测度进行搜索。固定码本采用代数码本机构。激励参数(自适应码本和固定码本参数)每个子帧(5 ms,40个样点)确定一次。
1.2 特征参数提取
直接从G.729编码流中按照量化算法解量化可以得到LSP参数。由于后段的说话人识别系统还需要激励参数,而在激励参数的计算过程中经过了LSP的插值平滑,所以为了使特征矢量中声道和激励参数能准确地对应起来,要对解量化的LSP参数采用插值平滑。
由于G.729后端的码本搜索分为两个5 ms的子帧进行,令LSPi(1)和LSPi(2)分别表示内插后的两个子帧的LSP参数,LSPiprevious和 LSPicurrent分别表示前一帧和当前帧的 10 ms的LSP参数,那么对于 i=1,2,…,p(p=10),
设A(z)为p阶线性预测误差滤波器的传递函数,即
可以证明,当 A(z)的根在单位圆内时,P(z)和 Q(z)的根在单位圆上。当p为偶数时,由于P(z)是一个对称实系数的P+1阶多项式,而Q(z)是一个反对称实系数的P+1阶多项式,因此它们有共轭的复根。共轭复根的形式为 zi=ejωi,这是因为 P(z)和 Q(z)的根都在单位圆上,并且从式(2)看到它们还有±1的实根。因此,P(z)和 Q(z)可写成下列因式分解形式:
且满足下式:
ωi就是所要求的 LSF参数,但是在 G.729编码算法中传递的是 ωi的余弦值 LSP(线谱对参数),要得到相应的LSF参数只需要对LSP参数求0~π内的反余弦值即可。
由式(2)可知:
将LSF参数带入式(3),再由式(5)即可求得 A(z),也就是得到了LPC参数。由LPC参数αi做同态处理可以得到LPCC参数 c(n),(n=1,2,…,q)其中 q为 LPCC的阶数,c(n)与 LPC参数 αi间的关系如下式:
本文选择G.729编码帧中第一子帧的LSP(1)参数的反余弦LSF及由其转换得到的LPC、LPCC参数作为声道特征参数。
[1]发现识别特征加入G.729压缩帧中的语音增益参数,说话人识别性能发生了下降。去除G.729压缩码流特征中的增益参数 GA1、GB1、GA2、GB2,结果发现,当采用了去除增益参数的特征矢量方案X=(L0,L1,L2,L3,P1,P0,P2),识别性能得到了提高,所以本文最终采用的G.729压缩码流特征为X=(L0,L1,L2,L3,P1,P0,P2),共 7 维。
2 动态时间规整(DTW)识别算法
动态时间规整DTW(Dynamic Time Warping)是把时间规整和距离测度计算结合起来的一种非线性规整技术。该算法基于动态规划思想,解决了发音长短不一的模版匹配问题。
算法原理:假设测试语音和参考语音分别用R和T表示,为了比较它们之间的相似度,可以计算它们之间的距离D[T,R],距离越小则相似度越高。具体实现中,先对语音进行预处理,再把R和T按相同时间间隔划分成帧系列:
然后采用动态规划进行识别。如图2所示。
把测试模版的各个帧号n=1,…,N在一个二维直角坐标系的横轴上标出,把参考模版的各帧号 m=1,…,M在纵轴上标出,通过这些表示帧号的整数坐标画出的横纵线即可形成一个网格,网格中的每一个交叉点(n,m)表示测试模版中某一帧与训练模版中某一帧的交叉点。动态规划算法可以归结为寻找一条通过此网格中若干格点的路径,路径通过的格点即为测试和参考模版中距离计算的帧号。
为了使路径不至于过分倾斜,可以约束斜率在0.5~2内,如果路径已通过格点(ni-1,mi-1),则下一个通过的格点(ni,mi)只能是下列三种情况之一:(ni,mi)=(ni-1+1,mi-1+2);(ni,mi)=(ni-1+1,mi-1+1);(ni,mi)=(ni-1+1,mi-1)。用 η 表示上述3个约束条件,求最佳路径的问题可以归结为:满足约束条件 η时,求最佳路径函数 mi=φ(ni),使得沿路径的累积距离达到最小值。
整个算法主要归结为计算测试帧和参考帧间的相似度及所选路径的矢量距离累加。
识别流程如图3所示。
3 实验结果与性能分析及结论
为测试上述识别性能,对其进行了固定文本的说话人识别试验。试验中,采用电话信道863语料库30个说话人共300个录音文件,文件格式为16 bit线性PCM。为了模拟VoIP中语音压缩帧,使用G.729声码器对原始语音文件进行压缩。使用每个说话人的一个文件训练成为模板。测试语音长度为10 s~60 s以5 s为间隔的共11个测试时间标准。这样,模板库中有30个模板,测试语音有270个,使用微机配置是:CPU Pentium 2.0 GHz,内存512 MB。
在实验中,M和N取64,通过各模版间的匹配,确定了判决门限为0.3时,识别效果最佳。
为了对比DTW算法的识别性能,采用在传统说话人识别中广泛使用的GMM模型作为对比实验,其中GMM模型使用与DTW算法相同的编码流特征。
图4给出基于DTW识别方法与GMM模型 (混元数64)识别G.729编码方案863语料库的文本相关说话人的误识率对比图。横坐标代表的测试语音的时长,纵坐标代表识别误识率。由实验结果可知在文本相关的说话人识别中,基于DTW算法的识别率在绝大多数情况下高于GMM模型,且随着测试语音的增长,优势更明显。
为比较特征提取的时间性能和总的时间性能,实验条件如下:
(1)选择的50个说话人的语音只进行特征提取,测试语音长度总和在25 min左右;
(2)对测试语音分别进行解码识别和编码流的识别,模板数为10个;
(3)微机配置为:CPU Pentium 2.0 GHz,内存512 MB。
表1为特征提取时间比较结果,表2为说话人识别时间比较结果。
表1 特征提取时间比较
表2 说话人识别时间比较
由实验结果可以看出,在编码比特流中进行特征提取时间和识别的时间都远小于解码重建后的语音特征提取时间和识别时间,满足实时说话人识别的需要。
在文本相关的说话人识别中,对比使用同样G.729压缩码流特征的GMM模型,DTW方法的识别率和处理效率均高于GMM模型,能够实时应用于VoIP网络监管中。
参考文献
[1]石如亮.编码域说话人识别技术研究[D].郑州:解放军信息工程大学,2007.
[2]PETRACCA M,SERVETTI A,DEMARTIN J C.Performance analysis of compressed-domain automatic speaker recognition as a function of speech coding technique and bit rate[A].In:International Conference on Multimedia and Expo(ICME)[C].Toronto,Canada,2006:1393-1396.
[3]石如亮,李弼程,张连海,等.基于编码比特流的说话人识别[J].信息工程大学学报,2007,8(3):323-326.
[4]王炳锡,屈丹,彭煊.实用语音识别基础[M].北京:国防工业出版社,2004:264-286.
[5]李邵梅,刘力雄,陈鸿昶.实时说话人辨别系统中改进的 DTW 算法[J].计算机工程,2008,34(4):218-219.
[6]DUNN R B,QUATIERI T F,REYNOLDS D A.et al.Speaker recognition from coded speech in matched and mismatched conditions[A].In:Proc.Speaker Recognition Workshop’01[C].Grete,Greece,2001:115-120.
[7]AGGARWAL C C,OLSHEFSKI D,SAHA D et al.CSR:Speaker recognition from compressed VoIP packet stream[A].In:International Conference on Multimedia and Expo(ICME)[C].Amsterdam,Holand,2005:970-973.