【AIOT】语音学习

news2024/9/21 20:34:36

声音以波的形式传播,即声波(Sound Wave)。当我们以波的视角来理解声音时,却又大繁若简起来:仅凭频率(Frequency)、幅度(Magnitude)、相位(Phase)便构成了波及其叠加的所有,声音的不同音高(Pitch)、音量(Loudness)、音色(Timbre)也由这些基本“粒子”组合而来。人耳对频率的接受范围大致为 20 Hz至20 kHz。

1. 语音交互优劣

1.1. 优势

  • 输入效率高。语音输入的速度是传统键盘输入方式的3倍以上。例如:语音电视选台、远场语音交互、语音支持组合指令输出(“播放周星驰电影、要免费的、4星以上的”)
  • 使用门槛低。人类本就是先有语音再有文字,对于那些无法用文字交互的人来说,语音交互学习成本低,能带来极大的便利。例如:还不会打字的小孩,或者不方便打字的老人家
  • 解放双手和双眼,更安全。例如:车载场景通过语音点播音乐和导航,医疗场景(医生在操作设备的时候,可能还需要记录病例)
  • 传递更多的声学信息。声纹、性别、年龄、情感等。

1.2. 劣势

  • 信息接收效率低。例如:文字能快速阅览概括信息,语音的话必须听完才能理解。
  • 复杂的声学环境
    • 方向性干扰
    • 环境噪声(散射噪声)
    • 远讲产生的混响
    • 声学回声
  • 心理负担。交互方式不一样,例如:不太愿意通过语音来进行交互,特别是在一些公共场合

1.3. 前端处理意义

  • 面对噪声、干扰、声学回声、混响等不利因素的影响,运用信号处理、机器学习等手段,提高目标语音的信噪比或主观听觉感受,增强语音交互后续环节的稳健性。
  • 让人听清:更高的信噪比,更好的主观听觉感受和可懂度,更低的处理延时。
  • 让机器听清:更好的声学模型适配,更高的语音识别性能。

2.语言介绍


频谱图

真正的语音不需要额外的注解,但对于数字化的语音来说,还需要额外的信息对文件格式进行说明,如信道、采样率、精度、时长等,并有文件大小=格式信息+信道数采样率精度*时长。频谱图种,颜色明暗表示频带能量大小,较亮的条纹即是共振峰(Formant)。

3. 信号处理算法

橙色部分表示多通道处理模块,蓝色部分表示单通道处理模块,红色部分表示后端识别合成等模块。麦克风阵列采集的语音首先利用参考源对各通道的信号进行回波消除,然后确定声源的方向信息,进而通过波束形成算法来增强目标方向的声音,再通过混响消除方法抑制混响;需要强调的是可以先进行多通道混响消除再进行波束形成,也可以先进行波束形成再进行单通道混响消除。经过上述处理后的单路语音进行后置滤波消除残留的音乐噪声,然后通过自动增益算法调节各个频带的能量后最为前端处理的输出,将输出的音频传递给后端进行识别和理解。

3.1. 回声消除(AEC)

  • 电路回声

电路回声通常产生于有线通话中,为了降低电话中心局与电话用户之间电话线的价格,用户间线的连接采用两线制;而电话中心局之间连接采用四线制(上面两条线路用于发送给用户端信号,下面两条线路用于接收用户端信号)。问题就出来了,造成电路回声的根本原因是转换混合器的二线-四线阻抗不能完全匹配(使用的不同型号的电线或者负载线圈没有被使用的原因),导致混合器 接收线路 上的语音信号流失到了 发送线路 ,产生了回声信号,使得另一端的用户在接收信号的同时听到了自己的声音。

  • 首先将产生的回声信号在数值上取反,线性地叠加在回声信号上,将产生的回声信号抵消,实现电路回声的初步消除。
  • 添加一个非线性处理器,其实质是一个阻挡信号的开关,将残余的回声信号经过非线性处理之后,就可以实现电路回声的消除.

  • 声学回声

直接回声:远端扬声器将语音信号播放出来后,被远端麦克风直接采集后得到的回声;直接回声不受环境的印象,与扬声器到麦克风的距离及位置有很大的关系,因此直接回声是一种线性信号

