大家好,又见面了,我是你们的朋友全栈君。
语音交互
你知道苹果手机有几个麦克风吗?
·
语音交互(VUI)是指人与人/设备通过自然语音进行信息传递的过程。
语音交互的优势:
- 输入效率高。语音输入的速度是传统键盘输入方式的3倍以上。例如:语音电视选台、远场语音交互、语音支持组合指令输出(“播放周星驰电影、要免费的、4星以上的”)
- 使用门槛低。人类本就是先有语音再有文字,对于那些无法用文字交互的人来说,语音交互学习成本低,能带来极大的便利。例如:还不会打字的小孩,或者不方便打字的老人家
- 解放双手和双眼,更安全。例如:车载场景通过语音点播音乐和导航,医疗场景(医生在操作设备的时候,可能还需要记录病例)
- 传递更多的声学信息。声纹、性别、年龄、情感等。
语音交互的劣势
- 信息接收效率低。例如:文字能快速阅览概括信息,语音的话必须听完才能理解。
- 复杂的声学环境
- 心理负担。交互方式不一样,例如:不太愿意通过语音来进行交互,特别是在一些公共场合
人机语音交互发展
- 1952年,贝尔实验室,阿拉伯数字识别系统Audrey
- 1962年,IBM-Shoebox
- ……
- 2011年,iphone4s,Siri问世
- 2014年,win8,Cortana
- 2014年,Amazon发布echo音箱
- 2016年,Google发布GoogleHome
应用场景
- 免提通话
- 电话/视频会议
- 手机——Siri、小爱同学
- 车载
- 智能音响——Amazon
- 家居——电视语音点台
总结起来就是:家里、车里、路上。
复杂的声学环境
现实中的语音交互系统,无一例外的会受到各种环境不利因素的影响,极大影响了交互成功率和用户体验。
- 方向性干扰
- 环境噪声(散射噪声)
- 远讲产生的混响
- 声学回声
痛点:人和机器都听不清
一个成功的语音交互产品,意味着对语音交互的场合和使用模式无约束。
前端语音信号处理的意义:
- 面对噪声、干扰、声学回声、混响等不利因素的影响,运用信号处理、机器学习等手段,提高目标语音的信噪比或主观听觉感受,增强语音交互后续环节的稳健性。
- 让人听清:更高的信噪比,更好的主观听觉感受和可懂度,更低的处理延时。
- 让机器听清:更好的声学模型适配,更高的语音识别性能。
总结:语音信号处理的目标,是为了让人和机器更容易听清语音,让语音交互更加自然和无约束。
针对不同的干扰因素,采用不同的信号处理算法
去回声——去混响——盲源分离——波束赋形——语音降噪——自动增益控制
声学回声消除
解混响
- 盲反卷积法[NeelyandAllen,1979]
- 估计RIR的逆滤波器
- 加权预测误差[Takuya,2012]
- 消除晚期混响,适用于单通道和多通道场景
- 麦克风阵列波束形成
- 深度学习用于解混响[Han,2015]
- 通过DAE、DNN、LSTM或者GAN,实现频谱映射
语音分离
旨在解决“鸡尾酒会”问题
- 听觉场景分析法[HuandWang,2004]
- 本质上是对人的听觉特性的模拟,具体手段是二分类+监督学习
- 非负矩阵分解[LeeandSeung,2001]
- 基于统计独立假设,语音信号的稀疏性与谐波特性
- 多通道技术
- fixbeamforming,adaptivebeamforming,ICA
- 基于深度学习的语音分离
- Deepclustering [Hershey, 2016]
- Deep attractor network [Luo and Chen, 2017]
- Permutation invariant training [Yu, 2017]
波束形成
用于多通道语音增强、信号分离、去混响、声源定位
噪声抑制
消除或抑制环境噪声,增强语音信号
- 基于统计模型的方法
- 最小均方误差MMSE、最大似然估计ML、最大后验估计MAP
- 基于子空间的方法
- 利用语音和噪声的不相关性,借助特征值/奇异值分解手段分解到子空间处理
- 语音增强的核心在于噪声估计
- 递归平均、最小值追踪、直方图统计是比较常用的噪声估计手段
- 基于深度学习的语音增强方法
- 两大类方法:masking&&mapping
- 通过DNN、CNN、RNN或者GAN,在频域或时域实现(多为频域)
幅度控制
自动调整信号的动态范围
常用的两种方法
- 动态范围控制(Dynamic Range Control)
- 自动增益控制(Automatic Gain Control)
前端信号处理的技术路线
信号处理与深度学习相结合的方案
处理依据——“规则+学习”
- 客观物理模型
- 语音信号的时域、频域、空域特性
- 海量音频数据先验信息
既保留了声音传播的物理规律和信号本身的时域、频域、空域特性,又引入了先验数据统计建模的方法。
优化准则:MSE准则
基于深度学习的前后端联合优化方案
处理依据——“端到端联合建模”
- 输入多通道麦克风信号,输出语音识别结果
- 利用近场数据,仿真得到海量的带有各种干扰的训练数据
将前端信号处理与后端ASR声学模型联合建模,用一套深度学习模型完成语音增强和语音识别任务。
优化准则:识别准确率
参考
深蓝学院《语音信号处理》课件
奥本海姆,《信号与系统》,电子工业出版社
奥本海姆,《离散时间信号处理》(Discrete Time Signal Processing, Third Edition)
赵力,《语音信号处理》,机械工业出版社
郑君里,《信号与系统》,电子工业出版社,高等教育本科国家级规范教材
韩纪庆,《语音信号处理》,机械工业出版社
张贤达,《现代信号处理》,清华大学出版社
张贤达,《矩阵分析与应用》,清华大学出版社
VanTrees,检测、估计和调制理论(IV)《Optimumarrayprocessing》
Signals and Systems: an Introduction to Analog and Digital Signal Processing. 1987 Lecture. Alan V. Oppenheim
推荐开源项目
Python for Signal Processing:《Python for Signal Processing: Featuring IPythonNotebooks》对应源码,包含信号处理12大类(采样定理、傅里叶变换、滤波器等)、随机过程15大类(高斯马尔科夫、最大似然等)
Speex:A Free Codec For Free Speech。专门语音压缩而设计的,包含超过9种算法:AEC、NS、VAD等,不过现在被Opus替代。
Google WebRTC:一个免费的开放式项目,通过简单的API为浏览器和移动应用程序提供实时通信(RTC)功能。
VOICEBOX: Speech Processing Toolbox for MATLAB:语音处理工具箱,由MATLAB程序组成。超过100个函数,包含语音增强、ASR等在内。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143728.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...