问题标签 [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 投票
1 回答
1172 浏览

google-chrome - Chrome WebRTC 回声消除和外部音频源

我正在使用 Electron(版本 10,Chrome v75)和 ​​WebRTC 构建视频会议应用程序。该应用程序有多个窗口,在每个窗口中,我都有一个单独的 RTCPeerConnection 与不同的应用程序用户。问题是,如果我不使用耳机,会有强烈的回声使应用程序几乎无法使用。

我尝试设置各种getUserMedia选项,例如echoCancellation: trueor googEchoCancellation: true, echoCancellationType: "browser"/"system",但没有一个能够消除来自各种声源的回声。

这个问题只出现在 Mac 和 Linux 上,而 Windows 非常有效地抑制了回声。

我发现这个 Chromium 问题更详细地描述了一个类似的问题。

此外,当我在 Chrome + Mac 或 Linux 上试用这个Fiddle时(尽管 Chrome 并不适合这种情况,请在此处找到更多详细信息),我看不到回声消除的效果,并且回声仍然存在。然而,同样的事情在 Chrome + Windows 或 Firefox + 任何操作系统上都能完美运行。

Chrome中的AEC(回声消除)是否真的没有考虑到所有声源,有人知道解决方法吗?

0 投票
0 回答
391 浏览

c# - 如何使用 Speex 正确移除回声消除?

更新:我使用的整体代码

为此,您真的必须在这里查看 Mark Heath 的文章:如何同时播放和录制。有了这个,你真的可以直接理解问题对吗?也就是说,从 mic 播放的声音将被循环录制回 mic ..。因此,回声效应。

我在 btnRecord 事件中开始录制和播放操作:

这是在记录数据可用时调用的代码:

在最后一行中,您可以看到我将 speex 处理的结果缓冲区放入 bufferedWaveProvider 中再次播放。不幸的是,它仍然是一样的:仍然是相同的回声效果。

0 投票
0 回答
25 浏览

unity3d - 我如何创建实时交互式架构演练?

我已经在 3dsmax 中创建了架构模型,并且我想进行实时演练,我可以在模型中移动并从列表中更改材料。

谁能指导我我该怎么做?

0 投票
0 回答
84 浏览

c - Speex Acoustic Echo Cancellation Stack Overflow

I am attempting to use the speex libraries acoustic echo cancellation facilities like so:

Unfortunately I am getting a lot of stack corruption when calling speex_echo_cancellation which causes a lot of unexpected errors. In this case the samplerate is 44.1kHz, the channels are 2 and the block size is 1024. I also see a lot of warnings from speex that print the following:

warning: The echo canceller started acting funny and got slapped (reset). It swears it will behave now.

I am unclear where I am going wrong. I have tried setting the filter length to a number of different sizes, even feeding it just 0's as samples, but it always seems to leak. Would anyone know what the issue is?

I should add that I have tried not reading from "current_samples" and "other_samples" so the issue is solely reproducible by running the speex calls in the Run section of the code.

0 投票
0 回答
124 浏览

webrtc - 当远端有噪声时,AEC3 抑制近端音频

我将 Chromium 的 AEC3 用于我的应用程序的声学回声消除。回声消除工作正常。但只要扬声器中播放噪音,NearEnd 音频(来自我的麦克风的声音)就会抑制。

我使用这里使用的默认配置https://chromium.googlesource.com/external/webrtc/+/refs/heads/main/api/audio/echo_canceller3_config.h

采样率:48k

我的代码:

有什么我做错了或需要更改任何配置吗?

任何帮助将不胜感激,在此先感谢。

0 投票
0 回答
25 浏览

android - 如何从 Webview 捕获流并将其更改为带有 AEC 的 VOICE_CALL 流?

我正在使用 Agora,它有一些问题。其中之一是说话者的声音从媒体声音中传出来。

在浏览器上,它无法控制媒体音量,所以,我创建了一个应用程序来处理这个问题。在应用程序中,我发送音量增大/减小按钮来控制媒体音量。

但是,这种方法会产生啸叫问题。因此,我想将声音发送到STREAM_VOICE_CALLAndroid 上的 AEC(声学回声消除)API 并使用它,以便声音出现在正确的流中,并且可以处理回声问题。

我写的,

但这没有用。

而且,我尝试像这样应用 AEC:

但是,我不知道是否AcousticEchoCanceler.create(audioManager.generateAudioSessionId())正确。

请帮帮我。

0 投票
2 回答
61 浏览

autodesk-forge - 如何在 Forge 查看器中的 AEC 模型的 2D 图纸空间坐标和世界 3D 坐标之间进行转换?

我正在关注 Petr Broz 的博客文章,其中包含我在 BIM 360 中的 Revit 项目中发布的视图,但我想知道如果我发布的 2D 视图实际上只是一个独立的楼层,我将如何在 2D 坐标和 3D 世界坐标之间进行转换平面视图而不放置在任何图纸上。

我试图获取视口,但我意识到发布的视图在模型中没有任何视口。所以我实际上不能在视口扩展中使用这些功能。任何建议将不胜感激。

0 投票
0 回答
48 浏览

android - 是否可以将 AcousticEchoCanceler(Android AudioEffect) 与 OpenSL ES (NDK) 一起使用?

它似乎AcousticEchoCanceler需要一个audioSessionId可用的。如果您使用AudioRecordor ,哪个有效AudioTrack。如果我们可以为 OpenSL ES 流分配“音频会话 ID”,我们是否能够将 AudioEffect(s) 与 NDK 一起使用。有谁知道这是否可以做到?

0 投票
0 回答
10 浏览

database - 建筑/建筑数据库?

我想知道是否有任何与建设成本、进度、可持续性、安全、项目交付方法等相关的数据库,以及任何与架构相关的数据库?这里有没有人从事与“人工智能、设计或施工中的数据分析”相关的研究?我感谢您的帮助。