首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏呱牛笔记

    修改PJSIP支持webrtc回声消除处理

    arm-openwrt-linux-muslgnueabi --prefix=$PWD/install --disable-libwebrtc --disable-libyuv --disable-v4l2 arm-openwrt-linux-muslgnueabi --prefix=$PWD/install --enable-libwebrtc --disable-libyuv --disable-v4l2 &play_frm[frm_idx];#else for (j = 0; j < echo->subframe_len; j++) { echo->tmp_buf2[ = echo->tmp_buf2;#if PJMEDIA_WEBRTC_AEC_USE_MOBILE status = WebRtcAecm_Process(echo->AEC_inst PJMEDIA_HAS_WEBRTC_AEC3#define PJMEDIA_HAS_WEBRTC_AEC3 1#endif修改default.conf文件配置pjsua_app的启动配置文件支持回声消除

    1.3K71编辑于 2023-06-13
  • 来自专栏呱牛笔记

    PJSIP支持webrtc回声消除处理

    PJMEDIA_HAS_WEBRTC_AEC 1 #   define PJMEDIA_WEBRTC_AEC_USE_MOBILE        1 4、修改default.conf文件配置pjsua_app的启动配置文件支持回声消除 /sinc_resampler_avx2.o \ # modules/audio_processing/aec3/adaptive_fir_filter_erl_avx2.o \ # modules/audio_processing /aec3/adaptive_fir_filter_avx2.o \ # modules/audio_processing/aec3/fft_data_avx2.o \ # modules/audio_processing /aec3/matched_filter_avx2.o \ # modules/audio_processing/aec3/vector_math_avx2.o \ # modules/audio_processing /agc2/rnn_vad/rnn_vector_math_avx2.o #    WEBRTC_AEC3_OTHER_CFLAGS += -mfma else ifneq ($(findstring 

    1.6K10编辑于 2023-10-16
  • 来自专栏全栈程序员必看

    基于Speex的声学回声消除

    声学回声消除一般可以通过硬件和软件分别实现,目前来说,硬件实现比较简单,软件实现较难,这里的难并不是说回声消除算法很难,而是在应用算法时的实时同步问题很难,目前软件实现较好的应该是微软,但似乎也对硬件配置和操作系统有要求 而Speex提供了声学回声消除算法库,本文就简单用Speex对一段录音进行回声消除,当然这不是实时处理的。 应用Speex回声消除API流程很简单:包含相关头文件——创建回声消除器状态——对每帧进行回声消除——销毁回声消除器状态。 mic_fd)) { fread(ref, 1, NN*2, ref_fd); ec.DoAEC(mic, ref, out); fwrite(out, 1, NN*2, out_fd ,NearEnd.pcm是近端麦克风采集音频,是人的语音和回声的混合音频,out.pcm是对NearEnd.pcm进行回声消除后的文件。

    4.5K20编辑于 2022-11-16
  • 来自专栏音视频技术

    非线性声学回声消除技术

    非线性的声学回声消除问题,在实际声学系统里面非常普遍也非常棘手,到目前为止还没有特别有效的办法来解决。目前介绍非线性声学回声消除的公开文献也少之又少。 华为云音视频专家范展,将从非线性声学回声消除产生的原因、研究现状、技术难点出发,详细介绍华为云音视频团队推出的双耦合的声学回声消除算法以及实验检验结果。 我用同样的方法搜索了“非线声学回声消除”,结果只找到了254篇文献,不到前面文献的1/10,这意味着非线性声学回声消除技术在整个声学回声消除领域是一个相对比较冷的研究方向。 2.双耦合声学回声消除算法 这个是我们团队提出来的一种算法,它的主要特点是,在构建滤波器模型的过程中结合了非线性声学回声的一些特性,因此它在抑制非线性回声方面,也体现出固有的优势。 2.1. 将这两个滤波器结合起来,就可以实现对整个声学回声路径的变化进行有效跟踪。这里只是给出了一个示例,实际情况往往要复杂很多。 接下来我们对这2个滤波器做了特性比较,主要是从4个不同的维度。

    2.4K30发布于 2020-11-10
  • 来自专栏人人都是极客

    语音识别之回声消除及调试经验

    可能有的朋友要问了,为什么我打电话时没有听见自己的回声,那是因为市面上的成熟产品回声都被消除掉了。 回声分为线路回声(line echo)和声学回声(acoustic echo),线路回声主要存在于固话中,是由于2-4线转换引入的回声,声学回声是由于空间声学反射产生的回声回声消除(Echo canceller, EC)是语音前处理的重要环节,下面主要讲其基本原理和调试中的一些经验。 2回声消除基本原理。 下图是回声消除基本原理的框图: ? 处理过程如下: a) 算近端远端语音数据的energy,确定双方是silent还是talk。 从公司的算法部门拿来了回声消除实现,把它用到解决方案中。另一次是在移动互联网公司,做实时语音通信类APP,要把webRTC的AEC用到APP中。

    5.2K30发布于 2018-09-25
  • 来自专栏跟Qt君学编程

    Webrtc回声消除模式(Aecm)屏蔽适宜噪音(CNG)

    舒适噪音生成CNG(comfort noise generator)是一个在通话过程中出现短暂静音时用来为电话通信产生背景噪声的程序。 音频版本VoiceEngine 4.1.0 默认情况下andriod与ios会使用Aecm模式; #if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS)static const EcModes kDefaultEcMode = kEcAecm;#elsestatic const EcModes kDefaultEcMode =

    4.2K20发布于 2019-07-16
  • 来自专栏音频DSP方案技术

    大声场对讲设备的回声消除调试总结

    事由  上周应客户之约,去客户那边调试对讲设备的回声消除和降噪。通过现场的调试和与客户的沟通,算是把产品的效果和竞品各有千秋了。通过这次,笔者本身也对行业和需求有了更深的了解。 问题一,回声消除的的效果不理想? 问题二,对讲过程中有啸叫,这个该怎么抑制。 问题三,对方听到的喇叭的声音不够大? 围绕着这三个问题。我们经历了一系列调试。 思路  思路一,回声消除的问题解决思路。 仅仅依靠回声消除算法是不行的,还需要其它算法辅助。参考信号的质量非常重要,太大了会影响原始信号的质量。太小了会影响回声消除的效果。这个是要使用串联电阻来减少信号。  

    61040编辑于 2023-11-01
  • 来自专栏媒矿工厂

    RTC@scale 2024| 实时通话音质提升 Part 1:Beryl回声消除

    Beryl方案 图2 Beryl架构 Beryl是基于DSP的可拓展AEC解决方案。它有两种模式:lite mode和full mode,以适应不同计算能力的设备。 由此产生回声估计值,再从输入信号中减去回声估计值,得出输出信号,也称为误差信号。 声学回声抑制器(Acoustic Echo Suppressor, AES) 图4 AES应用场景 线性AEC无法消除传播链中的非线性因素,因此需要AES来清除残余回声。 Beryl AES应用感知滤波和环境噪声匹配技术消除静态回声,从而有效消除残余回声,保持语音的本质。 CPU优化 DSP功能使用适用于arm64和armv7设备的NEON指令集写作,并做了适用于Intel CPU的AVX2优化,CPU负载不超过WebRTC的110%。

    86110编辑于 2024-05-20
  • 来自专栏全志嵌入式那些事

    全志V853在tina+audio+dvr下如何实现多路mic采集和回声消除

    1.主题 tina+v853+audio+dvr多路mic采集和回声消除方案 2.问题背景 产品: 硬件:主控 + audio +tp9930 软件:tina + audio/ai 其他:客户需要调试 6路mic,其中2路为v853内部audio codec mic,四路为tp9930 外部i2s mic,且其中一路audio mic与lineout硬件相连,作为aec回声消除。 }; }; 2.tp9930驱动配置i2s输出, 16bit 16slot,由于是v853做从机所以无需新增codec驱动,直接在sensor驱动配置。 交错模式下,一个声道两个字节,参考aec demo mic1作为近端数据,mic1为远端录音 WebRtcAec_BufferFarend(aecmInst, far_frame, NN);//对参考声音(回声 )的处理 WebRtcAec_Process(aecmInst, near_frame, NULL, out_frame, NULL, NN,40,0);//回声消除 最后可以录到out frame 回声消除后的

    56210编辑于 2024-02-02
  • 来自专栏BestSDK

    微软发布全新语音SDK:可以实现噪声抑制、回声消除,关键词识别等功能

    据介绍,在MSDDK基础上结合微软语音SDK,可以实现噪声抑制、回声消除、英文关键词识别等高级功能。用户也可以将自主开发的SDK与微软语音服务,构建高质量的语音智能设备。   

    1.4K30发布于 2018-10-08
  • 来自专栏全栈程序员必看

    内膜厚回声均匀会是癌_内膜回声均匀是不会病变是吗

    文章目录 回声状态网络 状态方程 输出方程 分类问题 加载 MNIST 数据集 标签 onehot 编码 转化成时间序列 训练 ESN 储备池状态的时空分布 测试结果 回声状态网络 状态方程

    40140编辑于 2022-11-07
  • 来自专栏HansBug's Lab

    3409: Barn Echoes 牛棚回声

    3409: [Usaco2009 Oct]Barn Echoes 牛棚回声 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 57  Solved: 47 Bessie曾经是一个出色的秘书,所以她精确地纪录了所有的哞叫声及其回声。她很好奇到底两个声音的重复部份有多长。 输入两个字符串(长度为1到80个字母),表示两个哞叫声。你要确定最长的重复部份的长度。 所以"yzooo"跟"mo"都是这2个串的重复部份。其中,"yzooo"比较长,所以最长的重复部份的长度就是5。 Input 两行: 每一行是1个字符串表示奶牛的哞声或它的回声。 mod q) mod q; 40 b[i,2]:=(b[i-1,2]+(list[i,2]*ord(s2[i])) mod p) mod p; 41 end (b[length(s2),1]-b[i-1,1]) mod q+q) mod q; 61 y0:=((b[length(s2),2]-b[i-1,2]) mod p+p)

    74270发布于 2018-04-11
  • 来自专栏吉林乌拉

    消除

    消除消除的意思是说虚拟机在运行时,虽然代码进行了同步,但是如果虚拟机检测到不存在数据竞争时,虚拟机就会自动把锁进行消除。 锁消除主要的判定依据是如果堆上的所有数据都不会被其它的线程访问到,那么就可以理解为这些数据是线程私有的。既然是线程私有的,那么同步加锁也就没有存在的必要了,于是虚拟机就会将锁消除掉。 我们看一下下面具体的代码来实际验证一下锁消除的实际应用。 ? 上述代码中我们并没有添加任何同步方法。 也就是说其他线程无法访问到它,所以虽然方法是同步方法也就是添加了锁,但是虚拟机在执行时可以将锁消除掉,所以代码编译后,虚拟机执行上述代码时,就会忽略所有的同步而直接执行。

    1.5K10发布于 2019-08-14
  • 来自专栏UniPro

    《流浪地球2》的冷思考:如何消除信息孤岛

    硬核科幻影片《流浪地球2》成了热议焦点,网友们一方面点赞视觉特效的精益求精,另一方面为引爆月球的故事情节感动,片中一句“50岁以上的出列”让无数观众飙泪。 《流浪地球2》被誉为国内科幻电影工业力作,其票房火爆背后,是主创团队付出4年的精心打磨,而信息孤岛这一全球数字化顽疾,在为影片提供素材的同时,也显示出它的破坏力,新享科技潜心打磨产品希望为企业数字化转型升级提供更多选择

    76430编辑于 2023-02-02
  • 来自专栏微卡智享

    C++ OpenCV视频操作之背景消除建模(BSM)-2

    前言 上一篇《C++ OpenCV视频操作之背景消除建模(BSM)-1》中我们学习了背景消除建模(BSM)中的采用图像分割模式的高斯混合模型,介绍中我们还说过BS算法中除了图像分割还有机器学习的方式,本篇文章我们就接着上节的内容来学习一下机器学习算法的背景消除建模 = cv::createBackgroundSubtractorKNN(); pKNN->apply(frame, bsmKNN); 代码演示 我们直接借用上次的代码,在上面的基础上直接看到两个背景消除建模的不同 上面两张图是视频的第4秒和视频的第5秒,从第4秒(第一张图)的图我们可以看出左边红框的KNN是我们的机器学习背景建模,右边红框是原来高斯混合模型的背景消除建模,KNN由于是机器学习,所以前几帧的时候需要自己根据图像在适应训练 ,找到符合的背景后,然后就会自动消除背景,所以视频的第5秒(第二张图)KNN的框已经完全变成黑色的了,而利用高斯混合模型进行图像分割时,从第一张图上就已经进行背景的分割了。

    1.3K30发布于 2019-07-24
  • 来自专栏半生瓜のblog

    【Socket】简单的回声服务器实现

    网络通信 Socket通信的3要素 通信的目的地址 使用的端口号 使用的传输层协议(如TCP、UDP) ---- Socket通信模型 简单的回声服务器实现 服务端 #include <stdio.h message; struct sockaddr_in servaddr; int n; char buf[64]; //echo_client "xxxx" ——所以判断是否为2 = 2) { fputs("Usage: .

    80521编辑于 2023-05-13
  • 来自专栏图像处理与模式识别研究所

    图像消除纹理

    img_result.save('C:/Users/xpp/Desktop/result.png') plt.imshow(img_result,cmap='gray') plt.show() 算法:图像消除纹理是首先将原始图像转换为灰度图像 ,随机选取和卷积核大小相同的正方形框小图像,选取多个图像取平均值来保证纹理特征能够适应整张图像,最终得到小图像之后取加权平均值,类似于高斯模糊一样的效果,这样卷积出来的结果能有效消除图像纹理。

    1.6K10编辑于 2022-05-29
  • 来自专栏后台公论

    C++代码简化之道 (2):消除非必要的指针

    作为C++程序员,肯定免不了和指针打交道了。一般我们使用指针都是为了避免不必要的拷贝,但有时候其实可以简化掉它。

    48920编辑于 2021-12-08
  • 来自专栏geekfly

    消除类游戏

    问题描述 试题编号: 201512-2 试题名称: 消除类游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   消除类游戏是深受大众欢迎的一种游戏 当有多处可以被消除时,这些地方的棋子将同时被消除。   现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。    输出格式   输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 0 0 0 4 4 样例说明   棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 2 2 0 0 0 样例说明   棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。

    79110编辑于 2022-05-06
  • 来自专栏关键帧Keyframe

    音视频面试题集锦(第 14 期)

    2、有哪些原因可能导致 Android 相机采集输出的帧率较低? 3、一个回声消除系统的核心模块有哪些? 2、有哪些原因可能导致 Android 相机采集输出的帧率较低? Android 相机采集最终输出的帧率受到相机本身的采集帧率、相机图像处理后的输出帧率影响。通常有下面几个因素需要注意: 光照。 回声一般分为线性回声和非线性回声,自适应滤波模块一般用来消除线性回声。 非线性回声处理模块则用来消除非线性回声。该模块利用前面估计的线性回声信号和经验知识生成估计的非线性回声信号,并在音频信号中减去估计的信号,从而消除非线性回声。 总结来讲,一个简单的回声消除系统,通过输入的对端语音信号、麦克风采集的录音信号,经过双讲判断来计算是否有回声,当有回声时会估计回声的延时,并通过自适应滤波器模块消除线性回声,通过非线性回声估计模块消除非线性回声

    82411编辑于 2024-01-11
领券