聆听来自多个麦克风的音频

Posted

技术标签:

【中文标题】聆听来自多个麦克风的音频【英文标题】:Listen audio from many microphones 【发布时间】:2013-01-16 03:14:43 【问题描述】:

我想编写一个程序,它可以从许多(比如 30 个)麦克风中获取音频。我可以更换连接的麦克风。并且可以收听所选的麦克风。我用谷歌搜索并对完美的 API 感到困惑。 Wave 对我来说足够了吗? NAudio 也有,而且可能很多。但哪个最适合我?

提前致谢。

【问题讨论】:

从我对 Live 进行多跟踪的比较来看,我会说 ASIO 具有卓越的性能。 ASIO 绝对是前进的方向,但请记住,您一次只能激活一个 ASIO 设备(无需借助其他软件尝试将多个声卡组合为一个),因此您会需要一个为 30 个麦克风提供大量输入的音频接口。 NAudio 确实支持 ASIO,但我从未使用过如此大量的输入对其进行测试,您最好使用 C++ 处理如此多的实时音频而不会丢失。 【参考方案1】:

如果您想同时录制来自多个麦克风的音频,您需要一个支持这么多通道的 API。

ASIO 是一个不错的选择。具有许多通道的声音接口通常具有 ASIO 驱动程序。如果您需要将多个传统声卡组合到一个设备中,您可以使用ASIO4All,它也会尝试同步多个卡上的时钟。

Direct Audio 和Windows Core Audio 可能也支持这么多频道,但我没有使用它们。

【讨论】:

Direct Audio 和 Windows Core Audio 不支持那么多频道

以上是关于聆听来自多个麦克风的音频的主要内容,如果未能解决你的问题,请参考以下文章

来自麦克风的实时音频播放。 C#

如何在“始终聆听模式”下收听麦克风

处理来自移动麦克风的音频输入而不将其保存到文件中

C ++中的Linux音频捕获

使用 IMFSourceReader 对来自麦克风的音频和视频流中的延迟进行编码时会出现噪音

iPhone 麦克风的硬件限制