一、前言

直播卖货系统为了保证用户连麦的音视频质量,会采用回声消除的技术,来消除连麦中的回声,接下来就让我们一起来了解一下直播卖货系统使用的回声消除技术吧。

要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的。既然回声消除在教科书上都作为一种经典的具体的应用,也就是说在理论角度是没有什么神秘和新鲜的,那么回声消除的难度在哪里?为什么提供回声消除技术(不管是芯片还是算法)的公司都是来自国外?回声消除技术的神秘性在哪里?

二、回声消除原理

从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo)和线路回音(Line Echo),相应的回声消除技术就叫声学回声消除(Acoustic Echo Cancellation,AEC)和线路回声消除(Line Echo Cancellation, LEC)。声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(比较难理解)。

直播卖货系统回音的产生主要有两种原因:

1.   由于空间声学反射产生的声学回音:

男子说话,语音信号(speech1)传到女士所在的房间,由于空间的反射,形成回音speech1(Echo)重新从麦克风输入,同时叠加了女士的语音信号(speech2)。此时男子将会听到女士的声音叠加了自己的声音,影响了正常的通话质量。此时在女士所在房间应用回音抵消模块,可以抵消掉男子的回音,让男子只听到女士的声音。

2.   由于2-4线转换引入的线路回音:

在ADSL Modem和交换机上都存在2-4线转换的电路,由于电路存在不匹配的问题,会有一部分的信号被反馈回来,形成了回音。如果在交换机侧不加回音抵消功能,连麦的人就会自己听到自己的声音。

不管产生的原因如何,对语音通讯终端或者语音中继交换机需要做的事情都一样:在发送时,把不需要的回音从语音流中间去掉。

试想一下,对一个至少混合了两个声音的语音流,要把它们分开,然后去掉其中一个,难度何其之大。就像一瓶蓝墨水和一瓶红墨水倒在一起,然后需要把红墨水提取出来,这恐怕不可能了。所以回声消除被认为是神秘和难以理解的技术也就不奇怪了。诚然,如果仅仅单独拿来一段混合了回音的语音信号,直播卖货系统要去掉回音也是不可能的(就算是最先进的盲信号分离技术也做不到)。但是,实际上,除了这个混合信号,我们是可以得到产生回音的原始信号的,虽然不同于回音信号。

Figure  Acoustic Echo Cancellation in a voice communication terminal

其中,我们可以得到两个信号:一个是蓝色和红色混合的信号1,也就是实际需要发送的speech和实际不需要的echo混合而成的语音流;另一个就是虚线的信号2,也就是原始的引起回音的语音。那大家会说,哦,原来回声消除这么简单,直接从混合信号1里面把把这个虚线的2减掉不就行了?请注意,拿到的这个虚线信号2和回音echo是有差异的,直接相减会使语音面目全非。我们把混合信号1叫做近端信号ne,虚线信号2叫做远端参考信号fe,如果没有fe这个信号,回声消除就是不可能完成的任务,就像“巧妇难为无米之炊”。

虽然参考信号fe和echo不完全一样,存在差异,但是二者是高度相关的,这也是echo称之为回音的原因。至少,回音的语义和参考信号是一样的,也还听得懂,但是如果你说一句,马上又听到自己的话回来一句,那是比较难受的。既然fe和echo高度相关,echo又是fe引起的,我们可以把echo表示为fe的数学函数:echo=F(fe)。函数F被称之为回音路径。在声学回声消除里面,函数F表示声音在墙壁,天花板等表面多次反射的物理过程;在线路回声消除里面,函数F表示电子线路的二四线匹配耦合过程。很显然,我们下面要做的工作就是求解函数F。得到函数F就可以从fe计算得到echo,然后从混合信号1里面减掉echo就实现了回声消除。

尽管回声消除是非常复杂的技术,但我们可以简单的描述这种处理方法:

  1、房间A的直播卖货系统接收到房间B中的声音

  2、声音被采样,这一采样被称为回声消除参考

  3、随后声音被送到房间A的音箱和声学回声消除器中

  4、房间B的声音和房间A的声音一起被房间A的话筒拾取

  5、声音被送到声学回声消除器中,与原始的采样进行比较,移除房间B的声音

