在即时通讯应用中,需要进行双方,或是多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方说话后,通过对方的音箱放音,然后又被对方的Mic采集到回传给自己(如下图所示)。如果不对回音进行处理,将会影响通话质量和用户体验,更严重的还会形成震荡,产生啸叫。

回声消除就是在Mic采集到声音之后,将本地音箱播放出来的声音从Mic采集的声音数据中消除掉,使得Mic录制的声音只有本地用户说话的声音。

传统的回声消除都是采用硬件方式,在硬件电路上集成DSP处理芯片,如我们常用的固定电话、手机等都有专门的回音消除处理电路,而采用软件方式实现回声消除一直存在技术难点,包括国内应用最广泛的QQ超级语音,便是采用国外的GIPS技术,由此可见一般。

回声消除已经成为即时通讯中提供全双工语音的标准方法。声学回声消除是通过消除或者移除本地话筒中拾取到的远端的音频信号来阻止远端的声音返回去的一种处理方法。这种音频的移除都是通过数字信号处理来完成的。回声消除技术是数字信号处理的典型应用之一。

回声消除的基本原理是以扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的。

佰锐科技技术人员长期致力于语音技术的研发,在回音消除技术领域不断的优化与创新,拥用国内屈指可数,为数不多的音频技术研发团队。

AnyChat回音消除效果

A用户说话

B用户Mic录制声音(包含A的声音+B的声音)

A听到B的声音(进行了回音消除,只保留B的声音)

关于噪音抑制(ANS)

AnyChat的噪音抑制技术原理是将实时采样的数字信号进行频谱分析,这样我们就能分析背景噪声响应的强度和频谱分布,然后根据这个模型就能设计一个滤波器,当有人讲话的时候,同时做信号分析,根据分析,ANC就能分析出讲话者的频谱,那么根据这些背景噪音和讲话者的频谱,这个滤波器根据两个信号的对比实时的改变,让讲话者声音频谱通过,对背景噪声的频谱进行抑制,降低其能量,比如说降低15到20个分贝,就很明显可以感觉体验到噪音抑制的效果。

本文转自 fanxiaojun 51CTO博客,原文链接:http://blog.51cto.com/2343338/998540,如需转载请自行联系原作者

即时通讯开发----回音消除技术相关推荐

  1. 即时通讯音视频开发(十):实时语音通讯的回音消除技术详解

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...

  2. 实时语音通讯的回音消除技术详解

    本文是一篇详细介绍实时音频通讯过程中的回音消除技术的文章,主要描述的是回音消除技术理论和算法原理等. 内容概述 笔者从2004年开始接触回音消除(Echo Cancellation)技术,而后一直在某 ...

  3. IOS 即时通讯开发平台(SDK)

    一.系统介绍 BRAChat for iOS SDK是一套即时通讯开发平台(SDK),包含了音视频处理模块与P2P网络模块两大部分,是BRAChat Platform Core SDK的重要组成部分, ...

  4. 什么是回音消除技术?

    在即时通讯应用中,需要进行双方,或是多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方说话后,通过对方的音箱放音,然后又被对方的Mic采集到回传给自己(如下图所 ...

  5. Android 即时通讯开发小结(二)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对 IM 开发做一个全面的总结. 相关推荐阅读:. Android即时通讯 ...

  6. 谈谈即时通讯开发平台

    由于即时通讯系统的复杂性和对服务器稳定性的很高要求,一般即时通讯系统开发至少需要1年左右的时间,而这还只是测试版,离"稳定"还有一定距离,而这时匆匆上马的不稳定的系统会让你失去用户 ...

  7. Android 即时通讯开发小结(一)

    本文将基于 IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对 IM 开发做一个全面的总结. 客户端架构 作为一个 IM 软件,最重要的一个特性就是保证消息的达到率和实时性. ...

  8. im即时通讯开发:高可用、易伸缩、高并发的IM群聊、单聊架构方案设计

    要实现一整套能用于大用户量.高并发场景下的IM群聊,技术难度远超IM系统中的其它功能,原因在于:IM群聊消息的实时写扩散特性带来了一系列技术难题. 举个例子:如一个2000人群里,一条普通消息的发出问 ...

  9. 基于Netty实现分布式IM即时通讯开发

    计算机编程的学习,能不能把知识学到手,讲究的是动手实践.在我编写的文章中,基本都是以实践代码验证结果为核心来讲述文章内容. 可能有人不知道 Netty 是什么,这里简单介绍下: Netty 是一个 J ...

最新文章

  1. 干货整理!10个Python图像处理工具,入门必看,提效大法
  2. SPI 简介(备忘)
  3. Linux思维导图整理,你确定不收藏?
  4. python需要编译器吗_是否需要“使用严格”的Python编译器?
  5. LeetCode之Weekly Contest 90
  6. PageRank 算法
  7. Android apk如何加固防止被破解(防止逆向编译)
  8. python门店会员管理系统_python---CRM用户关系管理
  9. 如何制作双层PDF文档?其实只需简单一步!
  10. IOS APP Store下载链接
  11. RDO方式安装Openstack Allinone问题记录
  12. android图片文字识别器,图片转换文字识别器
  13. android极光富媒体推送,极光推送如何在android客户端接收富媒体
  14. Hadsky_v6.4.2轻论坛短信插件
  15. 棋盘游戏 五子棋(1.人人对战)
  16. Android 无需root实现apk的静默安装
  17. 外包四年太差劲,幡然醒悟要跳槽
  18. 在Vs2017上集成osgearth3.2和qt5.9,并加载shp文件。
  19. Windows 10系统下哪些服务可以关闭?
  20. 【微软chatGPT版bing上线了,使用体验如何,符合你的需求吗?】

热门文章

  1. 只读数据文件损坏恢复
  2. java--面对对象之final关键字和static关键字
  3. (1)剑指Offer之斐波那契数列问题和跳台阶问题
  4. mogonvue账户密码存储的位置
  5. MongoDB学习笔记二—Shell操作
  6. Java数组扩容算法及Java对它的应用
  7. css display:box 新属性
  8. Mac IDEA启动SpringBoot项目过慢
  9. 一步步教你搭建SSM整合+前提配置超详细版(IDEA版本)
  10. linux 打zip gz tar,linux把文件压缩成.tar.gz的命令 | PT Ubuntu Blog