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 o ver el siguiente vídeo.

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.

6 comentarios:

  1. Todo iba de cine, el vídeo , genial
    Hasta que leí "instalamos Cadence" como? de donde? ya entiendo que será desde los repositorios que agregamos
    Pero cual es la sintaxis?
    el que no sabe tiene pánico de k...rla
    La otra, instalo Cadence. pero si no se usarlo es igual que no tenerlo, y he leído por alli "conectas..." si pero como. arrastras, abres primero lo que quieres conectar?
    los que saben terminan hablando como si los quie los leemos supiéramos lo mismo que ellos
    pero bueno gracias por lo que aprendí

    ResponderEliminar
  2. Hola Jose,
    he seguido tus instrucciones al pié de la letra,... y no tengo sonido en absoluto
    tengo dos tarjetas, la de la placa base, con un i5 y una usb, 8 gigas de ram ubuntustudio 18
    cuando abro cadence me muestra sitema, pulse audio jack source pulse audio jack sink y system
    Lo que intento, (que en windows con las dos tarjetas me va perfecto) es usar Mixxx con un procesador de sonido
    en la salida de audio, cosa que en windows va perfecto para la música, pero no puedo hacer que lo haga con el micro
    intenté Asioall, VoiceMeeterBanana, sin éxito
    Como hace diez años que intento usar linux, probando montones de distros, (estuve años intentando hacer funcionar InternetDJConsole, (sin éxito) pero como Mixx funciona en linux, me encantaría abandonar windows en este tema
    Alguna sugerencia???
    Un cordial saludo

    emerson

    ResponderEliminar
  3. Lo unico que no pude/supe hacer es la modificacion del archivo limits.conf, no se como entrar como root, ya que no me deja guardar los cambios
    Cual sería la sintaxis para hacerlo con el terminal??
    graciassss

    ResponderEliminar
  4. Antes de nada quiero disculparme por no haber atendido antes los comentarios moderados. Tengo el blog parado hace meses y tampoco entro al panel de Blogger.

    Si Cadence/Jack no te funciona ni te da sonido, es posible que tu hardware de sonido no esté soportado. Te remito a la wiki de Home Studio Libre, donde puedes encontrar páginas con información sobre hardware soportado.

    En cuanto a la edición del fichero de configuración, suelo entrar con nano de la siguiente manera:

    sudo nano /etc/security/limits.conf

    Te pedirá la clave y entrarás. Haces los cambios, y para guardarlos hay que hacer Control+O (es la letra "o") y Enter, y para cerrar nano, Control+X y Enter.

    Tal vez debería incluirlo en la entrada. A partir del minuto 5:40 del vídeo "Instalación de Ardour 5.11 y configuración del sistema" se explica detalladamente.

    ResponderEliminar

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.