RtAudio或PortAudio,使用哪一种?

RtAudio或PortAudio,使用哪一种?,audio,portaudio,Audio,Portaudio,我正在考虑一个需要实时音频和midi处理的新项目。有使用这两个库经验的人能推荐其中一个吗?为什么? 我更喜欢C++ API,而不是C API,但这不足以让我做出决定。 很长一段时间以来,我一直在寻找与这种需求完美匹配的产品。 现在我更喜欢 端口音频: (+)在Windows上,支持asio、DirectSound、MME、WASAPI(带有标题) (+)在Linux上,支持ALSA、OSS、Pulse、JACK (+)在Mac上,支持核心音频 (+)非常活跃的项目,一些优秀的大师正在开发)

我正在考虑一个需要实时音频和midi处理的新项目。有使用这两个库经验的人能推荐其中一个吗?为什么?
我更喜欢C++ API,而不是C API,但这不足以让我做出决定。 很长一段时间以来,我一直在寻找与这种需求完美匹配的产品。 现在我更喜欢

  • 端口音频:

    • (+)在Windows上,支持asio、DirectSound、MME、WASAPI(带有标题)
    • (+)在Linux上,支持ALSA、OSS、Pulse、JACK
    • (+)在Mac上,支持核心音频
    • (+)非常活跃的项目,一些优秀的大师正在开发)
    • (+)由许多非常成功的应用程序+ C++ +不是本地的,但有一个绑定集成到主分支(自去年以来)
    • (+)libsdnfile非常可靠(非常好)
    • (-)它不是本地的c++
    • (-)项目、配置、集成非常烦人
    • (-)适用于多种平台(debian、osx、seven:我自己的经验)
    • (-)在谷歌搜索答案时,很多文档都很糟糕,而且大多过时且相互矛盾
  • rt音频

    • (+)在Windows上,支持asio、DirectSound和WASAPI(截至2014年4月10日)
    • (+)在Linux上,支持ALSA、OSS、Pulse、JACK
    • (+)在Mac上,支持核心音频
    • (+)本机C++,
    • (+)真的很容易进入
    • (-)不太活跃
    • (-)许多文档都很糟糕,而且大多过时且相互矛盾 在谷歌搜索答案时
其他解决办法:

  • Qt:

    • (-)很重,不是我想要的
    • (-)实时音频支持是最新的,不稳定
    • (+)如果使用QtCreator,则易于使用(如果将QtAddon与visual一起使用,则使用较少,而将QtAddon与xcode一起使用,则使用较少)
    • (+)midi集成
  • 朱斯:

    • java式设计
    • 很重,不是我想要的
    • 简单,工作良好(使用专业音频)
    • midi集成、aiff和wave文件读取以及flac

    • 以下是Linux audio-devel列表中出现的相关线程。我将为我的新应用程序采取的方法是为jack编写代码,并在linux+jack中进行所有调试,然后对最终发布的端口使用RTAudio

      萨鲁德


      PortAudio Java绑定过于简单。例如,您不能为设备访问设置独占模式或共享模式,这是一个遗憾,因为它有效地减少了您7毫秒的延迟——特别是如果您在Windows 10下捕获麦克风输入(通常不需要共享访问)。如果你计入输出,你就失去了14毫秒RTT监控你的麦克风/东西的能力

      RtAudio现在似乎有WASAPI支持,但我不确定它是否比PortAudio好。但是有Java绑定吗?我知道问题中没有被问到,但仍然…:)


      另一个相当新的项目是。它将对设备的独占和共享访问公开为前端的不同设备集,并且通常似乎具有更好的API支持。不要认为它支持MIDI-tho。

      你最终找到一个好的库了吗?我也有同样的问题。。。我只是对PortAudio做了一些实验,它看起来相当复杂(非常低级),它缺少一个官方论坛(我讨厌邮件列表)。RTAudio缺乏文档。有令人讨厌的“包括”政策。做太多的事情,它不是真正专注于实时音频/midi。我想依靠一个由大型社区/文档支持的维护的跨平台库。我正在使用RTAudio,它工作得很好,但我仍然想尝试一下PortAudio。选择RTAudio的主要原因是它有一个C++ API而不是C,它被开放框架使用,有时我使用。谢谢你的回答!您使用哪种IDE来完成这种工作?我使用过xcode、vim、TextMate和/或MakeFiles,但我对所有这些都有不同的看法。不管怎么说,这是一个旧线程:我在windows上使用visual,或者在qt上使用qtcreator。在mac上,我使用xcode。然而,对于端口音频,我在linux上只使用makefiles和gedit。我想说:xcode&visual,很好,但是您有两个项目文件。如果你在linux上工作,你可以做一个makefile(或者使用像scons或cmake这样的工具)。如果你在linux上工作,只要找到一个在mac和windows上可移植的工具(使用mingw),一切都应该是正确的。Cmake很难,但如果你掌握了它,你就是王者,因为1个项目,完全可移植似乎是活跃的,并且现在支持WASAPI(已经在文章的最后提到了)。链接已经失效。你能找到新的推荐人吗?我想读一下。抱歉,收到了:指向XtAudio的链接现在变成了一些垃圾邮件,可能该域已被重新获取。