间接回声:远端扬声器将语音信号播放出来后,语音信号经过复杂多变的墙面反射后由远端麦克风将其拾取。间接回声的大小与房间环境、物品摆放以及墙面吸引系数等等因素有关,因此间接回声是一种非线性信号

  • 声场环境材料处理
    • 墙壁、天花板换成吸音材料,有效的较少声音的反射,
    • **优缺点:**可以较为直接的抑制间接噪声,但是直接噪声无法抑制;成本较高
  • 回声抑制器
    • 通过一个电平对比单元 轮流打开和关闭扬声器和麦克风
    • **优缺点:**导致功放设备的输出信号不连续,总体效果不好
  • 自适应回声抵消
    • 通过自适应算法来调整滤波器的迭代更新系数,估计出一个期望信号,逼近经过实际回声路径的回声信号,也就是去模拟回声信号,然后从麦克风采集的混合信号中减去这个模拟回声,达到回声抵消的功能。

  • LMS 算法介绍:

运用最小均方误差准则,对于LMS算法,其滤波器系数迭代公式为

  • NLMS算法

归一化最小均方(NLMS)算法是LMS算法的一个扩展,利用可变的步长因子代替固定的步长因子,就得到了NLMS算法,它通过计算最大步长值绕过了这个问题。

3.2. 解混响(De-reverb)

混响是由语音的多径效应所产生,在数学表达上是一个近场的纯净语音信号去卷积一个房间的冲击响应函数(RIR),这样的话能得到一个混响的语音信号。下图种蓝色部分为早期混响,橙色部分为晚期混响;在语音去混响任务中,更多的关注于对晚期混响的抑制。

  • 盲反卷积法[NeelyandAllen,1979]:直接去估计房间冲击响应函数的逆函数,如果把RIR当做是一个滤波器的话,我们直接去估计RIR的一个逆滤波器,然后把逆滤波器作用在带有混响的语音上,就得到了纯净语音信号。只能假设完全没有噪声的场景,并且假设房间的冲击响应函数RIR是不变的,只有在这种比较严格的假设之下,才能得到相对较好的结果,但是这种假设在我们的实际情况当中是不会得到满足的,所以这种技术缺陷也是比较明显的)
  • 加权预测误差[WPE,Takuya,2012]:因为语音信号具有线性预测特性(如果把语音信号当做是一系列采样点信号的话,那么下一个采样点可以用当前时刻以及当前时刻之前的若干采样点的值去预测出下一个时刻采样点的值),WPE认为混响可以分为早期混响和晚期混响,早期混响对于我们人的听觉感受系统没有负向作用,相反可能还有正面作用;晚期混响相对于房间冲击响应的拖尾的声音。那么加权预测误差则是希望估计一个最优的线性预测滤波器,这个滤波器的作用能够将房间冲击响应函数消除晚期混响的影响,多用于多通道。适用于单通道和多通道场景,多通道效果更好。www.kecl.ntt.co.jp/icl/signal/takuya/research/dereverberation.html
  • 麦克风阵列波束形成:混响是多路径反射到达麦克风的,所以入射方向是全向的入射,而语音是方向性的入射,所以可以设计一个波束,拾取手机语音入射方向的语音。这样其他方向的混响就会被抑制
  • 深度学习用于解混响[Han,2015]:通过DAE、DNN、LSTM或者GAN,实现频谱映射,端到端映射:带有干扰的语音信号频谱直接映射成为纯净语音信号的频谱,mask:掩膜,在当前的一个时频点上,是有效语音多还是带噪语音多,如果有效语音多则提取,如果带噪语音多则抑制。

3.3. 语音分离(BSS)

解决“鸡尾酒会”问题

  • 听觉场景分析法[HuandWang,2004]:本质上是对人的听觉特性的模拟,具体手段是二分类+监督学习
  • 非负矩阵分解[LeeandSeung,2001]:基于统计独立假设,语音信号的稀疏性与谐波特性,把带有干扰的混合语音信号的频谱分解成为一个特征矩阵乘以另一个系数矩阵,那么之后属于不同声源的那些信号的特征就会很自然的聚集到一起,这样一来我们把属于干扰源的特征所对应的系数矩阵进行掩蔽
  • 多通道技术:固定波束形成(fix beamforming)、自适应波束形成(adaptive beamforming)、独立成分分析(ICA),本质上都是在多通道的场景下,通过一些空间信息和信号的统计独立假设,去估算一个最优的波束(要么提取目标说话人方向的声音,要么屏蔽干扰说话人方向的声音)
  • 基于深度学习的语音分离
    • Deep clustering [Hershey, 2016]
    • Deep attractor network [Luo and Chen, 2017]
    • Permutation invariant training [Yu, 2017]

