使用 C++ 的 PC 使用音频 IO 的 DSP

信息处理 声音的 数字通讯 C++ 回馈
2022-02-06 03:04:48

这是我对dsp的第一个问题。我在这里寻找一些非常简单的东西,我确信有库可以进行音高识别和 FFT,但我的要求非常简单。

我有一台 PC,我正在使用音频输入进行模拟信号反馈和输出来控制设备。我正在使用 Windows 作为操作系统。

  1. 我想确保我可以完全控制音频输出,并且没有其他程序或操作系统会将声音流式传输到同一通道。

  2. 我想以已知的时间间隔精确输出

  3. 我想检查反馈是否与设备的预期相符。

任何执行相同操作的代码片段或文章都会很有用。如果我的问题中缺少某些内容,我可以提供更多详细信息。

1个回答

您可以从 PC 中挤出的最佳性能是使用支持ASIO的音频接口。

为了能够获得接近 10 毫秒的延迟(输入和输出),您还需要一台速度非常快的机器。不仅在 CPU 方面,更重要的是在内存性能方面。

除了这个延迟之外,您还必须在处理信号和生成输出信号时添加延迟。

您所描述的硬件上的 1毫秒(总延迟(?))是不现实的。

ASIO 的工作方式将处理问题#1、#2。我仍然不确定您所说的#3 是什么意思。如果您想使用 PC 驱动带有某些信号的设备并收集设备对该信号的响应,那么使用启用 ASIO 的音频接口也相对容易实现。

希望这可以帮助。