账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
声纹辨别 听声辨人
 

【作者: 王小川】2004年03月25日 星期四

浏览人次:【32477】

以前我们做声纹辨识,是将人的声音频号转换成声谱图(spectrogram),从声谱图上观察说话人发音的特征,利用这些特征进行说话人的辨识,就像是利用指纹图形比对来认人一样,因此我们将经由声音来认人这样的过程,就说成是声纹辨识。其实现在的计算机已经有足够的能力,利用图像处理方式进行指纹的自动辨识,同样的,计算机也能够以语音处理技术作说话人的辨识(speaker recognition)。


虽说每个人的说话声音不太相同,对于熟识的朋友,通常听到声音就可以知道是谁,但是要做正确的辨识,却不太容易,因为声音的变量很多。例如一个人感冒了,这时候说话的声音就跟平常说话的声音不一样。我们也常常看到一些模仿名人说话的表演,相当逼真,若不是看到表演者,还真的以为是该名人本尊在说话呢。所以相对于指纹辨识,声纹辨识要困难多了,这也是为什么声纹辨识在使用上远少于指纹辨识。目前市面上可以看到一些按指纹输入作门禁管制的系统,但还极少看到只以声音输入作门禁管制的系统,在影片上看到的例子也常是配合指纹辨识或掌纹辨识一起使用,当作多一道验证程序。


随着计算机网络与无线通信的广泛使用,许多时候我们想透过手机去取得信息,按键操作不是最有效率的做法,因为用语音输入会更方便。如果要取用的信息是机密性的个人资料,就必须经过授权才可以进入系统,因此用户身份的确认便成为一个必要的步骤。可预期的,以声音做身份验证将会是未来极为需要的一项技术,但是要能克服辨识过程中可能对语音造成干扰的因素,例如说话人的变音、别人的模仿、噪音的干扰、信道造成的失真,以及编码传输时对于原始声音特征的破坏。


从频域中看语音特征

人说话的声音就叫做语音(speech),发不同的音,就有不一样的声学特征(acoustic features),从时域的波形(waveform)中并不容易看出声学特征的差异,而是要将波形转换到频域,从频谱(spectrum)上分辨。任何一个语音波形,都有其对应的频谱,时域中的波形与频域中的频谱是语音频号的一体两面,而分辨语音的差异,必须在频域中才能做到。


因此,我们在时轴上用特定长度的分析窗口(analysis window),取下一小段语音波形,视为一个音框(frame),将此音框内的语音波形转换成一个频谱。如果发音时声带振动,就可以在波形上看出讯号有周期性,可由频谱上看到振动的基本频率(fundamental frequency),以及它的许多谐振频率(harmonic frequencies),基本频率所呈现的特征就是音高(pitch),图一即展示一个发音时声带振动的音框。


如果发音时声带不振动,波形上没有呈现周期性,频谱上就看不到振动的基本频率与谐振频率,而是在高频有比较多的能量分布,图二就是展示一个发音时声带不振动的音框。


图一 发音时声带振动的波形与频谱


《图一a 波形》
《图一a 波形》
《图一b 频谱》
《图一b 频谱》

图二 发音时声带不振动的波形与频谱


《图二a 波形》
《图二a 波形》
《图二b 频谱》
《图二b 频谱》

为了观察频谱的变化,我们以固定时间间隔移动分析窗口,将一段语音变成一串音框,每一音框频谱的能量高低以颜色深浅表示,沿着时间轴,将一串音框的频谱画出来,就变成了声谱图。如果在一段时间中,发音时声带振动,声谱图上就可以看到谐振频率造成的横线条纹。如果发音时声带不振动,就只看到不规则的能量分布。图三展示一段语音的声谱图,可以看到某些时段声带振动,某些时段声带不振动。


《图三 一段语音的波形与声谱图》
《图三 一段语音的波形与声谱图》

一个经过训练的人,可以从声谱图上观察不同音段,猜出所发的是哪些语音。如果是不同的人说相同一句话,也可以从声谱图上看出差异,因为每个人会有他发音的特点。