3.4. 波束成形(Beamforming)

3.5. 语音降噪(NS)

消除或抑制环境噪声,增强语音信号

  • 基于统计模型的方法
    • 最小均方误差MMSE、最大似然估计ML、最大后验估计MAP
  • 基于子空间的方法
    • 利用语音和噪声的不相关性,借助特征值/奇异值分解手段分解到子空间处理
  • 语音增强的核心在于噪声估计
    • 递归平均、最小值追踪、直方图统计是比较常用的噪声估计手段
  • 基于深度学习的语音增强方法
    • 两大类方法:masking&&mapping
    • 通过DNN、CNN、RNN或者GAN,在频域或时域实现(多为频域)

增强前后

3.6. 自动增益控制(AGC)

  • 动态范围控制(Dynamic Range Control)
  • 自动增益控制(Automatic Gain Control)

AGC前后

4. 学习链接

  • 声学回声消除

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

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

相关文章

19 CPP拷贝构造函数

函数以值的方式返回对象时&#xff0c;可能会调用拷贝构造函数&#xff08;VS会调用&#xff0c;Linux不会&#xff0c;g编译器做了优化&#xff09; 代码说明 #include <iostream>using namespace std;//函数以值的方式返回对象时&#xff0c;可能会调用拷贝构造函数&a…

C++对C的语法增强

1、语法检查增强 声明int a; 定义int a 10; c语言的弱语法类型 2、严格的类型转换 枚举类型不能赋值整形 3、struct类型加强 c中定义结构体变量需要加上struct关键字&#xff0c;c不需要 c中结构体只能定义成员变量&#xff0c;不能定义函数。c可以定义成员函数 4、bool类…

聊聊优惠卷秒杀的下单功能

前言 案例来自黑马程序员视频&#xff1a;https://www.bilibili.com/video/BV1cr4y1671t/?spm_id_from333.999.0.0 案例分析 下单时需要判断两点&#xff1a; 秒杀是否开始或者结束&#xff0c;如果尚未开始或者已经结束则无法下单&#xff1b;库存是否充足&#xff0c;不足…

【图像隐写】DWT+SVD数字水印【含GUI Matlab源码 606期】

⛄一、DWTSVD数字水印简介 理论知识参考文献&#xff1a;基于DWT和SVD的彩色图像数字水印算法研究 一种基于DWT-SVD的图像数字水印算法\ ⛄二、部分源代码 function varargout main(varargin) % MAIN M-file for main.fig % MAIN, by itself, creates a new MAIN or raises…

想要提升英语阅读能力的小伙伴,走过路过,千万不要错过!

一、英语四六级阅读提升网站&#xff1a; 据统计&#xff1a;四六级阅读题目的来源主要来自纽约时报、经济学人、大西洋月刊、时代、新闻周刊、卫报等报刊&#xff0c;其分布比重如下图&#xff1a; 原文链接&#xff1a;英语四六级阅读外刊来源&#xff0c;知道事半功倍&#…

IIC信号为什么要加上拉电阻

IIC是一个两线串行通信总线&#xff0c;包含一个SCL信号和SDA信号&#xff0c;SCL是时钟信号&#xff0c;从主设备发出&#xff0c;SDA是数据信号&#xff0c;是一个双向的&#xff0c;设备发送数据和接收数据都是通过SDA信号。 在设计IIC信号电路的时候我们会在SCL和SDA上加一…

计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台

项目介绍 餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机…

基于vue2整合tinymce富文本编辑器

文章目录1.导入依赖2.全部代码3.实际效果1.导入依赖 npm install tinymce -Snpm install tinymce/tinymce-vue -S2.全部代码 <template><editor:key"tinymceFlag"ref"editor"v-model"content":init"tinymceInit"></e…

国内使用ChatGPT的方式汇总

最近ChatGPT大火呀&#xff0c;小伙伴们是不是在网上看到各种和ChatGPT有趣聊天的截图&#xff0c;奈何自己实力不够&#xff0c;被网络拒之门外&#xff0c;只能眼馋别人的东西。看别人玩&#xff0c;肯定不如自己玩一把舒服的啊。今天小卷就给大家汇总了国内能使用ChatGPT的方…

【C/C++ 数据结构】-就这一篇博客让你玩爆二叉树的各种遍历问题!!!

