问题标签 [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 回答
1283 浏览

c# - 如何使用 AsioOut (NAudio) 消除直接监控的延迟和回声

基于我提出的这个问题:How to Record and Playing with NAudio using AsioOut

使用此代码:

这样做感觉有点延迟和一点回声,我不知道如何解决它们。

我在网上搜索了允许我消除回声(AEC)的库,但没有发现任何对 C# 有用的东西。有谁知道如何帮助我?

编辑 1:我AsioOut.PlaybackLatency的是 2048 毫秒。有点太高了。。

编辑 2:我尝试使用耳机,我注意到回声只是由于麦克风和扬声器之间的接近,所以虽然拥有 AEC 会很有趣,但这不是问题。

问题解决:我解决了延迟问题。这是我的 ASIO 驱动程序的问题,我卸载了 Cubase 并安装了 ASIO4ALL 驱动程序,现在它可以正常工作了。 PS:我必须在. MoveMemory我不知道为什么,但没有它你会听到一阵阵的声音。

0 投票
1 回答
1400 浏览

android - 如何在android中测试webrtc aec?

嗨,我想测试 webrtc aec,我想知道它是如何工作的。因为我要集成 speex。我不知道如何做所有的事情,但我必须做。所以请给我有关如何测试的信息以及是否有任何应用程序可以测试 webrtc。我必须在 android 环境中进行测试,并且必须集成到本机代码中。

我尝试了 skype 和 line 以及其他 voip 应用程序,但我没有得到任何关于 webrtc aec 的日志。

0 投票
2 回答
459 浏览

android - 当我们在 chrome 中测试 webrtc 时,它是否使用了用 android 编写的本机代码和 jni 代码

我正在我的办公室从事 webrtc 项目。我需要测试 webrtc 以了解函数调用的流程。

我尝试在我的android chrome浏览器和其他浏览器中使用他们网站appspot中的google apprtc测试webrtc。

我还使用了 skype、line 和其他应用程序。

但是当我在我的电脑中使用命令“sudo adb logcat”时,我无法看到日志。

我在 odroidx2 板上测试。

测试webrtc流程是否正确?

或者有没有其他方法可以做到这一点?

我试过这个,我没有找到任何答案

0 投票
1 回答
1340 浏览

android - gainBuffer 超时(CPU 是否固定?)

我正在使用自己的应用程序同时播放和捕获音频数据。

我正在使用音乐文件进行播放并捕获该数据以测试 android 中的渲染延迟,但我得到的日志为

gainBuffer 超时(CPU 是否固定?)

我的文件是:

播放音频文件.java

RecordedAudioFile.java

VoiceAudioRecord.java

我得到这样的日志

然后我的捕捉和回放不如我预期的那样好。

即使我将 cpu 速度置于高模式,日志也会重复。

可能是什么问题?

0 投票
1 回答
2215 浏览

android - Echo 没有在具有更高采样率的 android 中使用 speex aec 取消?

我在android中成功集成了speex aec(集成在Android/frameworks/av/media/libeffects/preprocessing中)。

当我使用 8k 和 11k 采样率进行捕获时,回声被取消。但当我使用更高的采集采样率(例如 16k、22k、32k 等)时,它的效果会更差。

我使用 speex 重采样器仅对我的输入数据进行重采样。我不知道为什么 Echo 没有以更高的采样率取消。

任何人都可以解释这个解决方案吗?

0 投票
1 回答
301 浏览

android - TTS 时的语音识别

我正在构建一个 android 应用程序,其中 TTS(文本到语音)由语音命令控制。对于语音识别,我使用的是 pocketsphinx,它在 TTS 未激活时工作正常(即“开始”命令)。但是,当 TTS 处于活动状态时(例如,对于“停止”命令),识别的准确性会下降。

我尝试使用 AcousticEchoCanceler,但似乎没有帮助。你能告诉我:

  1. AEC 是否应该从输入中过滤手机输出?是它不能很好地工作还是它不应该这样做?

  2. 我还要尝试什么?

谢谢!

0 投票
1 回答
661 浏览

android - 内置 AEC Android 性能

有谁知道 Android post Jelly Bean 附带的内置 AEC 是否运行良好?我正在尝试它,我得到的输出量非常低并且非常不稳定。它确实取消了所有扬声器输出,但通过麦克风的剩余用户输入状况非常糟糕。

只是想知道 AEC 本身是否很糟糕,或者我是否在代码中的某个地方搞砸了。如果有人想听,我可以提供生成的音频文件。

0 投票
1 回答
915 浏览

android - WebRTC AEC 不适用于带有 USB 摄像头的 Android

我们有一个启用了 webrtc 的服务,它有 2 个不同的端点;一个网络应用程序和一个原生安卓应用程序。安卓应用程序安装在带有 USB 摄像头的安卓设备上。

使用 chrome/firefox 上的 web 应用程序,pc2pc 的音频质量几乎是完美的。但我们想提高 pc2android 和 android2android 的音频质量。

Chrome 将声学回声消除(AEC - 会议)用于高端设备。但对于 Android,它强制使用 AECM——一种用于手机的轻量级 AEC。我们对 AECM 的表现不满意。对于我们的原生应用程序,我们修改 webrc 源代码以使用 AEC。但结果更糟。就像回声消除完全被禁用一样,我们最终得到了如此多的回声和反馈!

根据这个问题,AEC 应该只适用于 8k 和 16k 采样率,并且只能在高端设备中使用。那应该没问题。我们正在使用具有 8k 采样率的 PCMU 编解码器,我认为我们的 Android 设备足够强大,可以克服 AEC 的额外计算复杂性:

  • 四核 ARM CPU @ 2Ghz
  • 8 核 Mali-450MP GPU @ 600Mhz
  • DDR3 1GB 内存
  • 安卓奇巧

如果需要,我很乐意分享我们的回声消除性能图。

手机不能使用 AEC 还是我们遗漏了什么?

0 投票
1 回答
263 浏览

android - android speex mp3 文件回声消除

我正在开发一个应用程序,它记录麦克风的输入,同时必须能够通过扬声器播放 MP3 文件。

我需要取消 MP3 文件的回声。我尝试过使用 AcousticEchoCanceler,但它没有用。

现在我已经在我的项目中集成了 speex 库。EchoCanceller 函数界面如下所示:

问题是我不知道如何获取“echoFrame”(当前播放 MP3 文件的数据)。我正在使用 MediaPlayer 播放它。

是否可以从 MP3 文件中取消回声?或者我必须将 MP3 转换为 PCM 并通过 SoundTrack 播放?谢谢阅读。

0 投票
2 回答
950 浏览

python-3.x - Python adaptfilt 2.0 FloatingPointError:乘法中遇到无效值

我正在尝试使用库adaptfilt 2.0中的 python 3.4 中的“回声取消”示例,如下所示:

它按预期工作。但是后来我想对音乐文件中的一些真实数据做同样的事情,我得到了一个错误:

我使用的代码是这样的:

我看到的唯一区别是“speech.npy”中的数组是 float64 类型,而 wav 文件中的数组是 int16 类型。