jueves, 17 de mayo de 2018

Instalar y Configurar Jack Audio Connection Kit (JACK) en Linux (Ubuntu, Linux Mint, Debian, etc)

Hola, si alguno de ustedes quiere utilizar Jack Audio Connection Kit sin necesidad de tener que instalar UbuntuStudio, con este tutorial puede instalarlo y configurarlo. Me animé a hacer este tutorial porque en la página web dicen que ya UbuntuStudio 18.04 no es LTS (Long Time Support)  y sólo durará 9 meses el que está allí el cual está disponible en 64 y 32 bits, además ellos en UbuntuStudio 18.10 ya no van a dar soporte para 32 bits y en mi laptop yo uso 32 bits porque no tiene los suficientes recursos para soportar 64 bits pues ya lo he probado y se pone lentísimo, y he hablado en el soporte tecnico de ellos y me han dicho que me compre un ordenador que soporte 64 bits lo cual no voy a hacer. Por tal motivo he hecho este tutorial que tal vez le pueda servir a alguien.

TUTORIAL APLICABLE A:
Ubuntu y todos sus derivados oficialesLubuntuMythbuntuUbuntu BudgieUbuntu GNOMEUbuntu KylinUbuntu MATEUbuntu StudioXubuntu
- Otros Linux que también usan la administración de paquetes DEB como: Linux MintTrisquelElementary OSZorin OSBodhiDeepin LinuxMX Linux, etc
y tal vez podría funcionar en:
distribuciones que usan la administración de paquetes RPM como FedoraRed HatOpenSUSECentOSScientific, etc
- Otros Linux basados en Arch Linux como: AntergosManjaroArchBang
- y otras distribuciones independientes de Linux como: GentooMageiaQuirkySolus, etc. Pero allí se usan otros comandos de instalación los cuales usted deberá de buscar, además es posible que el archivo "/etc/security/limits.d/audio.conf" esté en otra ubicación lo cual usted en otro Linux deberá de investigar y lo mismo es aplicable a otros comandos.

Tutorial realizado en
Xubuntu 18.04 de 32 bits
Nota:  A esta fecha 20190101 con el Kernel que viene instalado por defecto no me funciona la velocidad del cursor del touchpad de mi laptop Dell Inspiron 1750 ni tampoco el touchpad de mi teclado externo Logitech k400 por lo cual tengo que hacer esto para que funcionen.

INSTALACIÓN
Ponga en una terminal esta linea de comandos :
sudo apt-get install pulseaudio-module-jack qjackctl jack-tools a2jmidid jackeq linux-lowlatency qsynth patchage calf-plugins calf-ladspa amb-plugins tap-plugins dssi-host-jack gladish ladish meterbridge jamin alsa-firmware-loaders alsa-tools alsa-tools-gui jack-keyboard

Cuando empiece la instalación habrá un momento en que le aparecerá así:



póngale que si con flecha izquierda y luego de ENTER

Ahora bien, si por un caso se confundió y aplastó ENTER en "No" pues vuelva a intentarlo, para eso porga en la terminal este comando:

sudo dpkg-reconfigure -p high jackd2
y allí si ponga que Si.

AÑADIR EL GRUPO AUDIO

Para habilitar el audio en tiempo real (baja latencia = bajo retardo de audio) hay que crear el grupo "audio". Ponga en la terminal pero cambiando a su respectivo nombre de usuario:

sudo adduser nombredeusuario audio

donde "nombredeusuario" es tu nombre de usuario.

¿CÓMO SABER CUAL ES MI NOMBRE DE USUARIO?:
Es el nombre que está antes de la arroba en la terminal, ejemplo el mío es:


Es decir para mi debo poner así en la terminal:

sudo adduser wachin audio
listo añadido:



LIMITES, verificar 95
Poner en la termina (debe tener instalado gedit):
sudo gedit /etc/security/limits.d/audio.conf
debe decir esto:

@audio   -  rtprio     95
@audio   -  memlock    unlimited

si es así salga nomás de gedit.

Nota: Sin son curiosos este es el archivo que se creó arriba el cual lo estamos revisando, lea por favor todo:



ACTUALICE EL GRUB
ponga en la terminal:
sudo update-grub
Cuando ya esté actualizado:

Reiniciar

Cómo usar el Kernel de baja latencia
Cuando aparece el mensaje del Grub allí debe dar clic en "Opciones avanzadas . . . . ."