图四展示两个人各说了相同的一句话,仔细去看两个声谱图,就会看出有许多地方是不相同的。最明显的就是说话人A的声谱图上横线条纹较宽,表示基本频率比较大,或者是说音高比较高,应该是个女性的声音。说话人B的声谱图上横线条纹较窄,表示基本频率比较小,或者是说音高比较低,是个男性的声音。另外一个差异是说话人A的第三个音节前面,子音的发音明显,而说话人B的第三个音节前面,子音的发音不明显。


图四 不同说话人的语音波形与声谱图


《图四b 说话人 B》
《图四b 说话人 B》

一般所说的声纹比对,在过去就是由经过严格训练的人,从声谱图中找出某个人的发音特点,比对这些特点,来判断一段声音是否是这个嫌疑人所发的语音。


语音特征的选取

语音频号中当然携带了可供辨识人的语音特征,但是并非所有的特征都适合作为说话人辨识之用,主要会有哪些差异? 我们又应该考虑哪些变项呢?


  • (1)发音器官的差异 - 一如人的相貌不同,发音器官也不完全一样,口腔形状与声带的不同会使得说话声音的特征不一样,也就是不同人的语音声学特征会有差异。


  • (2)说话型态的差异 - 由于习惯的不同,说话型态会不一样,例如有人说话就是比较快,或是某几个音的发音比较特殊。


  • (3)说话内容的差异 - 使用的语言、教育程度、以及社会阶层的不同,都会使得说话的内容有所差异。



上述这些差异都可以作为说话人辨识之用,不过要注意的是有些说话特性可以模仿,例如说话型态与说话内容,是可以经由学习得到的,所以可以被模仿。而发音器官的差异是天生的,它使得声学特征上有所差异,或许一般人听不出来,但是用计算机比对还是分得出来,这种声学特征就不能被模仿。所以要做说话人辨识时,去分辨由发音器官所决定的声学特征差异,就会比较可靠。


现在用计算机做说话人的辨识,是利用频域的声学特征参数及其在时间上的变化,以比对演算的方式,达成辨识的结果。最常用的声学特征参数就是发音腔道模型(vocal tract model)参数,它能准确描述说话人的发音腔道特征,用来做说话人辨识比较可靠。一个公认最适合描述发音腔道模型的参数,是「倒频谱(cepstrum)」系数,这组系数常用于做语音识别,也可以用于做说话人辨识。用于语音辨认时,会希望降低因人而异的差异性,尽可能做到与说话人不相关(speaker-independent),所以会选择其中适合区别不同语音单位的部分。但是要做说话人辨识时,就应该找与说话人相关性大的部分,理想的参数是它在同一个人的语音中有较小的变异量(variance),而在不同说话人之间有较大的变异量。


除了口腔的声学特征参数之外,随着时间改变的韵律特征(prosodic features)也是可以用于说话人辨识的特征参数,如音高轨迹、共振峰轨迹,以及音长等。


说话人辨识的类型

采用声学特征作说话人辨识可以有两种作法,一是对声学特征参数作长时间的统计,一是针对几个特定音作分析。对声学特征参数作长时间统计,是不管说话的内容,也就是它与文句不相关,我们称之为与文句不相关的说话人辨识(text-independent speaker recognition)。如果我们限制说话的内容,例如只讲数字,但是不在乎数字的组合,通常辨识效果会比较好,这就是限制内容的说话人辨识。若是针对几个特定音作分析时,就必须让说话人发出某些特定文句的语音,因此它是与文句相关的,我们称之为与文句相关的说话人辨识(text-dependent speaker recognition)。


在应用上,说话人辨识可以分成两类。一类是说话人识别(speaker identification),目的在从一群人当中找出谁是说话的人,常用于犯罪搜证中找出嫌疑犯,或是在会议录音中找出是谁在说话。另一类是说话人确认(speaker verification),目的在确认一个人的身份,这常用于门禁或数据撷取的管制。


说话人辨识的基本原理

以计算机做说话人辨识时,我们会对每一个音框计算出一组声学特征参数,例如发音腔道模型(vocal tract model)参数、倒频谱系数、基本频率、音量等,这组参数组成一个特征向量,于是一段语音就有一串的特征向量。针对某一个特定说话人,我们收集他的语音,得到许多的特征向量,这些特征向量隐含了这个说话人的个人特征。若数据量够大,我们可以从这些特征向量的分布,归纳出代表这个人的特征,如某个特征参数的平均值与变异量。对一个人的声学特征向量的分布,通常我们是以一个高斯混合模型来表示,这个模型是由该说话人的大量语音数据计算出来的,就视为说话人模型。


