问题标签 [echo-cancellation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
597 浏览

macos - 如何在 Mac 上设置录制和播放音频。Mac 上的 VOIP 应用程序

我想在 Mac 中录制和播放音频。现在,我对 Input/Output/ChannelFormat 的设置有一些问题……我向你展示了我在下面尝试的一些代码。

我尝试遵循这个建议。但它仍然不起作用。 这是我的示例项目

0 投票
1 回答
535 浏览

android - android中pjsua2中的回声消除不起作用。(不适用于webrtc。)

我正在尝试消除我的 voip 通话应用程序中的回声。我正在使用 pjsua2 库。我在 pjsua2 示例应用程序中提供的“MyApp”类中尝试了以下代码。

我仍然听到回声。我应该对代码进行哪些更改?在构建 pjsua 库的时候有什么事情要做吗?我不想使用 webrtc。

0 投票
0 回答
4030 浏览

html - 如何使用 webRTC 禁用系统音频增强功能?

在不同的系统(Windows/Android/等)上,有一些“内置”音频增强功能。例如 AEC(自动回声消除)、NR(降噪)和自动增益控制。每个人都可以以任何组合关闭或打开这些功能。

某些浏览器上也有音频增强功能(我知道 Chrome 和 Firefox)

可以使用 webRTC将它们全部关闭吗?

据我所知,可以关闭那些“浏览器增强功能”,我想我是通过指定 mediaConstraints 来管理它的。铬的例子:

找不到关闭系统/设备特定音频增强功能的解决方案。有类似的问题:WebRTC - disable all audio processing,但我认为它只解决了那些浏览器增强功能。

0 投票
0 回答
1272 浏览

ios - iOS 中使用 AudioQueue 的回声消除支持

我需要删除音频信号中的回声噪声。

AudioQueue要创建我用于我的应用程序的通信渠道,正如AQRecorderSpeakHere 的课程中​​所报告的那样:https ://github.com/robovm/apple-ios-samples/tree/master/SpeakHere/Classes

现在的问题是使用 OSX Using AudioQueue 中的 AEC(回声消除支持)中kAudioUnitSubType_VoiceProcessingIO建议的功能删除回声。

如何在 AudioUnit 中转换 AudioQueue?我需要真实的代码示例。

0 投票
3 回答
2176 浏览

android - 三星设备上的 AcousticEchoCanceler 无法正常工作

我有 AcousticEchoCanceler 为我尝试过的所有其他设备类型的 VoIP 呼叫工作,但在任何三星设备上都没有。设备报告 AcousticEchoCanceler 可用,但它什么也不做。

我有什么:

  • acousticEchoCanceler.setEnabled(true);
  • audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
  • 音频会话 ID 传递给AudioTrack
  • 采样率:16k
  • 尝试了单声道和立体声录音
  • <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  • <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

有没有人让 AcousticEchoCanceler 在三星设备上工作?

0 投票
1 回答
574 浏览

audio - WebRtcAec_Process() API(WebRtc Echo 模块内部)中的 num_bands 参数有什么作用?

我正在使用 WebRtc 原生 AEC API。

我想从具有 48K 采样率、带 AEC 的单通道(单声道)的音频中消除回声。

但我不知道为什么num_bands是必要的。如果我1num_bands我在 AEC 中得到致命(断言错误)(RTC_DCHECK_EQ(aec->num_bands, num_bands);失败)赋值。

我检查了48K的aec->num_bands预计算值,来自:3aec_core.cc

即使我使用 3 num_bands,我也会遇到无效访问崩溃。我是否需要以某种方式将每一帧分成 3 部分?

0 投票
2 回答
738 浏览

c# - C# 客户端中的回声消除

我有一个调度员的办公桌(客户端)和带有扬声器和麦克风的无线电状态(服务器)。这些与 RTP 协议进行通信。他们发送和接收数据并立即播放。我的问题是扬声器必须响亮。因此,回声很烦人。我没有为 C# 找到有用的 AEC 程序。所以,我很欣赏你的建议!

0 投票
2 回答
827 浏览

c# - Xamarin.iOS 上的声学回声消除 (AEC)

我目前正在开发基于 Xamarin.iOS 平台的跨平台 Voip 应用程序。我确实搜索了 iOS 上的 AEC 实现,但大多数主题都与 Objective-C 相关。我现在已经实现的是:我可以使用 Audiotoolbox(音频队列)从 mic 获取输入的原始声音数据并通过套接字将其发送出去。但是在使用其他设备进行测试时,我在手机上遇到了非常清晰的回声。这是代码:

根据AEC on OSX using AudioQueue,我了解到我应该将原始声音数据传递给 I/O 单元(音频单元?)。但是由于 Xamarin.iOS(c#) 中缺少示例,我无法弄清楚如何详细实现这个过程。任何熟悉 Xamarin 平台上 Voip 应用程序开发的人可以给我一些学习的例子吗?非常感谢任何帮助或提示。

(2018 年 11 月 21 日)我发现的一些相关帖子:使用音频单元录制音频 Audio unit Callbacks An audio unit example

0 投票
1 回答
258 浏览

javascript - 啁啾和 WebRTC 同时 - 没有回声消除

我正在尝试收听啁啾声(使用 webassembly 16kHz-mono 3.1.0 版本),同时通过 WebRTC 与辅助设备通信,该设备也在监听啁啾声。

在两个设备连接并相互传输声音的情况下,如果我实例化 Chirp 和 call chirp.start(),则不再有任何回声消除,即。出现回声。如何在两个设备之间没有回声的情况下促进使用啁啾?

澄清一下,我不想通过 WebRTC 传输啁啾,并打算在传输之前过滤掉那部分频谱。

使用用于 WebRTC 的 opentok.js 在多个操作系统上的 Chrome 75.0 上进行了测试。

0 投票
1 回答
890 浏览

qt - pactl load-module module-echo-cancel aec_method=webrtc 失败:模块初始化失败

我正在开发一个带有麦克风的嵌入式 linux 设备,应该使用 webrtc 与另一个设备通信并在 Qt QML 应用程序上运行。在通话期间,我有一个应该取消的回声。我在互联网上搜索,发现pulseaudio有一个用于回声消除的模块。

我尝试添加load-module module-echo-cancel aec_method=webrtc到 /etc/pulse/default.pa 但pulseaudio 甚至无法启动。当我尝试使用命令 pactl load-module module-echo-cancel 加载它也失败说失败:模块初始化失败遗憾的是我不知道这个错误在说什么并且谷歌搜索它没有给出有用的信息......

所以有人知道有什么问题吗?我正在使用 Ubuntu Mate 16.04 和 pulseaudio 8.0