¿Cómo instalo JACK en Ubuntu?

En los clásicos reportajes-bomba del la revista Panorama, Juan Perón 
expone desde el Exilio sus ideas correctivas para un país proscriptivo y 
sumido en pujas de poder. En una de ellas explica cómo usar JACK e 
impedir que se corte el audio de las aplicaciones que usan PulseAudio en 
Ubuntu.

(...)

Periodista: Usted sabe que la masa Justicialista está ansiosa esperando 
su opinión. ¿Cuales son las soluciones que el país exige en la hora 
actual?

Juan Perón: Para mí el fenómeno argentino se caracteriza en que los 
partidos políticos están luchando a ver quién de ellos puede tomar el 
poder, y lo que en mi concepto interesaría antes que nada es pensar cuál 
es la solución para el país. Si no, estaremos durante mucho tiempo más 
atando los caballos detrás del carro.

El problema argentino es eminentemente político. Esta situación 
política sostenida en el tiempo, en un constante movimiento perturbativo, 
ha llevado al país a una situación económica y social realmente 
pavorosa. Ha comenzado a cundir en la Masa Popular la miseria; como 
consecuencia de la desocupación, la atonía en el comercio, la industria, 
la falta de poder adquisitivo del Pueblo, etcétera. A ellos se han 
agregado toda otra serie de problemas todas ocasionadas en su conjunto por 
una pésima situación política.

Para resolverlas el gobierno se ha decidido llamar a elecciones, y ha 
establecido un estatuto mediante el cual se restringen de todas maneras lo 
que sería la solución natural, es decir, llevar al gobierno a las 
fuerzas y a los hombres que pueden solucionar el problema.

Para la República Argentina, después de estos 10 años de guerra que se 
han producido desde 1955 hasta nuestros días, no se han destruido las 
casas, no se han destruido las fábricas, pero se ha destruido al hombre, 
que vale mucho más que las casas y las fábricas. Esa destrucción es la 
que ha producido la atonía y la falta de empeño y unidad en el trabajo 
para llevar el país adelante. Por eso cada día que pasa la situación es 
peor.

Las perturbaciones permanentes han impedido gran parte del trabajo que se 
quería realizar. Las negociaciones ruinosas que se han realizando en el 
orden económico-financiero han permitido que desde el exterior nos 
descapitalizaran totalmente, y cuando ya estábamos descapitalizados nos 
han comenzado a hacer préstamos abundantes para asegurarse que durante 
10, 15 o 20 años nos van a dominar por ese camino.

En lo que hace al audio en Ubuntu sucede exactamente lo mismo. 
Indudablemente que los servidores de sonido en GNU operan con un solo 
sentido, el de llevar a nuestros oídos la más maravillosa música. Esto 
es así pues no dejan de ser herramientas para un objetivo. Ubuntu trae de 
fábrica un servidor de audio sencillo, el PulseAudio.

PulseAudio cumple acabadamente con la mayoría de las tareas comunes pues 
para eso está hecho, pero es una creación humana, y como tal no es 
perfecto. En particular lo aquejan contemplar ruteos simplificados de 
audio, y no está pensado específicamente para hacer adecuadamente frente 
a múltiples placas de sonido a la vez, ni concentrarse en operaciones de 
"baja latencia" como las que se requerirían a la hora de producir música 
multipista en Ubuntu.

Nosotros no intentamos suplir estas naturales deficiencias, sino que nos 
hemos abocado a un recambio, desarrollando un servidor de sonido más 
avanzado, el JACK.

Este resuelve normalmente tales problemas, y nos permite potentes opciones 
de encaminado o ruteo de streams de audio digitalizado por nuestra/s 
placa/s de sonido.

Para instalar JACK podremos abrir la terminal con Ctrl+Alt+T e ingresar el 
siguiente Comando de Organización:

sudo apt install qjackctl

Uso de JACK

