instalar - ¿RtAudio o PortAudio, cuál usar?
portaudio python (3)
Estoy considerando RTAudio + RTMidi y PortAudio + PortMidi para un nuevo proyecto que requiere audio en tiempo real y procesamiento midi. ¿Puede alguien con experiencia en el uso de ambas bibliotecas recomendar una sobre la otra? ¿por qué? Prefiero una API de C ++ en lugar de una API de C, pero esto no es suficiente para tomar una decisión.
Aquí hay un hilo relevante que apareció en la lista de desarrollo de audio de Linux. El enfoque que tomaré para mi (s) nueva (s) aplicación (es) es codificar para jack y hacer todo mi depuración en linux + jack y luego usar RTAudio para los puertos que termino de liberar.
Salud!
Obteniendo frecuencia de muestreo de jack y tamaño buffersize con portaudio
He estado buscando la combinación perfecta con esa necesidad durante bastante tiempo. Por ahora prefiero
puerto de audio:
- (+) también trabaja con wasapi (! rt audio no lo es)
- (+) proyecto muy activo, y algunos buenos gurús lo están desarrollando).
- (+) utilizado por muchas aplicaciones muy exitosas + el C ++ no es nativo pero hay un enlace que está integrado a la rama principal (desde el año pasado, creo)
- (+) Es realmente confiable con libsdnfile (lo cual es genial)
- (-) No es nativo c ++
- (-) Los proyectos, configuración, integración son bastante molestos.
- (-) funciona bien para multiplateforme (debian, osx, seven: mi propia experiencia)
audio rt
- (+) c ++ nativo,
- (+) realmente fácil de entrar
- (-) no wasapi
- (-) no tanto activo
otras soluciones:
Qt:
- (-) pesado, no es exactamente lo que estoy buscando
- (-) el soporte de audio en tiempo real es reciente y no es estable
- (+) fácil de usar si usa QtCreator (y menos si usa QtAddon con visual, y menos con xcode)
- (+) midi integrado
Juce:
- java como diseño
- pesado, no es exactamente lo que estoy buscando
- Sencillo, y funcionando bastante bien (audio profesional usado).
- Midi integrado, lectura de archivos de aiff y wave, y flac
Actualización (10-04-2014): RtAudio v4.1.0 ahora es compatible con wasapi.
Los enlaces de Java de PortAudio están simplificados en exceso. Por ejemplo, no puede establecer el modo exclusivo o el modo compartido para el acceso al dispositivo, lo cual es una pena porque le roba 7 ms de latencia, especialmente si captura la entrada del micrófono (donde normalmente no es necesario el acceso compartido) en Windows 10. Si cuenta en la salida, pierde 14 ms RTT para monitorear su micrófono / material.
RtAudio parece tener soporte WASAPI ahora, pero no estoy seguro de si es mejor que PortAudio. Pero, ¿hay enlaces de Java? No fue preguntado en la pregunta, lo sé, pero aún así ... :)
Otro proyecto bastante nuevo es XtAudio . Expone el acceso exclusivo y compartido a dispositivos como diferentes conjuntos de dispositivos en la interfaz y, en general, parece tener un mejor soporte de API. No creas que es compatible con MIDI.