说话人识别

如果我们是做说话人识别(speaker identification),要从一群已经注册的人当中找出谁是说话的人,那么我们就先要有这一群人中每一个人的模型。当我们有一段受测语音,这段语音若是够长,也可以算出这段语音的特征向量分布,构成一个受测模型。将这个受测模型跟这群人的模型比对,看是与哪一个人的模型最接近,就可以判断这段语音是哪一个人的声音。


这里最重要的演算,就是计算两个模型的差距,以差距最近的模型作为辨识的结果,目前已经有许多模型距离的定义与计算模型差距的方法。如果说话人不在这一群已经注册的人当中,虽然也找出差距最近的模型,但不是正确的结果,所以我们要设定一个门坎,将不在这群人里面的受测者排除。


说话人确认

如果我们是做说话人确认(speaker verification),要确认一个人的身份,系统中就必须有这个宣称人(claimed speaker)的模型,也就是这个人是事先注册过的人,系统先收集了这个人的语音,建立了他的模型,叫做目标模型(target model)。针对这位宣称人,还得建立一个反模型(anti-model),通常是找一些不属于这个人的语音,来建立其反模型。


当一个宣称人说了一段话之后,我们计算他这段受测语音的声学特征向量分布,然后计算这些声学特征向量与目标模型的相似度(likelihood),以及这些声学特征向量与反模型的相似度。将受测语音对于目标模型的相似度,除以受测语音对于反模型的相似度,得出一个相似度比值(likelihood ratio)。


说话人确认的判断准则(decision rule),就是将相似度比值拿来与一个事先设定的门坎值做比较,大于门坎值才认定这个受测语音是属于宣称人的,否则就认为说话的人是一个冒充者(impostor)。


上述的说话人辨识方法,基本上是对声学特征参数作长时间的统计,可以与文句不相关,但是辨识正确率通常较差。若是限制在某些语音范围内,例如只讲数目字,辨识结果会好一点。如果我们也做语音的辨识与分类,抽取特定的一些语音作比对,甚至于加上韵律参数,如音高轨迹等,作为比对的参数,通常能进一步提升辨识结果的准确率。


说话人辨识系统的设计

图五与图六分别是说话人识别系统与说话人确认系统的功能方块图。



《图五 说话人识别系统功能方块图》
《图五 说话人识别系统功能方块图》

《图六 说话人确认系统功能方块图》
《图六 说话人确认系统功能方块图》

设计一个说话人识别系统或说话人确认系统,都要建立说话人模型。因此要挑选说话人的语音数据,而且是跨越一段时间的语音数据,才能建立可靠的说话人模型。原因是说话人的声音会随时间改变,一个月前的声音可能和现在的声音不太一样,因此说话人模型要能随时间更新,最好的系统设计,是在用户用过之后,就利用这时候得到的说话人语音来调整其说话人模型。


另一个设计上的考虑,是设计成有两个门坎值。例如做说话人确认的判断,计算出来的相似度比值若高于门坎值A就接受,低于门坎值B就拒绝,在A与B之间者,就要求再试,或是用另一组参数作判断,这样可以让此系统更为可靠。如果考虑到运算时间,可以用不同参数分阶段来判断,如先用长时间平均值来做大分类,然后用特定语音的特征作进一步判断。


在建立说话人模型时,所收集的语音越多,得到的说话人模型越正确可靠。测试语音的长度与辨识的结果有关,通常是测试语音越长越好,这样所计算出来的受测语音特征参数分布,或是受测模型,会比较准确。可是在实际应用情况下,如何收集语音是一件不容易的事,通常我们不希望让说话人知道他正被录音,以致于说话声音不正常,最好是不经意的让说话人发出我们想要的语音。因此,系统接口的设计需要讲究,务必使说话人能自在地面对系统说话,录音的过程尽量简短。


说话人辨识技术的前景