En Ubuntu, el servidor de sonido JACK no arranca de forma predeterminada, 
sino que - salvo provisiones específicas - lo debemos iniciar "a mano". 
Para ello cuenta con una aplicación gráfica que oficia de interfaz de 
manejo, el QjackCtl. Lo podremos abrir desde Aplicaciones / Sonido y Video 
/ QjackCtl.
Para arrancar el servidor debemos presionar el el botón Iniciar.  Cuando 
el servicio inicia, podremos ver su status en el display 
visual.Naturalmente Podremos detener el servicio por medio del botón 
Detener.
Lo procedente es que los distintos programas de audio se conectan a 
PulseAudio mediante, diremos, "cables virtuales". Normalmente se las hace 
desde un dispositivo de entrada de audio (clavijas de captura) hasta el 
programa de audio, y luego desde el programa de audio hasta las salidas de 
audio (clavijas de reproducción o playback). Todo este ruteo a través de 
"cables virtuales" se se hace automáticamente o a mano, y se administra 
desde el botón Conexiones.
La ventana de doble columnas se divide en Entradas y Salidas, y 
encontraremos los puertos de sonido físicos de nuestro sistema (bajo la 
categoría System) y las salidas y entradas de audio virtuales de los 
programas. De esta manera podremos encadenar no solo uno, sino múltiples 
programas, grabadores, racks de efectos, visualizadores de sonido, 
afinadores, y muchos etcéteras. Las posibilidades son excelentes y muy 
amplias.



Uso de JACK y PulseAudio a la vez
Lamentablemente, el resultado no siempre es lo exitoso que podríamos 
preveer. Uno de los problemas más comunes y decididamente molestos radica 
en que al
activar el servidor de audio JACK, las demás aplicaciones que no utilicen 
JACK específicamente dejarán de sonar. Por ejemplo, si deseamos abirir 
un navegador y reproducir un video en una pestaña, el video se 
congelará, hasta que cerremos JACK. Y esto mismo sucederá con todos los 
demás programas que empleen el servidor PulseAudio.

Ahora yo me pregunto. ¿Será el señor Aramburu a quien el Pueblo le va a 
obedecer y se va a poner a trabajar 20 horas si es preciso para arreglar 
JACK? ¿Este señor, que ha tenido en una época el baldón de haber 
fusilado a sus compañeros, de haber fusilado a sus propios amigos? Este 
hombre resistido por esa masa popular, ¿será el hombre que les pueda 
decir "compañeros trabajadores, como argentinos vamos a ponernos a 
trabajar 20 horas para rutear de nuevo el sonido de JACK a PulseAudio?" 
[guiña el ojo]

Naturalmente que yo ya he sido Presidente 10 años en la República 
Argentina, y no voy a ser más de lo que ya he sido, pero estoy listo para 
lo que me llamen [sonríe].  Tendremos que hacerlo nosotros.

La manera más sencilla para solucionar esto es usar un módulo que toma 
el audio enviado al paquete PulseAudio, y lo destina al servidor JACK por 
medio de sus clavijas virtuales. Para instalarlo abrimos una terminal e 
ingresamos:

 sudo apt-get install pulseaudio-module-jack

Luego debemos reiniciar el equipo. Podremos hacerlo desde la terminal con:

sudo reboot

El módulo debería cargarse automáticamente al iniciar JACK. De tal 
forma, iniciamos JACK con la interfaz QjackCtl como hicimos anteriormente. 
Si presionamos el botón Conexiones, ahora veremos que se ha agregado un 
dispositivo virtualizado nuevo, llamado PulseAudio JACK Source. Ya 
debería aparecer cableado normalmente.
Naturalmente, cualquier otro programa que utilice JACK se agregará a la 
lista de Conexiones (puedremos ejecutar varios programas que usen el 
servidor de sonido JACK a la vez). Asimismo, cualquier programa que 
utilice sonido a través de PulseAudio también continuará sonando, por 
medio del PulseAudio JACK Source. Con esto, habremos resuelto este 
problema de la República Argentina.


Indudablemente que esta suele ser la aplicación más deseada. Otro 
método podría ser el de "atar todo con alambre", y detener completamente 
todo proceso que emplee PulseAudio hasta que cerremos el servidor JACK.