Gif.- Si no se ve, ábralo en una nueva pestaña

aquí dejo fotos:









y dar Enter para entrar
Nota: Con este Kernel no me funciona aún la velocidad del cursor del touchpad de mi laptop Dell Inspiron 1750, ni tampoco el touchpad de mi teclado externo Logitech k400 (yo no uso mouse)

Verificar el grupo audio

Como habíamos reiniciado el ordenador es necesario verificar el grupo audio, para esto ponga en la terminal:
groups
A mi si me aparece en la lista el grupo audio:

a usted debe aparecerle también, sino le aparece trate con el siguiente comando:

sudo gpasswd -a nombredeusuario audio
reemplace como se explicó arriba por el nombre de usuario suyo, en mi caso es así:
sudo gpasswd -a wachin audio

Reinicie

Ya  debería aparecer el grupo audio cuando en la terminal ponga "groups"

Verificar "real-time priority" y "memlock"

Para verificar si las aplicaciones del grupo audio tienen prioridad en tiempo real  95 y si el tamaño máximo que se puede bloquear en la memoria es infinito (esto significa que las aplicaciones de audio tendrán prioridad en tiempo real y pueden usar toda la memoria que quieran con prioridad sobre cualquier otra aplicación incluso si no se tiene cuidado se podría congelar el sistema operativo si no tiene mucha memoria el ordenador -hay que cuidad no tener aplicaciones innecesarias abiertas en ordenadores que no tengan mucha memoria-) ponga en la terminal:

ulimit -r -l
debe darle un resultado como este:


si les sale cero en "real-time priority" y si en "max locked memory" no le aparece "unlimited" y les aparece algún número, está mal configurado, lo cual significaría que usted se equivocó en algún paso y creo que sería mejor que use UbuntuStudio.

Instalar Grub Customizer

Para no que tener que elegir el Kernel de baja latencia cada vez que enciende el ordenador, instale grub Customizer poniendo en la terminal uno por uno estos tres comandos:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
luego de instalado búsque entre sus aplicaciones a "Grub Customizer" y ábralo, en mi caso con Xubuntu está en:



le pedirá poner su contraseña, pongasela y elija allí el kernel de baja latencia que hemos instalado. Vea esta imágen:


Nota: Recomiendo esta imágen abrirla en otra pestaña para que la vea mejor.

dele clic para marcar ese kernel de baja latencia y con las flechas de arriba subirlo y ponerlo primero y guardarlo(se actualizará) y Reiniciar su ordenador

Gif.- Si no se ve, ábralo en una nueva pestaña.
Al reiniciar ya me apare así en el Grub:

Low Latency Kernel  añadido a inicio del Grub


Verificar que está usando el kernel de baja latencia
Ponga en la terminal:
uname -r
Le debe aparecer el kernel de baja latencia que su sistema operativo está usando justo en este momento, a mi en mi caso con Xubuntu 16.04 de 32 bits me aparece así:



Activando Jack Audio Connection Kit con QjackCtl

Y para activar Jack abra "QjackCtl" (búsquenlo entre las aplicaciones) y clic en el botón "Iniciar"


A mi me funciona todo bien, configurado así es como si estuvieran usando Ubuntu Studio donde ya todo viene configurado. En el botón "Mensajes" me da este resultado:



 Yo uso Jack Audio Connection Kit para hacer estereo mix cuando grabo tutoriales, pues se puede añadir allí mismo audio de fondo al vuelo y de paso me escucho mi propia voz de retorno en el auricular.

Aquí una captura de pantalla con Ardour (uso Ardour para grabar mi voz mientras canto alguna pista de alabanzas) de fondo:



Xruns - Overruns

Durante las sesiones de grabación, el botón de Mensajes en Qjackctl puede reportar xruns. Los Xruns son básicamente un indicaciones de que mientras Jack se está ejecutando algo se interpone en el camino de que funcione correctamente y se vuelve incapaz de hacer frente al flujo de datos lo cual causa perdidas en el sonido. Fuente.

Cómo reducir los Xruns

Mire los parámetros por defecto en QjackCtl



aquí la recorto para ver mejor:


