伊拉克战争的重要影响之一就是检验新技术的实用水平,其中从声音识别人就特别引人注目,其中最关键的是如何做到万无一失。
伊拉克战争正在如火如荼地进行着,双方在媒体宣传上也是战况激烈。在美国第一轮“斩首”行动之后,伊拉克总统萨达姆马上发表电视讲话,鼓舞士气,同时证明自己的存在。然而,美国联邦调查局的情报人员则称,发表电视讲话的并非萨达姆其人。此时,德国科学家分别从图像理解与分析、声纹识别两个方面证明发表讲话的就是萨达姆本人。随后萨达姆又发表了与战事内容相关的讲话,证明了他确实还“健在”。这样一则不惹人注意的新闻消息背后,却有着一个不同寻常然而又为各国情报部门所大力研发的军事科技:声纹识别。
声纹识别源于语音识别,声纹识别类似于指纹识别。指纹经过数字化处理以后,以人的手指表面皮肤纹理图像的形式存储于计算机。假如我们从犯罪现场提取罪犯的指纹,然后和计算机的存储资料对比,或者与嫌犯的指纹对比,就可以确定罪犯的身份或者犯罪证据。同样,声音也携带着每个说话人的个体信息。所谓声纹是指能惟一识别某人或某物的声音特征。例如,在上边的例子中,无论萨达姆在何时、何地发表不同内容的讲话,他的声纹始终是不变的,因此可以此断定一种声音是否是其本人发出的。当然,是事先录好还是现场直播,则另当别论。 然而,只是理解声纹还是不够的,人们还需要准确地知道声纹的具体参数,才能准确地从很多人中辨认出说话者是谁,或者是什么东西发出的声音。如何提取声纹,怎样提取才能保证识别的准确性,有了声纹如何比对,怎样处理和分离海量声频数据中的其他不相关信息,都是这项技术实现的难点。
其实声纹识别(speaker recognition)是一种广义的语音识别。在司法、公安、通信、机要等领域具有重要的应用价值。近年来,这一技术发展迅速,已经出现了一些实用系统。
目前声纹识别一般利用包含话者语音波形中特有的个体信息(声纹),自动识别话者身份。从学术研究的角度上讲,它属于统计模式识别和人工智能应用领域。 声纹识别分为话者辨认和确认。辨认是从有限的话者集合中分辨不同的人,系统性能随着话者集增大而降低;确认是系统只给出接受或拒绝两种选择。从电视讲话判定说话人,如萨达姆是否是其人,就属于确认的过程,它的难度往往更大一些。 从处理的语言内容上看,声纹识别又分成限定文本和非限定文本两种。如果说无论美国总统布什说什么,系统都能认出是他,而不是别人,这就是非限定文本识别,这种识别更难一些。目前最流行的用于识别的短时谱特征是LPC(linear Predictive Coefficients)及MFCC (Mel Frequency Cepstral Coefficients)。当然技术的发展有两面性,伴随语音技术的发展,伪装语音或伪装声纹技术也有相应的进步,所以才需要人们去认识和把握一项科技的应用。 声纹识别的过程及参数提取 一般的声纹识别过程如图1所示。
图1 声纹识别的一般过程
我们需要一份想要识别的人的原始语音信号作为对照。而这段语音信号必须经过声纹提取,形成一个模板,才能与下一次的输入做比较,从而判断是不是要找的人。 那么构成声纹的参数有哪些呢?从已有的研究可以归纳为短时频谱、基音周期、短时能量、短时过零率、倒谱、LPC参数和MFCC参数。 语音信号是一种典型的时变信号。如果把观察时间缩短到十毫秒或几十毫秒,则语言信号是近似平稳的,这是由于人的发音器官不可能是毫无规律地快速变化。例如,具有重大意义的LPC参数,就可以非常好地表达人的发音过程,即所谓的声管模型。这些参数的计算也往往基于语音信号的短时信息(帧)。如果把它们配合使用,则可以大大提高识别效率和准确性。
目前主要的难度在于能不能找到、发现可惟一标识某人或某物的这组参数,而且这组参数还是在开集条件下不限定文本的。 神经计算与声纹识别 神经计算泛指应用人工神经网络(ANN,Artificial Neural Network)进行的各种智能计算,它能体现人的某些智能特性。ANN的模型本身就是模拟人脑自身生物神经元及其连接而构造的;尽管由于计算机计算能力至今还不足以完成像人脑(1000亿左右神经细胞)那样复杂神经网络的学习和计算,但它所表现出的能力和潜力已被大家所认同,并在各行各业中大显身手。 其实ANN也是由若干单个神经元互连而成的。每个神经元可以由图2所示的数学模型模拟。
图2 单神经元模型
我们可以把它看成一种映射关系,当一个音频特征输入时,通过神经连接强度[w1,w2,…wn]和激活函数f的运算来决定这个神经元是否被激活。如果被激活,它就向与它连接的其他神经元发出刺激信号,相反就发出抑制信号。那么复杂一点的网络如图3所示,它的详细参数如图4所示。
图3 4个神经元组成的网络
图4 4个神经元组成的网络(详图)
这里就出现了4个神经元,它们共同形成网络,对输入的信号做出反应。于是,所谓的学习就是当某些共性的输入反复出现时,我们让ANN给出一个稳定的输出,代表它对这一组共性输入已经有所掌握,学术上可以把这称做聚类分析。
人工神经网络模型已被应用在语音技术的许多方面。笔者考虑到ANN的统计特性、鲁棒性、学习能力、非线性映射能力,所以决定用它来分析一个特定人的声纹信息,找到和发现他的声纹。 从声纹识别特定人要识别一个特定人需要找到特定人的一组声纹参数,并是在开集条件下、限定文本的。首先从电视上采录下一个特定人的音频波形,如图5所示;然后进行参数提取,采用240点的分帧,计算基频及其16阶LPCC谱参数,然后把有效的LPCC参数画出来,如图6所示。
图5 特定人的音频波形
图6 特定人的声纹分布曲线
可见特定人的声纹在这一段采样中是稳定的。但是哪一个才能真正代表特定人而非他人呢?这里还需要做一些统计和聚类的工作,我们采用ANN技术,用2×2的SOFM(Self Organizing Feature Map)神经网分析过后发现了一种声纹模式(图6中的一条线),可以代表特定人的特征,这种特征使得特定人说话时学习过这一特征的神经元十分活跃。于是就把这条线所代表的参数定义为特定人的声纹。以后要判定某一种声音是否是所说的特定人的声音,用此声纹模式做比对就可以做出判断。
根据不同的需要,如何提取有效的研究对象的声纹、怎样提取、如何保证准确性、如何处理与去除不相关干扰等,都是声纹识别研究中的难题。
另外,声纹不只是指人的语音特征,它可以是任何物体发出的可闻或不可闻的信号,这就如同海豚可以发出、听见并且辨认几海里之外的鱼群一样,因此它的应用领域和前景不可预估。