开发基于自然语言的语音识别系统面临许多技术挑战,包括使用精确的语音识别引擎将机器听到的内容翻译成文字—以及一个综合的自然语言处理器,它能判断所说内容的意思或意图,然后返回一个有意义的响应或动作。这些课题已经被广泛研究几十年了,这里不作过多讨论。本文主要讨论在远场语音接口系统中经常被忽视但同样很重要的技术性挑战:在语音到达语音识别引擎之前的语音预处理。
即使是最现代的语音识别引擎要想运转良好也有一个基本的要求—输入到该引擎的必须是语音。虽然对远场语音接口系统来说这似乎是显而易见的要求,但它却是最具挑战性的要求之一。这里的“远场”指的是用户话音距产品麦克风的距离超过半米的系统。举例来说,靠近用户脸部的智能手机形成的是一种“近场”用例,但对着一臂之长的PC机或平板电脑讲话或隔着房间对电视机、立体声系统、灯光开关、自动调温器或智能家庭控制器讲话ADC都算作“远场”用例。
近场和远场用例之间存在着许多重要的差别,这些差别产生了在近场系统中没有但在远场系统中十分艰巨的技术性挑战。
1.大动态范围:在远场系统中,用户语音可能非常低,因为他/她与产品麦克风有数米距离,但干扰可能非常大,比如在受语音控制的扬声器系统中有音乐回放的场合。
2.低信噪比(SNR)、低直接路径与混响路径比(DRR)以及未知方向的语音和噪声:远场系统中的语音噪声比要比近场系统中的小得多。随着用户不断远离产品的麦克风,语音电平会越来越小,而背景噪声电平保持不变。
同样,从用户嘴巴到麦克风的间接路径——从沿途的墙体和窗户等表面的反射路径与从用户到麦克风的直接路径相比可能有很显著的功率(即低的DRR)。在使用传统的语音处理技术和语音识别引擎时这种混响效应会造成很大的问题。
最后,在远场系统中,用户语音相对于麦克风的方向以及噪声相对于麦克风的方向都是未知的。在典型应用场合,噪声甚至与用户语音来自相同的方向。
3.全双工话音交互:在许多远场系统中,当用户对着产品讲话时,产品的扬声器中可能正在播放音频内容,如音乐、电影或话音提示。这时需要使用一个全双工的回声消除器,以便在聆听用户语音的同时抵消掉产品的回放输出声。在回声消除器并不完全了解回放内容的系统中情况就更加复杂了。
在这些情况下,实现一个依然能够良好拾取语音的系统是一项极具挑战性的任务。本文将介绍传统方法为何无法在这些远场条件下提供可接受性能的原因,然后提出了能以极具成本效益的方法提供卓越远场性能的一种解决方案。
大动态范围
用于智能家庭设备的语音捕获系统需要支持大信号动态范围,从轻声细语到响亮的音频内容回放。对于与用户距离大概在0.5米至3米范围内的设备来说,设备麦克风处的语音电平范围大概在75dB至44dB SPL。对于体积不大的音频回放设备来说,回放内容在设备麦克风处的SPL电平可能接近95dB。这种典型和极具挑战性的用例对设备中的麦克风和模数转换器(ADC)的选型有很大的影响。
对于远场应用来说,选择具有高信噪比值的麦克风非常重要。如上所述,目标语音信号的SPL 电平可能低至44dB。对于94dB SPL的1kHz音来说,如果使用信噪比(SNR)为66dB的麦克风,等效的本底噪声为28dB SPL,那么最差情况下的语音与麦克风自身噪声之比为16dB。如果选择信噪比为55dB的麦克风,那么语音与麦克风自身噪声之比可能低至5dB!
ADC内部的本底噪声也很重要,因为如果应用中的ADC动态范围不够的话,还会造成信号饱和。
图 1显示了两种ADC的输入参考噪声,它们都是麦克风增强设置值的函数。红线显示的是动态范围大约是96dB的18位ADC性能,蓝线显示的是动态范围大约为106dB的24位ADC性能。作为参考,灰线显示的是信噪比为66dB、灵敏度为-43dBV/Pascal的麦克风自身噪声电平。
图1:麦克风自身的噪声和来自ADC的噪声将叠加在一起形成系统总的本底噪声。
图 2和图3显示了分别使用96dB动态范围和106dB动态范围的ADC时系统的属性。106dB ADC可以提供更低的本底噪声和更高的饱和点。合理的设置是针对96dB ADC使用24dB的麦克风增强值、针对106dB ADC使用12dB的麦克风增强值。在本例中,使用106dB ADC时的本底噪声要低2dB,饱和点要高12dB。本底噪声低2dB对于拾取远场条件中的语音来说尤其重要。
图2:这张表显示了使用96dB ADC时的系统属性。
图3:这张表显示了使用106dB ADC时的系统属性。
考虑到峰值内容和谐振等因素,由于回声而在麦克风处产生的SPL电平可能达到96dB甚至更高。因此对于具有大声回放而且体积不大的设备来说,在使用 96dB或者更低动态范围的ADC时饱和问题很常见。当在实际系统中遇到这些问题时,唯一的解决方案通常是进一步降低麦克风的增强值,但这样做的同时会抬高本底噪声。在这个例子中,麦克风增强值需要减小到12dB。然而,与106dB ADC相比,这样做将使本底噪声高出4.3dB。因此我们可以知道,对远场产品来说首选的解决方案是使用具有高信噪比的麦克风和106dB或更高动态范围的ADC。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)