另一方面,语音交互语音交互(VUI: Voice User Interface )是指人与人或者人与设备通过自然语音进行信息传递的过程。
1 .语音交互优势(1)输入法效率较高)相对于键盘输入,语音输入速度是传统输入法的3倍以上(有权威统计分析数据)。 语音检索效率高; 跨越空间,也称为远程语音交互,至少可以组合一米以上的命令。 例如,面对智能机顶盒,“周星驰的电影,http://www.Sina.com/http://www.Sina.com/http://www.Sina.com
)2)双手与双眼分开,更加安全)不能像车载系统的语音请求和语音导航场景一样)正常用手驾驶,用手请求音乐)。 例如,在医疗场景中,医生可以在手术的同时用口语记录病例数据。
)3)对于无法使用低门槛)文字交流的qcdys (老人/孩子/盲人/国家),语音交流非常方便。
)4)语音可以传递更多信息,如声纹、年龄、性别、情感等(这些信息都可以通过一定的算法提取)。
2 .语音交互的缺点(1)信息接收效率低。从输出的效果和观点来看,输出是线性输出。 例如,等发言者说完,或者说大部分语音才能理解意思,但文字不同,文字可以推测上下文。 例如,某种信息的传递,人们喜欢看文字,提取关键词就可以了,不需要一字一字地读。 微信推出的语音文本转换功能就是考虑到了这一痛点。 关于较长的声音,如果转换成文本的话,几秒钟就能知道什么信息,但我想听声音需要一两分钟。
)2)复杂的音响环境)环境中存在不想听的声音,但也有想听的声音。
)3)心理负担)用户的心理负担(此时文本输入相对占优势),如想检索某个敏感信息。
3 .人机语音交互的历史(1) 2011年,iPhone4s、Siri问世。
)近年来,智能音箱市场的兴起(哭泣的白云、小巧的爱、天猫精灵)。
)2)智能AI机器人。
4 .人机语音交互流程
解决流程:
1 )用户)唤醒指令(语音)智能硬件设备)语音) ASR )自动语音识别系统)文本) NLP )自然语言理解系统)分析用户意图,调用相应的接口代码使其具备相应的功能----回复反馈文本----文本---TTS (文本朗读系统----语音----智能硬件设备----向用户广播。
2 )完整的交互过程包括文本到语音的转换、语音到文本的转换,核心是文本的分析(NLP ),而前端语音信号处理是重要的基础,需要提取纯高质量的前端语音数据。
5 .语音交互应用场景下图为相关统计数据。 包括积极因素和消极因素,按3个阶段(0/1/2)评分。
数据分析结果表明,家庭场景下语音交互的需求和用户意愿较高,其次是车载,最后是移动场景(耳机)。
二.复杂声学环境1 .因素1 )定向干扰(人声干扰
2 )环境噪声(散射噪声,可能在各个方向出现) )。
3 )远程讲课产生的混响
4 )声回波(评分)。
人和机器听不懂。
2 .针对前端语音信号处理的意义噪声、干扰、声回波、混响等不利因素,采用信号处理、机器学习等手段,提高目标语音的信噪比或主观听觉感受,增强语音交互后续环节的鲁棒性。
1 )人听得清楚)更高信噪比、更好的主观听觉感受和理解度、更低的处理延迟
2 )让机器听得清楚(ASR ) :提高声学模型的适应性,提高语音识别性能
p>三、前端语音信号处理 1. 场景实例
例1:音视频通话/会议
远端的人说出的话(设备自身产生的回声),又被自己的麦克风拾取到。所以,对于一般的音视频通话系统,比如智能音箱、智能会议系统、会议音箱等都有一个回声消除模块,否则远端的人又会听到自己说话的声音。
例2:苹果手机的又几个麦克风?4个及以上
目的:保证通话质量、主动降噪(至少具备两个麦克风)。
例3:个人PC
例4:智能设备(车载/音箱/App手机助手)
2. 场景细分
针对不同的干扰因素,采用不同的信号处理算法。
1)声学回声消除模块(AEC: Acoustic Echo Cancellation)
该模块一般位于一个人机交互系统的最前端,和唤醒系统联系紧密。
2)解混响模块(De-reverb)
解决的是远讲语音产生的混响效应。
3)盲源分离模块(BSS: Blind Source Separation)
单/多通道的盲分离,干扰因素一般是方向性干扰,即人声干扰。主要是分离出干扰人声的信号,提取出目标人声信号(比如:A对着音箱下达指令的同时,B站在旁边说了一句不相干的话)。
4)波束形成模块(Beamforming)
需要多个通道,多个麦克风,即一般由麦克风阵列来实现。
5)噪声抑制模块(NS: Noise Suppression)
尽可能地消除周围环境的背景噪音。
6)幅度控制模块之自动增益控制模块AGC
幅度包括由小变大的拉升、大变小的压缩。交互场景一般是远距离,远场语音交互,那么语音到达拾音模块的时候,能量已经损失,所以大部分情况下需要将幅度拉伸,变大,再送给ASR系统进行识别。
2.1 回声消除
消除设备自身产生的干扰。因为回声指的是设备自己产生的。
2.2 去混响 2.3 语音分离(盲分离)
2.4 波束形成
用于多通道语音增强、信号分离、去混响以及声源定位。主要是:多通道语音增强和声源定位。
2.5 噪声抑制
消除或抑制环境噪声,还有一点是增强语音信号。
2.6 幅度控制
四、前端信号处理技术路线
在深度学习出现之前,语音信号处理使用的都是传统的处理技术。
1. 传统的前端信号处理方案 1.1 处理依据是“规则”(1)客观物理模型,即声音传播的物理规律
(2)语音信号的特性:时域特性、频域和空域特性
针对不同的干扰因素,采用不同的信号处理算法加以解决。
1.2 优化目标
抑制干扰信号,提取目标信号。
1.3 优化准则
最小均方误差准则,MSE(Meam Square Error)。
2. 信号处理和深度学习的结合 2.1 处理的依据是“规则+学习”
1)客观物理模型
2)语音信号的特性:时域特性、频域和空域特性
3)海量音频数据先验信息
即保留了声音传播的物理规律和信号本身的特性,又引入了先验数据统计建模的方法。
2.2 优化准则
也是MSE准则。
3. 基于深度学习的前后端联合优化方案 3.1 处理依据是“端到端的联合建模”
1)输入多通道麦克风信号,输出语音识别结果
2)利用近场数据,仿真得到海量的带有各种干扰的训练数据
将前端信号处理和后端ASR声学模型联合建模,用一套深度学习模型完成语音增强和语音识别任务。
3.2 优化准则
识别准确率。
五、参考书籍
六、开源项目和学习代码
(1)Athena-signal
链接:https://github.com/athena-team/athena-signal
(2)Python for Signal Processing
链接:https://github.com/unpingco/Python-for-Signal-Processing
《Python for Signal Processing: Featuring IPython Notebooks》对应源码,包含信号处理12大类(采样定 理、傅里叶变换、滤波器等)、随机过程15大类(高斯马尔科夫、最大似然等)
(3)Speex
链接:https://www.speex.org
(4)Google WebRTC
链接:https://webrtc.org
(5)VOICEBOX: Speech Processing Toolbox for MATLAB
链接:http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html