Para disminuir la aparición de Xruns pruebe lo siguiente hasta lograr el mejor resultado:
  • Evitar que el tamaño o dimensión del Búfer sea muy bajo.-  Por defecto los "Cuadros / Periodo: " están a "1024", cuanto menor sea el tamaño del búfer menor será la latencia (es decir menor será el retardo del audio que fluye entre una aplicación a otra o dispositivo de audio como un parlante o micrófono) y mayor será el uso de recursos computacionales, pero esto podría causar una pérdida de calidad en la señal, el recorte o la pérdida de fragmentos de audio (Xruns), por eso es recomendable probar todas las opciones (128/256/512/1024/2048) para encontrar el mejor compromiso entre la calidad de audio/uso de recursos/tiempo de latencia. Además cabe indicar que en ordenadores especializados para audio (más caros) se puede bajar más la latencia sin que aparezcan tantos Xruns (en mi caso en mi laptop Dell Inspiron 1750 no le puedo bajar mucho la latencia porque me aparecen muchos Xruns, para mí sería lo conveniente 128 para escuchar mi propia voz como retorno en tiempo real cuando hago video tutoriales pero me aparecen muchos Xruns)
  • Aumente los "Periodos / Búfer:" o número de buffers de audio de QJackCtl. - Por defecto está en "2" y esto es algo como lo que se explica arriba, es de probar. 
  • Reduzca el número de clientes Jack conectados en su Patchbay.- Bueno es posible que alguien que lea esto no sepa que es Patchbay, pero al darle clic a ese botón se puede automatizar el que las conecciones entre diferentes puertos de audio se hagan. (Creo que luego deberé hacer un video sobre eso)
  • Matar procesos que no necesitas.- Es decir cerrar programas que no necesite. 
Esta respuesta está basada en la traducción y mejora de estas dos consultas:  Fuente 1Fuente 2

Desabilitar el WIFI
Además estaba leyendo en la documentación de KXstudio donde dice acerca de desactivar el Wifi, y he hecho la prueba y es verdad, miren la siguiente imágen de mi laptop donde tengo internet con el Wifi:


Si desean para ver mejor esta imagen abranlan en una pestaña aparte (con clic derecho encima de la imágen).

En la siguiente imágen les he hecho los calculos:



los resultados son 15 Xruns en 15 minutos.

En la siguiente imágen está mi laptop conectada al cable de red y tengo desactivado el Wifi:



y aquí los calculos:


resultado, 5 Xruns en 19 minutos, lo cual es muy bueno comparado con el otro resultado.

Cerrar los navegadores web.- Allí en ese blog de KXStudio también se habla de cerrarlos por que algunas ventanas podrían tener abierto algo de flash, pero como ustedes deben de saber flash a caido en declive y ya casi no se usa pues más se usa HTML5

Usar audios de la misma tasa de muestreo o sample rate.- Allí también dice sobre el usar el mismo para los audios que uno use, ejemplo en mi caso yo siempre uso: 44100 Hz


por lo tanto los audios que use siempre deberán estar con esa frecuencia o tasa de muestreo. La siguiente imágen es de un audio visto en Mediainfo:


44.1 Khz es igual a 44100 Hz

Todos los audios que yo use o produzca deben estar así.

Minimizar Xruns usando dispositivos MIDI

También en el blog desdelinux dice que para trabajar con MIDI dice sobre:

https://blog.desdelinux.net/introduccion-a-jack-audio-connection-kit/


aumentar el límite de tiempo. Yo no lo sabía, y bueno para conectar equipos MIDI como es un teclado yo hago así:

Cómo conectar dispositivos MIDI y que sean reconocidos por JACK

Para eso es necesario tener instalado el programa a2jmidid el mismo que arriba ya lo instalamos, y cuando conecte un dispositivo MIDI  a su ordenador sólo ponga en la terminal:



a2jmidid
y allí aparecerá en la pestaña "MIDI":



en esta imágen de arriba estoy conectando un teclado virtual, cuyo paquete ya lo instalamos arriba: "jack-keyboard", así mismo se hace con un teclado de verdad, cuando lo conecte aparecerá en esa pestaña


Quitar Kernel viejos
Con el paso del tiempo, puede ser meses es posible que le envíen un nuevo kernel para que lo instale, si usted lo instala tendrá otro kernel más y si pasa el tiempo tendrá otro más y otro, y así sucesivamente. Ponga en la terminal este comando para instalar byobu (esto sólo después de algunos meses cuando tenga 5 kernel instalados o más de cinco):
sudo apt install byobu
luego este otro comando:

sudo purge-old-kernels --keep 4
Con esto retendrán siempre 4 kernel, esto para conservar dos kernel normales y retener dos kernel de baja latencia. Esto pues no es bueno ponerse a desinstalar los kernel normales pues eso podría causar algún problema y complicaciones así que es mejor retener los dos tipos

