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

 

一、前端信号处理

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【BZOJ1500】[NOI2005]维修数列 Splay

【BZOJ1500】[NOI2005]维修数列 Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目。第2行包含N个数字,描述初始时的数列。以下M行,每行一条命令,格式参见…

bzoj2588: Spoj 10628. Count on a tree(树上第k大)(主席树)

每个节点继承父节点的树&#xff0c;则答案为query(root[x]root[y]-root[lca(x,y)]-root[fa[lca(x,y)]]) #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> using namespace std; const int maxn1…

图文详解YUV420数据格式

YUV格式有两大类&#xff1a;planar和packed。 对于planar的YUV格式&#xff0c;先连续存储所有像素点的Y&#xff0c;紧接着存储所有像素点的U&#xff0c;随后是所有像素点的V。 对于packed的YUV格式&#xff0c;每个像素点的Y,U,V是连续交*存储的。 YUV&#xff0c;分为三个…

USB通信接口介绍

1. 概述 Usb Universal Serial Bus全称通用串行总线&#xff0c;是一种支持热插拔的高速串行传输总线&#xff0c;使用差分信号来传输数据。 USB设备可以直接和host通信&#xff0c;或者通过hub和host通信。一个USB系统中仅有一个USB主机&#xff0c;设备包括功能设备和hub&…

HDCVI——一种创新性的高清视频传输方案

什么是HDCVI 2012年11月&#xff0c;大华技术股份有限公司发布了具有自主知识产权的同轴高清传输接口技术HDCVI。HDCVI技术是一种基于已有SYV75-3或SYV75-5同轴电缆的高清视频传输方法&#xff0c;能够在低成本和较低质量的同轴电缆上实现超长距离高清视频信号的可靠传输。相比…

智能机器人品牌简介

随着科技的发展&#xff0c;硬件的计算速度和大数据支撑&#xff0c;越来越多的智能化设备和产品出现在我们的面前&#xff0c;为我们的生活带来更多便利。其中包括智能机器人&#xff0c;这种产品是有自己的“大脑”&#xff0c;可以接收人为指令&#xff0c;为人服务&#xf…

诞生之日 随笔

今天我诞生了&#xff0c;祝自己诞生日happy&#xff0c;happy&#xff0c;happy&#xff01; 转载于:https://www.cnblogs.com/xiaohuihui-/p/7594406.html

智能音箱 之 麦克风参数介绍

1. 定义 麦克风&#xff0c;学名为传声器&#xff0c;是将声音信号转换为电信号的能量转换器件&#xff1b;声—电转换。 与扬声器正好相反&#xff08;电—声转换&#xff09;&#xff0c;构成电声设备的两个终端&#xff0c;俗称咪头&#xff0c;麦克等。 是电声系统的入口&a…

利用django框架,手把手教你搭建数据可视化系统(一)

如何使用django去构建数据可视化的 web,可视化的结果可以呈现在web上。 使用django的MTV模型搭建网站 基础铺垫—MTV模型 Created with Raphal 2.1.0Request服务器&#xff08;Djangoweb&#xff09;Response首先&#xff0c;要搞清楚我们去访问服务器&#xff0c;服务器返回信…

智能音箱 之 扬声器喇叭介绍

在全双工语音交互的系统中&#xff0c;功放的质量是非常重要的&#xff0c;因为AEC回声消除对信号失真 是非常敏感的。音频通路的整体谐波失真需要控制在5%以内。 对于整个系统的谐波失真来说&#xff0c;扬声器是最关键的因素&#xff0c;其次是功放&#xff0c;麦克风的很小…

UML学习——类图(三)

1.类图 UML类图是用来描述类、接口、协作及它们之间的关系的图。用来显示系统中各个类的静态结构。 2.类图的组成元素 类图由以下六种元素组成&#xff1a;类&#xff0c;接口&#xff0c;泛化关系&#xff0c;关联关系&#xff0c;依赖关系&#xff0c;实现关系。 3.类图的绘制…

传锤子科技解散成都分公司 才搬迁一年罗永浩就顶不住了

雷帝网 乐天 10月16日报道今日有网友爆料&#xff0c;锤子科技解散成都分公司。有网友指出&#xff0c;爆料的人是锤子科技早期员工王前闯。网友爆料锤子成都研发中心解散网友爆料锤子成都研发中心解散2016年&#xff0c;锤子科技亏损4亿元&#xff0c;一直徘徊在破产的边缘&am…

Maven and Nexus2

2019独角兽企业重金招聘Python工程师标准>>> Maven and Nexus2 Maven是什么&#xff1f; 构建工具&#xff1a; 通过简单的命令&#xff0c;能够完成清理、编译、测试、打包、部署等一系列过程。同时&#xff0c;不得不提的是&#xff0c;Maven是跨平台的&#xff0…

Linux kernel的中断子系统之(九):tasklet

返回目录&#xff1a;《ARM-Linux中断系统》。 总结&#xff1a; 二介绍了tasklet存在的意义。 三介绍了通过tasklet_struct来抽想一个tasklet&#xff0c;每个CPU维护一个tasklet链表tasklet_vec/tasklet_hi_vec&#xff0c;然后介绍了如何定一个一个tasklet(静态/动态)&#…

智能音箱 之 功放介绍

基本分类 功率放大器分甲类功放&#xff08;A 类&#xff09;&#xff0c;乙类&#xff08;B 类&#xff09;&#xff0c;甲乙类&#xff08;AB 类&#xff09;和丁类&#xff08;D 类&#xff09;&#xff1b; A 类 指在信号的整个周期内&#xff0c;放大器的任何功率输出…

create_workqueue和create_singlethread_workqueue【转】

本文转载自&#xff1a;http://bgutech.blog.163.com/blog/static/18261124320116181119889/ 1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量&#xff0c;使得线…

vue学习之路.02

2019独角兽企业重金招聘Python工程师标准>>> 第一个vue项目 1.创建 vue init webpack app01 2.安装依赖 cd app01 npm install 3.构建 npm run dev 启动本机的8080端口 或 …

解析电子墨水屏技术(工作原理与LCD的区别)

阅读电子书早已成为大家生活中一部分&#xff0c;方便轻巧的电子版书籍更便于携带&#xff0c;而电子阅读器也不仅仅局限于电脑、手机等传统设备&#xff0c;新兴的电子书阅读器渐渐为我们所接受。E-ink电子墨水技术就是现在最著名的产品之一&#xff0c;他的出现让电子书阅读器…

入门视频采集与处理(BT656简介) 转

凡是做模拟信号采集的&#xff0c;很少不涉及BT.656标准的&#xff0c;因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号&#xff0c;那么&#xff0c;BT.656到底是何种格式呢&#xff1f;本文将主要介绍 标准的 8bit BT656&#xff08;4:2:2&#xff09;YCbCr SDTV&…

眼图(Eye Diagram)与数字信号测试

问题: 什么是眼图&#xff1f;它用在什么场合&#xff1f;反映了波形的什么信息&#xff1f;NI相应的解决方案是怎样的&#xff1f; 解答: 眼图&#xff08;Eye Diagram&#xff09;可以显示出数字信号的传输质量&#xff0c;经常用于需要对电子设备、芯片中串行数字信号或者…