domingo, 28 de mayo de 2017

Cadence: paquetes y configuración para sacarle el máximo partido a Jack

Hacía muchísimo tiempo que no publicaba una entrada sobre audio en GNU/Linux (Linux Mint 18 en mi caso). Esta entrada tiene su origen con motivo de unas inquietudes, surgidas en el grupo de Telegram Home Studio Libre (@HomeStudioLibre), acerca del poder que tienen algunas aplicaciones, como Mixxx, de apoderarse de todo el audio del equipo mientras están funcionando.

Después del "Leer más..." continuamos

Cadence es un "centro de control" de múltiples herramientas de audio, entre ellas Jack y algunas utilidades relacionadas con el rendimiento del equipo. Se podría decir que es una alternativa a QJackCtl, pero como veréis, va mucho más allá.

Para instalarla, primero hay que cargar los repositorios de KXStudio, en el caso de usar Ubuntu o Debian, o derivadas de estas. Los usuarios de Arch y derivadas lo tienen más fácil, todo el software de KXStudio está en AUR. Para más información recomiendo visitar esta página. No es objeto de esta entrada explicar esto. Si os interesa lo puedo explicar en otra entrada aparte.

Una vez instalada Cadence, paso a compartiros mis anotaciones personales sobre la configuración y paquetes necesarios para aprovechar Cadence y Jack al 110%.

Puente para Pulseaudio

Una de las mejores cosas que tiene Cadence es que permite establecer un puente entre Pulseaudio y Jack. Esto hace posible, por ejemplo, ver un vídeo de YouTube, mientras practicamos con la guitarra, usando Rakarrack o Guitarix como ampli, a través de Jack.

Para ello, además de Cadence, necesitamos instalar el paquete pulseaudio-module-jack (en Arch y derivadas es pulseaudio-jack).

Para no preocuparse de arrancar todo al encender el equipo, recomiendo marcar las casillas "Auto-start JACK or LADISH at login" y "Auto-start at login" del módulo de PulseAudio de Cadence (tal como está en la captura de pantalla).

Puente MIDI entre Jack y ALSA

Al igual que el puente para Pulseaudio, lo proporciona Cadence en su interfaz, desde donde se puede activar, pero para que funcione hay que tener instalado el paquete a2jmidid.

Sirve para conectar aplicaciones que usen el protocolo de ALSA para MIDI con las que utilizan el protocolo de MIDI de Jack, que no son compatibles entre sí. Este puente resuelve este problema.

CPU Scaling Governor

Para habilitarlo, hay que instalar el paquete indicator-cpufreq.

Según el manual de KXStudio:

This lets you select the CPU Scaling Governor, a property of the Linux kernel which controls the CPU speed. In 'performance' mode, your CPU will run at full speed all the time. This mode consumes the most power but ensures the best performance and minimum CPU-related sound issues. In many cases (especially on battery powered devices) using 'ondemand' makes more sense as this ups the CPU speed when its needed but clocks it back down when the computer is idle which helps save power. Note: to enable this option in KXStudio 12.04.1, you must first install “indicator-cpufreq” but this will be included on install in 12.04.2.

En resumidas cuentas, que te permite controlar el rendimiento de la CPU

Configuración adicional

Todo lo de este apartado lo he aprendido de blogs como el de Pablo F. Me limito a reproducir y sintetizar un poco lo aprendido por ahí.

Añadir al fichero /etc/security/limits.conf estas líneas:

@audio - rtprio 99

@audio - memlock unlimited

@audio - nice -19

Es necesario reiniciar el equipo para que estos cambios tengan efecto.

Una vez ha reiniciado, podemos comprobar si ha tenido efecto dando esta orden en una terminal:

ulimit -r -l

Con esto hemos modificado la manera en que el kernel hace uso de la CPU y la memoria, dando prioridad a los procesos que nos interesan, que son los de audio de baja latencia en nuestro caso.

Es recomendable instalar un kernel de baja latencia, pero no imprescindible según mi propia experiencia.

Además, hay que agregar nuestro usuario al grupo audio del sistema, si no lo estuviera ya.

sudo adduser usuario audio

Para que el cambio funcione también hay que reiniciar. Lo recomendable es editar el fichero limits.conf, añadir el usuario a audio y reiniciar. De esta manera lo hacemos todo de una sola vez.

Espero que esta entrada os sea de utilidad.

Puedes visitar la entrada original en www.JoseGDF.net, leer los comentarios e incluso dejar el tuyo, si lo deseas.

2 comentarios:

No hay normas especiales para publicar comentarios en este blog. Sólo las básicas: respeta, no insultes, y no hagas SPAM descaradamente. Tampoco se admitirán comentarios que vulneren la Ley. Cualquier aportación, consulta y crítica es bienvenida, a condición de cumplir estas normas básicas.

Si lo que quieres es ponerte en contacto directamente conmigo, dispones para ello de un formulario de contacto.