求解回音路径函数F的过程恐怕就是比较难以表达的数学公式了。鉴于通俗表达数学公式的难度比发现数学公式还难,笔者就不费力解释了。下面这段表达了利用自适应滤波器原理求解函数F的过程。( 以下可以跳过

自适应滤波器

自适应滤波器是以输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性的一种算法或装置。自适应滤波器可以是连续域的或是离散域的。离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。附图表示一个离散域自适应滤波器用于模拟未知离散系统的信号流图。自适应滤波器对输入信号序列 xn)的每一个样值,按特定的算法,更新、调整加权系数,使输出信号序列 yn)与期望输出信号序列 dn)相比较的均方误差为最小,即输出信号序列 yn)逼近期望信号序列 dn)。

以最小均方误差为准则设计的自适应滤波器的系数可以由维纳-霍甫夫方程解得。

B.维德罗提出的一种方法,能实时求解自适应滤波器系数,其结果接近维纳-霍甫夫方程近似解。这种算法称为最小均方算法或简称 LMS法。这一算法利用最陡下降法,由均方误差的梯度估计从现时刻滤波器系数向量迭代计算下一个时刻的系数向量

式中 ks为一负数,它的取值决定算法的收敛性,  V【 ε 2( n)】为均方误差梯度估计,

自适应滤波器应用于通信领域的自动均衡、回声消除、天线阵波束形成,以及其他有关领域信号处理的参数识别、噪声消除、谱估计等方面。对于不同的应用,只是所加输入信号和期望信号不同,基本原理则是相同的。( 以上部分可以跳过

上面这段话表明,需要求解的回音路径函数F就是一个自适应滤波器 Wn)收敛的过程。所加输入信号 xn)是fe,期望信号是echo,自适应滤波器收敛后的 Wn)就是回音路径函数F。 收敛之后,当实际回音发生,我们把fe通过函数 Wn),就可以得到一个很准确的echo,把混合信号直接减去echo,得到实际需要发送的语音speech,完成回声消除任务。

值得注意的两点:

1、            自适应滤波器收敛阶段,期望信号是完全的echo,不能混杂有speech。因为speech和fe是没有关系的,会扰乱W(n)的收敛过程。也就是说要求回声消除算法开始运转后收敛要非常快,最好对方还来不及说话,你一说就收敛好了;收敛好之后,如果对方开始说话,也就是有speech混合过来,这个W(n)系数就不要变化了,需要稳定下来。

2、             回音路径可能是变化的,一旦出现变化,回声消除算法要能判断出来,因为自适应滤波器学习要重新开始,也就是W(n)需要一个新的收敛过程,以逼近新的回音路径函数F。

基本上来说,上面这两点是两难的,一个需要自适应滤波器收敛后保持系数稳定,以保证不受speech说话干扰,另一个需要自适应滤波器随时保持更新状态,以保证能够追踪变化的回音路径。这样一来,仅从数学算法层面,回声消除已经是难上加难!简单地说,回声消除自适应滤波器的设计具有两个互相矛盾的特性,也就是快速收敛和高度的稳定性,直播卖货系统如何同时实现这两项特性,正是设计上的主要挑战。

经过上面的分析,相信大家对直播卖货系统使用的回声消除的原理和技术有了深刻的理解,这是一门即容易理解又难以实现的技术。