从国外研究成果来看,说话人辨识技术已经是可以应用的技术,虽然现在的使用还不普遍,但是已经有一些公司开发出相关的产品或服务系统,正在推广中。微软(Microsoft)公司认为语言与语音处理是计算机发展的重要技术,将语音技术的使用视为未来计算机的一项必备功能,窗口系统中早就安排好语音的接口规格,而且投入大量资源作语言与语音技术的研发。


在网络与行动通讯日渐普遍的趋势下,以声音作为人机接口,用以撷取网络上的信息,将会是一项重要的需求。而数据安全的考虑,必然会需要做人身的验证,说话人辨识自然是一项必要的技术。也许不久的将来,说话人辨识会像语音识别一样,成为计算机操作系统中的一项附带功能。在通讯网络上的应用中,人们在自由撷取信息的同时,说话人辨识正默默的扮演信息安全的把关工作。(作者为清华大学电机工程学系教授)


参考文献

Joseph P. Campbell, Jr., "Speaker recognition: A tutorial," Proceedings of the IEEE, vol. 85, no. 9, pp. 1437-1462, Sept. 1997.


Joseph P. Campbell, Douglas A. Reynolds, Robert B. Dunn, "Fusing High- and Low-Level Features for Speaker Recognition," European Conference on Speech Communication and Technology, EuroSpeech 2003, pp. 12665-2668, 2003.


S. H. Chen and H. C. Wang, "Improvement of speaker recognition by combining residual and prosodic features with acoustic features," IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP2004, Montreal, Canada, 2004.


Larry P. Heck, "On the deployment of speaker recognition for commercial applications: Issues and Best practices," The Biometrics Consortium Conference, 2003. (http://www.nist.gov/speech/tests/spk)


Alvin Martin and Mark Przybocki, "NIST's assessment of text-independent speaker recognition performance," The Biometrics Consortium Conference, 2003. (http://www.nist.gov/speech/tests/spk)


P. Jonathon Phillips, Alvin Martin, C.L. Wilson, and Mark Przybocki, "An introduction to evaluating biometric systems," IEEE Computer, vol. 33, no. 2. , pp. 56-63, Feb. 2000.


Thomas F. Quatieri, Discrete-Time Speech Signal Processing, Prentice Hall PTR, 2002.


Frederick Weber; Linda Manganaro, Barbara Peskin, and Elizabeth Shriberg, "Using prosodic and lexical information for speaker identification," IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP2002, I-133-136, 2002.


K. H. Yuo and H. C. Wang, "Joint estimation of feature transformation parameters and Gaussian mixture model for speaker identification," Speech Communication, vol. 28, no. 3, pp. 227-241, 1999.


延 伸 阅 读

语音频号之特征
语音输入的最大好处是它非常合乎人的自然行为习惯,对于不习惯使用键盘输入计算机数据的人,有了语音输入的方法之后,就不必辛苦地学习各种输入法来迎合计算机。

声纹识别 听声辨人
在生物识别技术领域中,声纹识别技术以其独特的方便性、经济性和准确性等优势受到瞩目,并日益成为日常生活和工作中重要且普及的安全验证方式。

以二维倒频谱为基础的噪音下多语者语音识别
在众多语音参数中,二维倒频谱是同时将语音信号局部的特性与整体的变化包含在一个系数矩阵中。因此只需小部份的系数被用来形成参数向量,每一个语音信号用一个参数向量而不是一串参数向量代表,所需储存参数空间及计算量都较少。
相关组织网站
美国国家标准与技术研究院官方网站
ISL生物辨识系统研发企业网站
Speech Technoloogy Center网站
王小川教授实验室首页
相关文章
「生物识别技术于终端装置之设计与应用」研讨会
迈向生活化的指纹辨识技术
主动式的认证科技 - 人脸辨识
活用身体密码 - 生物辨识技术概观
comments powered by Disqus
相关讨论
  相关新闻
» TXOne Networks揭示工控资安3大挑战 展出最新SageOne整合平台
» 远传电信营运每年减碳5万吨 获施耐德电机永续发展影响力奖肯定
» Fortinet资安报告:96%企业??心云端安全 单一云地整合管理平台成解方
» 宜鼎推出 iCAP Air 智慧物联空气品质管理解决方案 透过即时空品数据自主驱动决策
» 达梭系统携手CDR-Life 加速癌症治疗科学创新


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK85E6NMLASSTACUK4
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw