【问题标题】:Acoustic echo cancelation windows xp/vista/7回声消除窗口 xp/vista/7
【发布时间】:2013-01-18 19:37:31
【问题描述】:

使用 C++ 在 windows xp/vista/7 上执行 aec 计算的首选方法是什么?

是否有一个 API 可以提供同步的输入和输出样本,以便我可以将它们传递给像 speex 这样的外部库?

或者这个嵌入式 API 本身执行 aec 计算,只返回结果,以便我可以对其进行编码并将其传输到远程站点。

对 xp/vista/7 的 aec 支持有什么不同吗?

什么是用于 aec 计算的最佳外部库(免费与否)? (在这种情况下,我需要操作系统同步输入/输出样本)

示例代码会很好。

【问题讨论】:

    标签: c++ windows acoustics


    【解决方案1】:

    在互联网上搜索“AEC DMO”。它将在为 Vista/Win7 提供的 AEC 组件上打开一些有用的 MSDN 链接like this one。 Vista 上提供了 DMO 示例应用程序,但您可能需要下载相关的 Windows SDK 才能获取该代码。

    对于 XP,有 IDirectSoundFullDuplexCreate8。几乎不能在 XP 上工作。在 Vista+ 上根本不起作用。

    【讨论】:

    • 谢谢!你知道它(Aec DMO - aka Voice capture DSP)是否在 vista/7 上运行良好??
    • 已经有一段时间了。但我记得我们在 Vista 发货时将它作为一个著名的 VOIP/视频通信产品的一部分发货,因为我们知道现有的 AEC 已经过时了。 YMMV。我记得的唯一一件微妙的事情是,如果您将其应用于录制流而没有实际播放输出设备,这是有道理的。除非其他流正在积极进行,否则它无法收敛。
    • 另一个问题:1) 有没有关于如何设置 xp aec 的示例代码? 2) DirectSoundFullDuplexCreate8 和 Aec 系统过滤器 (msdn.microsoft.com/en-us/library/windows/hardware/…) 是指同一个东西还是它们是两个独立的 aec 机制?
    • 我不知道。我建议查看随 Windows Platform SDK for Vista 或 Win7 提供的 AEC DMO 示例。其中一个下载有演示代码。对于 XP,您可能不得不回到很久以前下载 WinSDK。
    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    相关资源
    最近更新 更多