直播卖货系统如何保证连麦音质?来看看回声消除相关推荐

  1. 直播卖货系统开发,Bitmap保存图片到指定路径

    直播卖货系统开发,Bitmap保存图片到指定路径相关的代码 1.manifests文件需要增加权限. <uses-permission android:name="android.pe ...

  2. 直播卖货系统,使用数据库查询缓存

    更正下博客. 其实MySQL8.0已经取消了查询缓存.如果是小型项目,又不想用Reids或者MC等缓存,查询结果相对固定,可以在MySQL5.7以下版本设置缓存. ################## ...

  3. 企业级短视频直播带货系统怎么运营,有哪些步骤?

    2020年的今日,经过直播发卖商品的人和公司愈来愈多,大家都在创建本人的带货直播系统.那末,关于刚进入直播行业的商家来讲,在带货直播系统中怎么运营才能对产品的发卖更有效呢?下面所罗门传媒控股有限公司专 ...

  4. 小程序直播 OBS 画质_微信小程序怎么直播卖货?

    自从微信直播从诞生来,就成功的帮助了很多商家快速的触达客户.实现转型.现在推出小程 序直播的功能,更是将两大引流方式结合起来,为商家进一步挖掘小程序提供了新的思路.那么微信小程序怎么直播卖货呢?一起跟 ...

  5. 直播卖货到底是不是卖人设?

    直播卖货到底是不是卖人设?朋友A聊起这一行的某头部大V,不禁提起之前合作的悲惨遭遇-- 她花了大几万坑位费,但对方单太多了,根本忙不过来,上直播之前也没专门好好研究一下产品,开了麦就仗着自己知识老底直 ...

  6. 直播带货系统开发,如何实现一个简单的直播平台

    目前直播带货系统开发已成为一个相当热门的服务,自己对视音频的采集.传输.播放等等比较感兴趣,因此想记录下实现一个直播平台的过程,不仅是对已用过的知识进行记录,以防后期使用,也可以为其他的初学者提供一个 ...

  7. 数字抽奖小程序_小程序直播卖货必看的营销干货:抽奖营销

    关注并标星飞虎商联微营销 打卡阅读 更快更深刻洞察微营销 ━━━━━━ 小程序直播越来越火,通过小程序直播卖货的商家也是倍数式增长.那么如何引流粉丝到小程序直播间?除了需要做好一定的宣传行为,还要为引 ...

  8. 微信小程序直播卖货模式怎么开启

    近几年,微直播再次调整之后,用户目前想要通过微信来观看直播内容以及来进行实时互动都是可以使用小程序来实现的.并且小程序中所具有的无需下载的市场最佳优势,也让运用小程序来做直播带货的商家们以及企业会更具 ...

  9. 不会吧,你开发直播卖货软件源码时,不用PHP写后台?

    PHP系统是软件开发常用的开发语言,百度.搜狐.网易的开发中,也使用了它,这足以证明其可靠性和可用性,对于直播卖货软件源码的开发工作,我们也会使用到PHP,当然只是后台部分,一套完整的直播卖货软件源码 ...

最新文章

  1. XDOC Office Server 开源了,Office文档完美转换为PDF
  2. devops和docker_通过免费的2小时Docker课程学习DevOps基础知识
  3. 计算机网络有限制,计算机网络中软件限制策略的应用规则有哪些
  4. oracle 快速备份表数据
  5. Java——Java封装
  6. python最新面试题_2018年最新Python面试题及答案
  7. 通过日志恢复SQL Server的历史数据
  8. 微信 for Mac 3.1.0 测试版发布(附安装包),新增「发朋友圈」功能
  9. 前端后台与接口的问题
  10. 《3D打印:正在到来的工业革命》——1.1节3D 技术打印是如何工作的
  11. linux中node跨服务执行文件,linux部署node.js服务并启动服务
  12. 可变剪切(选择性剪接)rmats2sashimiplot可视化安装与使用
  13. 彪悍的人生不需要解释,需要解释的人生是软弱的
  14. JAVA 根据商品属性生成(SKU)规格算法
  15. 批量删除asc文件前n行
  16. 第二证券|钠电池三种技术路线谁更将率先取代锂电池?
  17. C语言_回文字符串的判断
  18. 爬虫+pyqt5 打造属于自己的抖音视频下载器
  19. 向日葵Android受控端老版本,向日葵Android端版本更新:支持远程开关机
  20. CSP202112——T3登机牌条码

热门文章

  1. 修改我的文档和临时文件夹temp的位置及系统优化知识
  2. [渝粤教育] 武汉大学 水环境数学模型 参考 资料
  3. 2023.1.15单词打卡
  4. “圈粉”行业龙头 数字人民币搅动投资江湖
  5. python机器人语音_python语音机器人
  6. 中国生鲜供应链百强企业正式揭晓|蔬东坡联合中国市场学会团餐专委会发布
  7. lol什么服务器出无限活力,英雄联盟无限火力什么时候在国服上线
  8. 计算机网络虚拟课程的心得,资源分享之计算机网络虚拟实践
  9. 企业如何部署开源邮箱系统?
  10. 计算机office办公知识,计算机基础知识和office办公系列软件的使用(完整版)