一、前端信号处理

1. 语音检测(VAD)

语音检测(英文一般称为 Voice Activity Detection,VAD)的目标是,准确的检测出音频信号的语音段起始位置,从而分离出语音段和非语音段(静音或噪声)信号。由于能够滤除不相干非语音信号,高效准确的 VAD 不但能减轻后续处理的计算量,提高整体实时性,还能有效提高下游算法的性能。

VAD 算法可以粗略的分为三类:基于阈值的 VAD、作为分类器的 VAD、模型 VAD。

基于阈值的 VAD:通过提取时域(短时能量、短期过零率等)或频域(MFCC、谱熵等)特征,通过合理的设置门限,达到区分语音和非语音的目的。这是传统的 VAD 方法。
作为分类器的 VAD:可以将语音检测视作语音/非语音的两分类问题,进而用机器学习的方法训练分类器,达到检测语音的目的。
模型 VAD:可以利用一个完整的声学模型(建模单元的粒度可以很粗),在解码的基础,通过全局信息,判别语音段和非语音段。

VAD 作为整个流程的最前端,需要在本地实时的完成。由于计算资源非常有限,因此,VAD 一般会采用阈值法中某种算法;经过工程优化的分类法也可能被利用;而模型 VAD 目前难以在本地部署应用。

2. 降噪

实际环境中存在着空调、风扇以及其他各种各样的噪声。降低噪声干扰,提高信噪比,降低后端语音识别的难度。 
常用的降噪算法有 自适应 LMS 和维纳滤波等。

3. 声学回声消除(Acoustic Echo Cancellaction, AEC)

AEC也是一种常见的技术,在语音通话中,AEC是必不可少的基础技术。 
 

具体的,AEC 的目的是,在音箱扬声器工作(播放音乐或语音)时,从麦克风中收集的语音中,去除自身播放的声音信号。这是双工模式的前提。否则,当音乐播放时,我们的声音信号会淹没在音乐声中,不能继续对音箱进行有效的语音控制。

4. 去混响处理

在室内,语音会被墙壁等多次反射,麦克风采集到(图12)。混响对于人耳完全不是问题,但是,延迟的语音叠加产生掩蔽效应,这对语音识别是致命的障碍。

对于混响,一般从两个方面来尝试解决:1)去混响 2)对语音识别的声学模型加混响训练。由于真实环境的复杂性,一定的前端去混响算法还是非常有必要的。

5. 声源定位(Direction of Arrival estimation, DOA)

声源定位是根据麦列收集的声音语,确定说话人的位置。DOA 至少有两个用途,1)用于方位灯的展示,增强交互效果;2)作为波束形成的前导任务,确定空间滤波的参数。

声源定位有如下常用方法有基于波束扫描的声源定位、基于起分辨率率谱估计的声源定位以及 基于到达时间差(Time Difference of Arrival, TDOA)的声源定位。考虑到算法复杂性和延时,一般采用TDOA方法。

6. 波束形成(Beam Forming, BF)

波束形成是利用空间滤波的方法,将多路声音信号,整合为一路信号。通过波束形成,一方面可以增强原始的语音信号,另一方面抑制旁路信号,起到降噪和去混响的作用(图13)。

二、 唤醒

出于保护用户隐私和减少误识别两个因素的考虑,智能音箱一般在检测到唤醒词之后,才会开始进一步的复杂信号处理(声源定位、波束形成)和后续的语音交互过程。

一般而言,唤唤醒模块是一个小型语音识别引擎。由于目标单一(检测 出指定的唤醒词),唤醒只需要较小的声学模型和语言模型(只需要区分出有无唤醒词出现),声学打分和解码可以很快,空间占用少,能够在本地实时。

也有唤醒做为关键词检索(key word search)或文本相关的声纹识别问题来解决。

三、语音交互

语音交互的基本流程如图16所示。下面分别对各个环节进行简要介绍。 
 

1. 语音识别(Automatic Speech Recognition, ASR)

语音识别的目的是将语音信号转化为文本。语音识别技术相对成熟。目前,基于近场信号的、受控环境(低噪声、低混响)下的标准音语音识别能够达到很的水平。然而在智能音箱开放性的真实环境,语音识别依然是一个不小的挑战,需要接合前端信号处理一起来优化。

