Introducción a JACK Audio Connection Kit

Aquellos amantes de la música y el software libre no pueden dejar de conocer JACK, el servidor de audio de baja latencia.

Este artículo se basa en la traducción que realicé en su día de las páginas 37 y 38 del manual de usuario de AvLinux. Si queréis trabajar con Audio en Linux, es más que recomendable que os leáis este PDF y el manual de Ardour o Qtractor.

Usando JACK

La manera más fácil de configurar el servidor de Audio JACK es usar la aplicación JACK Control (conocida como Qjackctl). Esta puede ser facilmente lanzada desde LXPanel o el Dock Wbar. Para configurar tu tarjeta de sonido haz click en el botón ‘Setup’.

En el siguiente ejemplo el sistema tiene una tarjeta integrada Intel HDA que ha sido seleccionada en el menú desplegable ‘Interfaz’. Generalmente, si tu interfaz de audio figura en esta lista es porque está soportada por ALSA y JACK. Para usar una interfaz firewire tendrás que seleccionar ‘firewire’ en lugar de ‘alsa’ en el menú desplegable ‘Driver’. Es muy importante asegurarse de que está seleccionado ‘Tiempo Real’ en el campo de ‘Parámetros’. Otro número a comprobar en el setup es el campo ‘Períodos / buffer’.

Si estás experimentando ‘Xruns’ o cortes de audio necesitas aumentar este número hasta que desaparezcan. Si estás grabando directamente a una pista de grabación los números de baja latencia no son terriblemente necesarios, pero si estás grabando a través de un plugin o de otra aplicación de audio ruteada a la pista de grabación entonces sí que necesitarás bajas latencias. Para usar JACK con sintetizadores y plugins MIDI se recomienda aumentar el valor de ‘Límite de Tiempo (mseg)’ hasta los 3000 milisegundos (o más) para una mejor estabilidad.

Haciendo las conexiones

La mayoría de las aplicaciones, una vez arrancadas y corriendo bajo JACK, gestionarán sus conexiones desde el propio programa que estés usando, aunque a veces es necesario usar la función ‘Conectar’ en JACK Control para conectar aplicaciones o incluso hardware como los teclados MIDI. En el siguiente ejemplo conectamos las salidas MIDI del teclado virtual ‘VMPK’ para controlar el banco de sonidos del sintetizador Qsynth. La ventana ‘Conexiones’ tiene tres pestañas. La pestaña ‘Audio’ muestra las conexiones de audio realizadas desde las entradas de micrófono o línea de la tarjeta a la aplicación que estés usando y desde la aplicación a las salidas actuales de la tarjeta de sonido. La pestaña ‘MIDI’ es para hacer conexiones de hardware y software que usen ‘JACK MIDI’ y la pestaña ALSA hace lo mismo para aplicaciones que usen ‘ALSA MIDI’.

Para aquellos más orientados a lo gráfico hay también dos utilidades de patchbay alternativas para hacer las conexiones bajo AV Linux: el Patchbay linuxDSP JP1 ubicado en el menú ‘JACK Plugins’ y ‘Patchage’, que se encuentra en el menú ‘Audio’ y se muestra en la siguiente figura.

Un par de apuntes complementarios

Algo que me repatea de Qsynth es que no venga con un banco de sonidos cargado por defecto (creo que se puede configurar para que lo haga), por lo que la primera vez no suena y puede que algún usuario de lo más vago ya tire la toalla (que los hay). Como yo también soy bastante ignorante, Qsynth es un gestor del sintetizador Fluydsynth, así que imagino que hay una forma de que este cargue un banco por defecto, pero como soy bastante vago, aún no me he puesto a ello. Tranquilos que cuando hablemos de sintes procuraré daros la solución, mientras tendréis que buscar en Google. Para cargar un banco de sonidos en Qsynth, vamos al menú ‘Configuración’.

En la pestaña ‘Soundfonts’, cargaremos (botón ‘Abrir’) el banco que trae Av Linux y está ubicado en la ruta ‘/usr/share/sounds/sf2′. En Internet hay disponible una buena cantidad de bancos libres que ya os citaré, para salir del apuro en la página de MuseScore hay 3 bastante decentes, entre los que se incluye el banco por defecto de Av Linux.

Una vez abierto el banco de sonidos, Qsynth os avisará de que tiene que reiniciar el motor de audio, a lo que diréis que sí. En este momento, VMPK se desconectará de Qsynth, pero ya sabéis como conectarlo, no? (Una pista: Qjackctl > Ventana de Conexiones > Seleccionar uno, seleccionar otro > Conectar).

Ahora váis a VMPK y pulsáis el teclado de vuestro ordenador (o hacéis click en el teclado virtual)… “cool” ¿que no? 😉


4 comentarios

  1.   ion dijo

    Gracias a este post y a la mención de Patchage he podido configurar PureData de una forma super sencilla, ya que por necesidades tengo la targeta HDA intel y una Soundblaster del año de la Mikaela y no acababa de entender con se relacionaban con los diferentes programas en mi Kubuntu 12.

    Gracias.

  2.   Diego Picco dijo

    Gracias Baltar!! como siempre con el audio a la vanguardia! Saludos

  3.   Gaius Baltar dijo

    Gracias!. Realmente, esta es una entrada rescatada de hace tiempo. Pero para escribir de estas cosas es necesario que los lectores se vayan instruyendo acerca de JACK y Qjackctl, así que no he podido omitirla. 😀

    Dentro de unos días más y mejor 😀

  4.   Gustavo Parra dijo

    Hola, saliendome un poco del contexto. ¿hay una forma de arreglar la deteccion de pantallas adicionales? desde que se actualizo mi sistema del Nucleo Linux 3.7 a Núcleo Linux 3.8.3-203.fc18.i686, ya no detecta la adicional con la que siempre trabajo en mi PC con Fedora Linux 18 a traves de HDMI ya que es el unico puerto de salida aparte de VGA he buscado pero no encuentro como.

    SaLUDOS!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.