Mostrar los kernel que están en el sistema menos el que se está utilizando
Ponga en la terminal este comando:

dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
le devolverá cuantos kernel tiene instalados menos el que está usando

La interpretación es que tengo instalados dos, por todo tengo tres con el que estoy usando. Es importante este comando para que usted sepa cuando tenga 5 kernel y así pueda poner el comando anterior para retener 4

Actualizando el Grub cuando se instale un nuevo Kernel de Baja Latencia
Bueno ya me enviaron un nuevo kernel low latency para instalarlo y lo instalé y ahora cuando entré otra vez a la sesión aparece así:



y aplasté las flechas del teclado hasta llegar al nuevo kernel low latency, en este caso el número 137



y di ENTER para entrar, y una vez dentro voy a abrir a Grub Customizer y me aparece así:



esto significa:



entonces debo bajar las entradas que no quiero, y ponerlas abajo de "Opciones avanzadas. . . " así como en el siguiente Gif:



Nota: Con este Kernel todavía no me funciona la velocidad del cursor del touchpad de mi laptop Dell Inspiron 1750, y ni del touchpad de mi teclado externo Logitech k400 (yo no uso mouse). Les comparto esto porque en algunos casos en algunas laptops y ordenadores sucede que algún Kernel hace que no funcione bien el cursor, si ese fuera su caso y usted no encuentra una versión de Kernel que le devuelva esa funcionalidad usted puede usar un script para activarsela vea aquí.

Consejo de productividad al poner el primer Kernel arriba (seleccionar varios Kernel a la vez en Grub Customizer)
Me he dado cuenta después de varios días de hacer este tutorial, que se pueden seleccionar varios Kernel al mismo tiempo teniendo aplastada la tecla "Shift" y dandoles clic, y así es más rápido mover varios kernel abajo para sólo dejar arriba dos, el Low Latency y el Generic (sólo que a veces sólo se pueden seleccionar solo tres, bueno, haycircunstancias se pueden seleccionar más de tres como seleccionando primero el segundo de arriba. Bueno eso es cuestión de probar):



Recomendación remover paquetes que ya no se están usando
Para eliminar los paquetes que ya no se estén usando ponga en la terminal:
sudo apt-get autoremove

Un secreto
En todos los Linux siempre hay instalados dos kernel, esto pues si por alguna razón muy muy remota casi nula en algún momento el kernel falle, se podrá ingresar con el otro, imagínensen algo así como las llantas de un auto que se pueden cambiar si en algún momento se pincha una.

Nota: En las opciones avanzadas del grub siempre se puede iniciar con el Kernel de repuesto(digo esto para que usted comprenda que en todos los linux está esa opción, pero que tal vez nadie lo sabe).

Dios les bendiga.


CONSULTAS:

How to Delete Old Unused Kernels in Debian and Ubuntu
https://www.tecmint.com/remove-old-kernel-in-debian-and-ubuntu/

How to Easily Remove Old Kernels in Ubuntu 16.04
http://ubuntuhandbook.org/index.php/2016/05/remove-old-kernels-ubuntu-16-04/

How do I change the GRUB boot order?
https://askubuntu.com/questions/100232/how-do-i-change-the-grub-boot-order

Configuring the real-time access for "audio" group users and applications
https://help.ubuntu.com/community/UbuntuStudioPreparation

Ubuntu Studio PackageList
https://wiki.ubuntu.com/UbuntuStudio/PackageList

Ubuntu Studio low latency kernel
https://askubuntu.com/questions/758106/ubuntu-studio-low-latency-kernel
Nota: Este paquete linux-lowlatency instala todos los paquetes que necesita el kernel

[ubuntu] Installing Calf and other plugins
https://ubuntuforums.org/showthread.php?t=2122632

Instalar y configurar JACK Audio Connection Kit en Ubuntu 9.04
https://alejandroayala.wordpress.com/2009/07/27/instalar-y-configurar-jack-audio-connection-kit-en-ubuntu-9-04/

Jack no logra cambiar configuraciones de sonido : GNU/Linux | Hispasonic
https://www.hispasonic.com/foros/jack-no-logra-cambiar-configuraciones-sonido/451988

UbuntuStudioPreparation - Community Help Wiki
https://help.ubuntu.com/community/UbuntuStudioPreparation

No hay comentarios.:

Publicar un comentario