2. 自然语言理解(Natural Language Understanding, NLU)

NLU 作为一个研究课题还远没有被解决。但是在限定领域下,结合良好的产品设计,我们还是能够利用现有技术,做出实用的产品。

可以将基于框架的(frame-based) NLU 分为三个子问题去解决(图15): 
* 领域分类:识别出用户命令所属领域。其中,领域是预先设计的封闭集合(如产品设计上,音箱只支持音乐、天气等领域),而每个领域都只支持无限预设的查询内容和交互方式。 
* 意图分类:在相应领域,识别用户的意图(如播放音乐、暂停或切换等)。意图往往对应着实际的操作。 
* 实体抽取(槽填充):确定意图(操作)的参数(如确定,具体是播放哪首歌或哪位歌手的歌曲)。

3. 对话管理(Diaglou Management, DM)

多轮对话对于自然的人工交互非常重要。比如,当我们询问“北京明天的天气怎么?”,之后,更习惯追问“那深圳呢?”而不是重复的说”**深圳明天的天气怎么?**“

在 NLU 无有得到很好解决的情况下,对话管理似乎不可能。好在限范围下,结合产品设计,还是能做的不错。一般的作法是,将轮对话解析出的参数做为上下文(全局变量),带入到下一轮对话;当前轮对话,根据一定的条件判断,是否保持在上一轮的领域,是否清空上下文。

不同于纯粹的聊天机器的对话管理,智能音箱的对话管理还有实际的操作功能(查询信息、提供控制指令)。

4. 自然语言生成(Natural Language Generation, NLG)

目前完全自动化的 NLG 方法还不成熟。实际产品中,多采用预先设计的文本模板来生成文本输出。比如,播放歌曲时,生成语句为:“即将为您播放【歌手名】的【歌曲名】”。

5.  语音合成(Speech Synthesis)

语音合成又叫做文语转换(Text-to-Speech,TTS),更常见可能是 TTS 这一称呼。TTS 的终极目标是,使机器能够像人一样朗读任意给定的文本。

评价实用的语音合成系统的两个主要的标准是1)可懂度(人能够听懂)和2)自然度(使人听着舒服)。目前,可懂度的问题基本得到解决。参数合成和拼接合成是TTS的两种主要合成方法,其中,参数计算量小,部署灵活,但自然较差;拼接接近真人发音,存储和计算资源高,一般只能在线合成。例如,Echo 采用的基于单元选择(unit selection)的拼接合成。

四、 其他技术

最后,我们简单列举一些相对成熟,但还没有广泛应用于智能音箱的技术。

声纹识别

声纹识别是据语音波形反映说话人生理和行为特征的语音参数,自动识别说话人身份的一项技术。微信中的声音锁就是声纹技术的一项具体应用。

通过声纹识别,可以设计出更加个性化的服务。

人脸检测

如果音箱配置为摄像头,可以通人脸检测,确定用户的位置。一方面可以有更好的交互设计,另一方面可以辅助声源定位。

人脸识别

同声纹识别类似,人脸识别也可以用来确定用户的身份。

原文出处:https://blog.csdn.net/jackytintin/article/details/62040823

