De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El kit de conexión de audio JACK (o JACK ; un acrónimo recursivo ) es una API de servidor de sonido profesional y un par de implementaciones de demonios para proporcionar conexiones en tiempo real y de baja latencia para datos de audio y MIDI entre aplicaciones. JACK fue desarrollado por una comunidad de desarrolladores de código abierto liderada por Paul Davis (quien ganó un premio Open Source en 2004 por este trabajo) [2] y ha sido una pieza clave de infraestructura y el estándar de facto para software de audio profesional en Linux. desde sus inicios en 2002. El servidor es software libre , con licencia GNU GPL, mientras que la biblioteca tiene la licencia GNU LGPL , que es más permisiva .

Implementaciones [ editar ]

La API JACK está estandarizada por consenso y existen dos implementaciones compatibles: jack1, que se implementa en C simple y ha estado en modo de mantenimiento durante un tiempo, y jack2 (originalmente jackdmp), una reimplementación en C ++ originalmente dirigida por Stéphane Letz , que introdujo escalabilidad multiprocesador y soporte para sistemas operativos distintos de Linux. [3]

JACK se puede utilizar con ALSA , PortAudio , CoreAudio , FFADO y OSS como back- end de hardware . Además, existe un controlador ficticio (útil si no se desea salida de sonido, por ejemplo, para renderizado sin conexión) y un controlador de audio sobre UDP. Una o ambas implementaciones pueden ejecutarse en Linux , macOS , Solaris , Windows , iOS , FreeBSD , OpenBSD y NetBSD .

La API de JACK también es implementada por PipeWire , que puede actuar como un proveedor de reemplazo completo para los clientes de JACK, mapeando las llamadas de la API de JACK a llamadas de PipeWire equivalentes. [4] Si se usa también como reemplazo de ALSA y PulseAudio, puede unificar los diferentes servidores de sonido y API que normalmente se encuentran en una máquina y permitir una mejor integración entre diferentes software. PipeWire también afirma agregar una serie de funciones y corregir una serie de limitaciones en comparación con JACK. [5] El uso de PipeWire como la implementación predeterminada de JACK es el predeterminado en Fedora 34 y posteriores. [6]

Programación de baja latencia [ editar ]

Al igual que PulseAudio , el demonio JACK es un "demonio de audio", es decir, mezcla audio de aplicaciones mediante software. Para ello, asume tener acceso exclusivo al subsistema de audio del kernel.

Los requisitos de programación de JACK para lograr latencias suficientemente bajas fueron una de las fuerzas impulsoras detrás del esfuerzo de optimización en tiempo real para la serie Linux kernel 2.6, [7] [8] cuyo rendimiento de latencia inicial había sido decepcionante en comparación con la serie 2.4 anterior. [9] El trabajo de ajuste en tiempo real culminó con numerosas mejoras de programación en el kernel de la línea principal y la creación de una rama -rt para optimizaciones más intrusivas en la versión 2.6.24 y, posteriormente, en el parche CONFIG_PREEMPT_RT . [10]

Aplicaciones con soporte JACK [ editar ]

Ver también [ editar ]

  • LADSPA y LV2 : API para complementos
  • PulseAudio - servidor de sonido para uso de escritorio
  • Lista de software de audio de Linux
  • Comparación de software gratuito para audio
  • Alternativas gratuitas de ASIO

Referencias [ editar ]

  1. ^ "JACK" . Resumen del análisis . Ohloh . Consultado el 8 de enero de 2012 .
  2. ^ "Premios de código abierto 2004: Paul Davis para JACK" . techrepublic.com.com . Consultado el 24 de mayo de 2016 .
  3. ^ "¿Qué hay de nuevo en JACK2? - Documento de Linux Audio Conference 2009 del autor principal de JACK2 Stephane Letz" . linuxaudio.org . Consultado el 17 de febrero de 2010 .
  4. ^ "JACK - Wiki - PipeWire / pipewire" . PipeWire en GitLab . Consultado el 11 de febrero de 2021 .
  5. ^ "Preguntas frecuentes - Wiki - PipeWire / pipewire" . PipeWire en GitLab . Consultado el 11 de febrero de 2021 .
  6. ^ Larabel, Michael. "Fedora 34 obtiene aprobación por intentar utilizar PipeWire por defecto para necesidades de audio" . Phoronix . Phoronix Media . Consultado el 11 de febrero de 2021 .
  7. ^ "Anuncio original de un parche de preferencia voluntaria para la serie del kernel Linux 2.6 por Ingo Molnar, 2004" . lkml.org . Consultado el 17 de febrero de 2010 .
  8. ^ "Encontrar los orígenes de las latencias mediante Ftrace, documento de Steven Rostedt del Taller en tiempo real 2009" (PDF) . Consultado el 17 de febrero de 2010 .
  9. ^ "Audio en tiempo real frente a 2.6, documento de la Conferencia de audio de Linux 2006 por Lee Revell" (PDF) . Consultado el 17 de febrero de 2010 .
  10. ^ "Wiki de Linux en tiempo real" . Kernel.org (Los archivos del kernel de Linux) . Consultado el 8 de junio de 2010 .

Enlaces externos [ editar ]

  • Página web oficial
  • Documentación de la API JACK
  • Artículo de Linux Journal
  • Jackdmp con enlaces a archivos binarios de OSX y Windows en Wayback Machine (archivado el 6 de junio de 2012)
  • Lista de aplicaciones habilitadas para JACK
  • Otro artículo sobre JACK (PDF, no gratuito)
  • JACK en iOS (iPhone y iPad)