Asio,c#,同时录制来自麦克风和线路输入的声音

Asio, c#, recording sound from microphone and line inputs simultanously

我正在尝试从单个声卡的多个接口捕获声音。我可以获得相对于彼此没有移动的数组吗?我想使用 4 个麦克风(每个通道在一个接口中使用 2 个麦克风)来检测声音发射器 position.I 使用 windows,所以我无法创建聚合设备。我还录制了来自不同线程的声音,但阵列之间的延迟非常随机。这是主要问题,因为我想对数组应用互相关函数以获得给出最大值的延迟(偏移),这个偏移定义了声源的角度,所以我可以使用任何与 ASIO 不同的东西,但它必须对所有人稳定记录间隔。如果没有针对 C# 的解决方案,我知道 C++。请告诉我如何解决我的问题。

如果所有麦克风都连接到同一个硬件设备,您可以使用 ASIO,假设该设备实际上有 ASIO 驱动程序。如果没有,您可以尝试 ASIO4All(但我不知道它是否会同步独立设备)或使用 WASAPI 并手动执行同步。 WASAPI 的 IAudioCaptureClient::GetBuffer 方法将为您提供记录位置的流位置和流时间,从那里您应该能够计算出 4 个麦克风中每一个之间的时间偏移,然后执行 "unshifting"你自己。