语音交互设备 前端信号处理技术和语音交互过程介绍相关推荐

  1. python语音信号处理_现代语音信号处理笔记 (一)

    本系列笔记对胡航老师的现代语音信号处理这本书的语音处理部分进行总结,包含语音信号处理基础.语音信号分析.语音编码三部分.一开始以为三部分总结到一篇文章里就可以了,但写着写着发现事情并没有那么简单... ...

  2. 【深蓝学院:语音信号处理笔记】前端语音处理技术综述

    [深蓝学院:语音信号处理笔记]前端语音处理技术综述 常见设备的语音处理技术 1.手机语音通话降噪 至少俩个麦克风,一个在手机底部,一个在手机顶部.语音通话时,到达底部与顶部麦克风的语音信号有幅度差,一 ...

  3. 聊一聊麦克风阵列技术:语音交互应该选用怎样的方案?(转载)

    转自:http://news.soundai.com/?id=7 雷锋网(公众号:雷锋网)按:本文作者陈孝良,工学博士,声智科技创始人.雷锋网独家文章. 亚马逊Echo和谷歌Home争奇斗艳,除了云端 ...

  4. 大牛讲堂 | 语音专题第一讲,麦克风阵列的语音信号处理技术

    雷锋网按:徐荣强(Kevin),地平线硬件音频工程师.2011年11月毕业于英国爱丁堡大学通信与信号处理专业,曾任诺基亚,联想,微软高级音频工程师.现在Horizon-Robotics负责语音相关硬件 ...

  5. 活动推荐:语音和语言技术在自然交互中的实践沙龙

    智能语音技术已经渗透进家居生活.车载.金融服务等日常生活场景,在很大程度上解放了人们的双手和眼睛,语音交互成为连接人与信息/服务的新入口.根据IDC预测,国内对话式人工智能市场规模将在2022年达到7 ...

  6. 语音专题第一讲,麦克风阵列的语音信号处理技术

    转载自地平线机器人大讲堂,主讲人徐荣强. 2011年11月毕业于英国爱丁堡大学通信与信号处理专业,曾任诺基亚,联想,微软高级音频工程师.现在Horizon-Robotics负责语音相关硬件系统设计,涉 ...

  7. 基于AI的语音信号处理技术

    语音信号处理的目的就是在复杂的语音环境中提取有效的语音信息. 一.语音信号 技术思想及原理分析 语音唤醒的原理是让模型学习特定唤醒词的语音信号特征,当输入设备捕捉到一定阈值范围内的语音信号时,当前设备 ...

  8. 学习笔记:《数字媒体技术概论》-4/10 数字语音信号处理技术及应用-中国大学慕课公开课

    目录 4-数字语音信号处理技术及应用 4.1-数字语音的基本概念 4.2-数字语音技术主要研究方向 4.3-语音识别 4.4-声纹识别与语音合成 声纹识别 4-数字语音信号处理技术及应用 4.1-数字 ...

  9. 腾讯AI Lab语音技术中心应用与研究介绍

    "CCF语音对话与听觉专业组走进企业系列活动"第十期之"走进腾讯"研讨会于上周六圆满闭幕,本次研讨会由上海交通大学钱彦旻副教授主持,并邀请到四位专家介绍腾讯语音 ...

最新文章

  1. CSDN湘苗培优|保持热情,告别平庸
  2. 一文讲清楚什么是迁移学习?以及它都用在哪些深度学习场景?
  3. 创新工场南京人工智能研究院执行院长冯霁:联邦学习中的安全问题
  4. [Java开发之路](23)装箱与拆箱
  5. 如何在Python中将一个字符串附加到另一个字符串?
  6. Java开发面经分享:SpringIOC中复杂属性如何“巧妙
  7. jquery ajax怎么实现,你认为他有什么不足之处
  8. Android 3D开发,OpenGL ES 的使用(一)
  9. 场内场外交易成本_选择场内基金还是场外基金,看这篇文章就够了
  10. Netty4.0学习笔记系列之三:构建简单的http服务
  11. 信号与系统:希尔伯特变换
  12. 降了还是涨了?瓶装水市场再秀迷幻操作
  13. 在C/C++中的struct使用函数指针,而且在C++中的struct还能使用成员函数
  14. 阿里巴巴集团学术委员会主席曾鸣纵论BAT人工智能战略:任何公司都必须AIl in AI
  15. 【感恩节的小礼物】yagmail给家人朋友来一份含有温情的关心和推送吧~Python3自动发送暖心内容邮件。
  16. 办公:office办公软件Excel表格的打印技巧
  17. 《计算机网络》笔记摘抄汇总
  18. win10一直显示无网络连接到服务器,win10的网络为什么会有时显示无法连接到internet...
  19. node官网下载安装
  20. 交易所要变天?去中心化交易所崛起,蚕食用户,抢夺流量

热门文章

  1. 为什么需要架构图,怎么画?
  2. 从零开始编写自己的C#框架(1)——前言
  3. 【原】基础篇:第一篇,本节主要向大家介绍Ext的最基础的话题
  4. vite2.1 最新alias别名设置方式
  5. vux 组件库首次使用安装
  6. Nginx Slab内存管理
  7. Thread.CurrentPrincipal HttpContext.Current.User
  8. jQuery实现分页
  9. 再见了 React、Angular,Vue3 才是 yyds
  10. JavaScript --- 自定义优先级队列