2014年,在语音界的学术盛会interspeech上,新加坡的I2R实验室发布了一套用于评测文本相关识别的标准数据集RSR 2015,涵盖了文本相关领域的多个应用场景[2]。自此,文本相关识别的研究热度开始渐渐提升,而近几年大热的“深度学习”也是最先在文本相关识别上取得了比较大的突破 [3]。这里不再过多展开,有兴趣的读者可以参考各大学术数据库的资源,或者和我们团队进行交流。 而从识别的场景上考虑的话,声纹识别又可以分为说话人辨识(Speaker Identification,SI)和说话人确认(Speaker Verification,SV)两个不同的应用场景:SI指的是我们有了一段待测的语音,需要将这段语音与我们已知的一个集合内的一干说话人进行比对,选取最匹配的那个说话人。 这方面的应用案例是刑侦比对,暗中收集到的一段嫌疑人(身份未知)的声音,需要与数个可能的嫌疑人身份进行比对,选取最相似的那一个,则我们就可以认为收集到的这段语音在很大程度上就是来自于锁定的这个嫌疑人,SI是一个1对多的判别问题;而SV指的是我们只有一个目标身份,对于一段未知的语音,我们只需要判断这段语音是否来源于这个目标用户即可,SV本质上是一1对1的二分类问题。这方面典型的应用是手机端的声纹锁或声纹验证工具,对于一段验证语音,系统只需要回答“通过”或者“拒绝”即可。而SI可以间接分解为多个SV的问题,因此对于声纹识别系统性能的评测多是以SV的方式进行。 2. 动中取静-从离散信号到特征 前面提到了,声纹之所以能被识别,是因为每个人的口腔、鼻腔与声道结构都存在唯一的差异性,但这种差异性既看不到又摸不着,更要命的是,它是一个时刻都在运动着的器官构造。我们只能通过录音设备采集到的离散语音信号,间接去分析发声器官的差异性。 既然语音一直在变,那我们该如何去对语音进行分析呢?答案是:语音具备了一个良好的性质,称为短时平稳,在一个20-50毫秒的范围内,语音近似可以看作是良好的周期信号。
图5:图1中话者A“四”的发声中截取出的30毫秒长度的信号。 这种良好的平稳性为我们针对语音进行信号处理层面的分析提供了极大的便利。读者都应该还记得,在音调,响度和音色这三个声音(注意,这里我用了声音,而不是语音)的基本属性中,音色是最能反映一个人身份信息的属性(讲道理,老婆对你吼的时候,响度和音调都可以极速飙升,但老婆的音色是不大会发生剧烈变化的)。 而音色上的差异在信号处理的层面可以表示为在频域不同频段能量的差异,因此我们通过抽取不同频段上的能量值,即可以表示在这个短时语音范围内频谱的性质。通常我们会综合考虑人耳的听觉属性(人耳的一个听觉属性是在可听到的频段内,对于低频的变化更加敏感,而对于高频相对弱一些)、均衡不同频段的能量差异(对于一段8KHz采样的音频,尽管语音会分布于0-4KHz的范围内,但能量更多的集中在相对比较低频的区域)、噪声鲁棒性(我们希望特征只对语音的变化敏感,而对其他噪声等无关信息不变)以及后续的计算便利(系数之间尽可能要去除相关性)设计合适的短时声学特征,通过一系列复杂的信号处理层面的变换,一段20-50毫秒长度的语音(以8KHz采样为例,这个长度的语音对应着160-400个采样点)可以映射为一段39-60维的向量。为了充分保留语音中的原始信息,同时不增加计算的负担,通常会以15-20毫秒为间隔依次取短时段语音,然后提取特征。
图6:短时声学特征的提取 在声纹识别,包括语音识别领域,传统的声学特征包括梅尔倒谱系数MFCC、感知线性预测系数PLP、近几年的逐渐受到关注的深度特征Deep Feature [4]、以及15年公开发表的能量规整谱系数PNCC [5]等,都能作为声纹识别在特征提取层面可选且表现良好的声学特征。 综上,一段语音就被映射为时间轴上一系列的向量集合,这些集合再通过一些规整的操作后,即可成为反映语音特性的特征集合。但仅靠这些特征集合还难以实现声纹识别的目标,声学特征可以理解为时间轴上为声道拍摄的一系列快照,它直接映射的仍然是语意的内容,如何从一堆变化的特征中提取出不变的身份特性呢?接下来,就是统计建模发挥威力的时候了。 3. 化繁为简-声纹模型的进化路 既然希望计算机能够识别一个用户的声纹,那首先得让计算机“认识”这个用户的身份。典型的声纹识别的系统的框架如下图所示:
图7:典型的说话人确认系统流程图 (责任编辑:本港台直播) |