问题标签 [aec]

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 投票
2 回答
785 浏览

audio - WebRTC:非 10 毫秒音频帧可能吗?

有没有人尝试更改 WebRTC 中的音频帧大小?它使用 10ms 帧。我需要一个不同的尺寸,而且代码看起来没有希望......

0 投票
1 回答
577 浏览

windows - 使用核心音频 API 消除回声

有人尝试使用 Windows Core 音频 API 取消回声吗?我想知道它有多好用。

0 投票
2 回答
442 浏览

java - 是否可以为 2^14 音频帧实现 65 微秒 FFT?

我正在开发一个 Java 项目,我需要在 65 微秒内实现 FFT 转换。FFT 的输入是 2^14 个实数。我已经尝试过可以从 Internet 上找到的每个 Java FFT 库,例如 JTransforms 和 Apache Common Math,但没有一个可以达到这个速度。最快的库是 JTransforms,但仍然需要大约 1 毫秒。那么有人可以告诉我是否有可能在 JAVA 中达到这样的速度(65 微秒)?据我所知,在这种情况下,C 库 FFTW 可以足够快,但我不能在这里使用 JNI,我需要一个纯 Java 实现,因为它将作为 Applet 部署在网站中。

PS 我的工作是使用 FFT 将 2^14 音频帧传输到频域,然后对其应用声学回声消除算法 (MDF)。2^14 由普通房间的标准回声延迟决定。

谢谢!!!

0 投票
2 回答
10808 浏览

android - Speex 回声消除配置

我正在使用它的 AudioRecord 和 AudioTrack 类以及通过 NDK 的 Speex 来制作一个 Android 到 Android VoIP(扬声器)应用程序来进行回声消除。我能够成功地传入 Speex 的 speex_echo_cancellation() 函数并从中检索数据,但回声仍然存在。

这是录制/发送和接收/播放音频的相关android线程代码:

以下是相关的 NDK/JNI 代码:

这些代码运行良好,音频数据肯定是从 android-to-android 发送/接收/处理/播放的。给定 8000 Hz 的音频采样率和 2000 字节/1000shorts 的数据包大小,我发现需要 1000 的 frameSize 才能使播放的音频流畅。filterLength 的大多数值(根据 Speex 文档又名尾长)将运行,但似乎对回声消除没有影响。

有没有人足够了解 AEC 来为我提供一些关于实施或配置 Speex 的指示?谢谢阅读。

0 投票
3 回答
10259 浏览

java - Android 上的 WebRTC AEC

我正在为Android开发一个SIP 软电话应用程序,并面临回声消除问题。我尝试使用Speex解决它,但没有成功。所以我的下一个镜头是WebRTC AEC(声学回声消除),但我找不到任何关于如何使用它的文档。

在我的应用程序中,音频由 Java 中的 AudioTrack 和 AudioRecord 类管理,但发送和接收的套接字在 C 代码中(与 JNI 集成)。WebRTC 是一个大型项目,我只想集成 AEC 模块。

有人知道我必须包含哪些文件,编译器需要哪些标志,要执行哪些函数调用,等等?我有 CSipSimple 代码,它也使用 WebRTC(但也用于其他用途),我找不到包含和使用它的简单和正确的方法。

谢谢。

0 投票
1 回答
647 浏览

audio - 检测声音文件或设备中的回声或侧音

我需要从未静音的电话听筒中检测回声/侧音。

基本上,我在我的麦克风静音电脑上拨打电话听筒。然后我从电脑向手机播放声音,并记录听筒传入的音频。

我需要检测我拨打的电话是否静音。如果它没有静音,我应该在音频文件中看到一些侧音/回声。

目前,我在看到原始音频中的任何回声时遇到问题。

是否有任何软件或算法可以运行音频文件来检测回声/侧音?

我应该播放任何特定的音调或频率来产生最大的回声吗?

0 投票
0 回答
1093 浏览

c# - 如何在 Silverlight C# 上实现声学回声消除,我正在使用 speex

我一直在研究 Silverlight 语音聊天应用程序,使用 speex(基本上是 C# 移植的 Jspeex)进行编码和解码。我想实现以下内容:

  1. 在 C# 中使用 Speex 进行声学回声消除:我一直在环顾四周,还没有找到可行的解决方案,或者真的不确定如何做到这一点。
  2. 声音的质量非常嘈杂,每 30 秒就会中断一次。

以下是我迄今为止实现的代码:

/*******************************编码******************* ***************/

/****************************解码******************** *******************/

我一直在调整 speex 编码和解码类以获得最佳语音质量,但没有运气。并且一直在 speex 类中搜索我可以访问和实现的任何 AEC,这里也没有运气,但是 speex 文档提到了 C++ 中的 AEC,但不清楚如何在 C# 中实现。

我是 C# 开发的新手,请指导,如果可能的话,请指出一个可以帮助我实现这个 AEC 并提高语音质量的方向。我很感激任何指导。

谢谢!

0 投票
0 回答
276 浏览

algorithm - Flash 中的算法回声消除器

有人知道 Flash 中 Echo Canceller 的算法和架构/方案是什么吗?

0 投票
3 回答
7567 浏览

webrtc - webrtc AEC算法

我制作了一个使用 WebRTC DSP 库(AEC、NS、AGC、VAD)的软件。现在我需要知道每个算法使用什么算法来写我的硕士论文,但我没有找到任何相关信息。

有人知道这个库的算法,特别是声学回声消除(例如 NLMS,我知道它很常用,但我不知道 WebRTC 是否也使用它)。

我试图了解查看源代码的算法,但我还不够了解。

提前致谢!

0 投票
1 回答
1231 浏览

android - 回声消除

有谁知道仅适用于一个扬声器的 Android AEC 吗?假设我与我的 Android 手机通话,它将音频数据流式传输到 PC,PC 会立即在扬声器上输出这些数据。所以我会听到自己的声音。

我不确定 WebRTC- 和 Speex-AEC 是否只能消除另一个扬声器的回声。