Подтвердить что ты не робот

RtAudio или PortAudio, какой из них использовать?

Я рассматриваю RTAudio + RTMidi и PortAudio + PortMidi для новый проект, который требует обработки аудио и midi в реальном времени. Может ли кто-нибудь с опытом использования обеих библиотек рекомендовать друг друга? Зачем? Я предпочитаю С++ API через API C, но этого недостаточно для принятия решения.

4b9b3361

Ответ 1

Я завязывался для идеального матча с этой потребностью довольно долгое время. На данный момент я предпочитаю

  • порт аудио:

    • (+) также работает с wasapi (! rt audio is not)
    • (+) очень активный проект, и некоторые хорошие гуру его развивают).
    • (+), используемый многими очень успешными приложениями + С++ не является родным, но есть привязка, которая интегрирована в основную ветку (с прошлого года, я думаю)
    • (+) Он действительно надежный с libsdnfile (что отлично)
    • (-) Это не родной С++
    • (-) проекты, настройка, интеграция довольно раздражает.
    • (-) работает хорошо для multipateforme (debian, osx, seven: мой собственный опыт)
  • rt audio

    • (+) native С++,
    • (+) действительно легко попасть в него
    • (-) no wasapi
    • (-) не так активно

другие решения:

  • Qt:

    • (-) тяжелый, не совсем то, что я ищу.
    • (-) поддержка аудио в реальном времени является последней и нестабильной.
    • (+) прост в использовании, если вы используете QtCreator (и меньше, если используете QtAddon с визуальным и меньше с xcode)
    • (+) midi интегрированный
  • Джюс:

    • java как дизайн
    • тяжелый, не совсем то, что я ищу
    • прост и работает довольно хорошо (используется профессиональный звук)
    • midi интегрированный, чтение файла aiff и wave и flac

Обновление (10-04-2014): RtAudio v4.1.0 теперь поддерживает wasapi.

Ответ 2

Вот соответствующая тема, которая появилась в списке аудиодекодеров Linux. Подход, который я возьму для своих новых приложений, - это код для разъема и выполнить всю мою отладку в linux + jack, а затем использовать RTAudio для портов, которые я в конечном итоге освобождаю.

Салюд!

Получение частоты дискретизации и буферизации с помощью portaudio

Ответ 3

Связи Java PortAudio упрощены. Например, вы не можете установить эксклюзивный режим или общий режим доступа к устройству, что является позором, поскольку он эффективно крадет у вас 7 мс меньшей задержки, особенно если вы снимаете вход микрофона (где обычно не требуется общий доступ) в Windows 10. Если вы рассчитываете на выходе, вы теряете RTT на 14 мс для мониторинга вашего микрофона/материала.

RtAudio, похоже, поддерживает WASAPI, но я не уверен, что это лучше, чем PortAudio. Но есть ли привязки Java? Я не знал этого вопроса, но все же...:)

Другой, скорее новый проект XtAudio. Он предоставляет эксклюзивный и общий доступ к устройствам, поскольку различные наборы устройств для интерфейса и, как правило, имеют лучшую поддержку API. Не думайте, что он поддерживает MIDI tho.