作者&#xff1a;学Java的冬瓜 冬瓜的主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【C/C 数据结构与算法】 分享&#xff1a;被苦难淬炼过的人&#xff0c;内心真诚。——都靓评宋濂 主要内容&#xff1a;二叉树的递归前序遍历、中序遍历、后序遍历、层序遍历。…

你还会想起这道题吗(another version)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 众所周知&#xff0c;原神是由米哈游自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「提瓦特」的幻想世界&#xff0c;在这里&#xff0c;被神选中的人将被授予「神之眼…

“价格+产品+服务”:京东手机开启“复合竞赛”

市场唯一不变的就是变化&#xff0c;那些最终生存下来的企业往往是最能适应变化的。 11月份&#xff0c;京东再次强调“低价”策略的重要性&#xff0c;背后无疑是其对消费环境变化做出的及时反应。“消费者对价格更为敏感&#xff0c;对高性价比商品的需求依旧是主流”&#…

YOLO-V5 算法和代码解析系列 —— 学习路线规划综述

目录标题为什么学习 YOLO-V5 &#xff1f;博客文章列表面向对象开源项目学习方法预备知识项目目录结构为什么学习 YOLO-V5 &#xff1f; 算法性能&#xff1a;与YOLO系列&#xff08;V1&#xff0c;V2&#xff0c;V3&#xff0c;V4&#xff09;相比&#xff0c;YOLO-V5效果最好…

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯

偶然心血来潮&#xff0c;想要做一个音乐可视化的系列专题。这个专题的难度有点高&#xff0c;涉及面也比较广泛&#xff0c;相关的FFT和FHT等算法也相当复杂&#xff0c;不过还是打算从最简单的开始&#xff0c;实际动手做做试验&#xff0c;耐心尝试一下各种方案&#xff0c;…

RosonQt140——Qt Charts模块介绍和Qt绘制图表

Qt图表概述 Qt Charts能够创建时尚、互动、以数据为中心的用户界面。Qt Charts使用图形视图框架&#xff0c;便于集成。图表组件可以作为QWidget或QGraphicsWidget对象或QML类型使用。 QChart类管理不同类型的系列和其他图表相关对象的图形表示&#xff0c;如图例和坐标轴。QC…

33-Vue之ECharts高级-设置主题

ECharts高级-设置主题前言内置主题自定义主题前言 本篇来学习下ECharts中如何设置图表主题 内置主题 ECharts 中默认内置了两套主题: light dark var chart echarts.init(dom, light) var chart echarts.init(dom, dark)<!DOCTYPE html> <html lang"en&quo…

前缀树介绍,定义,图文详解分析——Java/Kotlin双版本代码

前缀树 前缀树&#xff0c;又称作字典树&#xff0c;用一个树状的数据结构储存字典中的所有单词。 列&#xff0c;一个包含can、cat、come、do、i、in、inn的前缀树如下图所示&#xff1a; 前缀树是一个多叉树&#xff0c;一个节点可能存在多个节点。除根节点外&#xff0c;每…

Spring5框架总结学习(从入门到进阶)

文章目录Spring51、如何创建一个Spring项目&#xff08;idea版&#xff09;2、 IOC容器1、XML解析工厂模式反射2、bean管理1、总述2、基于XML创建对象3、基于XML注入属性4、基于XML注入属性&#xff0c;属性值为空或特殊符号5、基于XML注入属性&#xff0c;外部bean6、基于XML注…

【第十二章 MVCC(多版本并发控制),隐藏字段,undolog(版本链),readview,原理分析(RC,RR)】

第十二章 MVCC&#xff08;多版本并发控制&#xff09;&#xff0c;隐藏字段&#xff0c;undolog&#xff08;版本链&#xff09;&#xff0c;readview&#xff0c;原理分析&#xff08;RC&#xff0c;RR&#xff09; 1.基本概念: &#xff08;1&#xff09; 当前读&#xff1…

hevc 基于均值的RDO模式删减

1 在获得粗略模式候选列表L4之后&#xff0c;对尺寸为4x4和8x8的PU保留8种预测模式&#xff0c; 对尺寸16x16&#xff0c;32x32, 64x64的PU保留3种预测模式&#xff0c;如果可以跳过部分模式的RDO计算&#xff0c;则可以进一步减少编码时间。 2 由于HCost计算是RDO计算的一种较…