Suspender PulseAudio mientras se usa JACK

Esta solución puede ser útil sólo a quienes usen programas que 
requieran JACK de manera eventual o temporal.

Para configurar esto entramos a QjackCtl y presionamos el botón Setup, y 
luego en la solapa Configuraciones presionamos la opción Avanzadas 
(Advanced). Dentro del campo "Prefijo del Servidor" deberíamos encontrar 
la ruta al servidor JACK. Podría indicar "/usr/bin/jackd", pero en otras 
distribuciones podría decir simplemente "jackd", o "jackstart". Lo 
importante es que por delante de este comando, debemos agregar el sufijo:

pasuspend -- 

...tal como se indica abajo

La tercera podría consistir en utilizar directamente un dispositivos de 
sonido independiente para PulseAudio y JACK. Obrar así no suele ser 
problemático en las computadoras de escritorio, ya que la gran mayoría 
trae sonido onboard, y les podemos agregar otra placa de sonido (incluso 
una veterana). En una portátil implicaría conectarle una placa de sonido 
externa USB.

La vinculación entre ambas placas de aidio puede hacerse analógicamente 
mediante un cable desde la salida Line Out a la entrada Line IN o Auxiliar 
de la otra, o digitalmente (para ello JACK nos permite modificar los 
puertos de salida para enviarlas a una dispositivo de audio específico.

Como resolver audio entrecortado y latencia en JACK
JACK viene configurado por defecto con valores estándares considerados 
adecuados para un uso práctico. Pero puede existir hardware de audio que 
requiera una configuración específica, o de lo contrario podría sufrir 
de "entrecortes en el audio" (con una reproducción con ruido rasposo o 
interrumpido). Esto puede suceder también en situaciones en la que 
nuestro hardware de audio sea lento por algún motivo.

JACK puede entonces configurarse como deseemos. Para ello abrimos el 
programa QjackCtl y presionamos el botón Setup.

En la solapa Configuraciones encontraremos la Frecuencia de Muestre (cuyo 
valor por defecto es 44100 Hz y está pensado para una calidad de CD de 
Audio). También encontraremos los cuadros por período (1024 es su valor 
por defecto) y la cantidad de períodos por buffer (suelen ser 2).

Si notamos que la reproducción de audio sufre de cortes breves 
("dropouts", o XRUN en la jerga de JACK), podríamos aumentarlo subiendo 
los valores de cuadros por período, por ejemplo subiéndolo a 2048.

Debemos tener en cuenta que esto aumentará también los milisegundos de 
latencia del audio (que se verá indicada en la parte inferior derecha del 
cuadro). Normalmente JACK impide una latencia superior a los 500 
milisegundos.

También debemos tener en cuenta que depende del hardware de sonido. En mi 
caso funciona óptimamente con 48000Hz / 2048 cuadros / 2 períodos.

Cualquier cambio realizado requiere reiniciar el servidor JACK, cosa que 
nos solicitará el mismo QjackCtl.

Frente a este problema la Argentina puede resolverlos de una sola manera: 
Trabajando. La descapitalización se corrige capitalizando al país, y la 
capitalización no es nada mas que trabajo acumulado. Pero mientras 
sigamos en este estado de cosas, la descapitalización seguirá adelante.

¿Qué se necesita hacer? Y... ¡hay que poner al pueblo Argentino a 
trabajar, como decían los alemanes, durante 20 horas si fuese posible!

Para eso hay que llegar al gobierno con hombres que satisfagan ese deseo, 
en dos aspectos. Primero, que el Pueblo tenga confianza en ellos y diga 
"nosotros, para esto, vamos a trabajar". Y segundo, hombres que sean 
capaces de cambiar el sistema. Porque el mal no está en la pobreza de la 
República Argentina, que es un país inmensamente rico, sino en el falso 
sistema que han adoptado que ha permitido la descapitalización de país, 
el latrocinio en todas formas, y la descomposición de nuestra economía. 
El fenómeno argentino es mas bien un fenómeno de desequilibrio mas que 
de pobreza.