Hace un tiempo que quería grabarme mientras práctico en casa haciendo livecoding con Sonic Pi o TidalCycles. La razón principal es para escucharme – no suena igual la música mientras tocas que escuchándola más tarde – corregir fallos, coger soltura escribiendo, y por otro lado, visualizar que hay gente haciendo livecoding, no demasiados, en Madrid.

Así que tras probar varios programas, buscar en webs especializadas, leer algunos manuales, y desesperarme repetidas veces, hallé la forma gracias a la ayuda de Martin Butz en el nuevo foro de Sonic Pi.

Tras todo el proceso me quedo con simplescreenrecorder. Es sencillo de usar, completo y se encuentra en los repositorios de casi todas las distros GNU/Linux. Para instalarlo en Debian/Ubuntu, basta con teclear en la terminal:

sudo apt install simplescreenrecorder

En Ubuntu y derivadas existe una PPA por si queréis estar a la última:

sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get install simplescreenrecorder

No voy a explicar cómo usarlo, ya que es bastante intuitivo y además, en la gran red hay montones de posts dedicado a ello. Y siendo sincero, tampoco me interesa escribir cómo utilizarlo, que se explica él solito, sino comentar mi experiencia de como hacerlo funcionar en el entorno de una performance livecodera.

Grabar la imagen del escritorio no tiene ningún misterio, al menos, sin utilizar otros programas audiovisuales (p.ej. Processing) a la vez. Todo el meollo, es por supuesto, el sonido. Los sistemas GNU/Linux tienen la particularidad que suelen tener al sonido organizado, digámoslo así, por capas. Hablando sencillo, ALSA conecta el Kernel Linux con las aplicaciones de audio y/o MIDI a través de los drivers (controladores). ALSA no suele soportar que varias aplicaciones utilicen la misma tarjeta de sonido, así que ahí están JACK y PulseAudio. El primero es un enlace entre las aplicaciones de usuario y ALSA. Por donde escuchamos música desde el navegador o nuestro interlocutor en Skype. Y, JACK, el último en discordia, permite interconectar simultáneamente aplicaciones de audio y MIDI, en servidor virtual1.

El tema del audio en GNU/Linux es algo complicado, y además hay que añadir la utilización de los programas de livecoding hacen del sistema. La gran mayoría, al menos Sonic Pi, Fox Dot y Tidal Cycles utilizan el servidor de audio de SuperCollider que suele usar ALSA. Pero luego, cada uno tiene sus particularidad, que tampoco entiendo yo. En el caso de Sonic Pi, que es con el que estuve probando, también utiliza PulseAudio, por lo imposibilita usar dos de las 3 herramientas antes citadas. Y lo comprobé en mis carnes. Todo lo que obtuve, probando a grabarme usando ALSA o PulseAudio fue pantallas en negro o sin sonido. Así que la solución, gracias a Martin Butz otra vez, es grabarme usando JACK.

SCR_2017-10-31_17-07-23

Como podéis ver en la imagen, la solución es, mira que es sencilla cuando la conoces, escoger JACK como servidor de dónde «sacar» el sonido para la grabación. Simplescreenrecorder permite la opción de hacerlo desde los altavoces internos, mi opción y/o el micrófono. Eso ya lo dejo a gusto personal2.

Como muestra de mi exitosa búsqueda del grial sonoro, mi primera sesión grabada:

FIN


  1. Aparte de leer los manuales de JACK, PulseAudio y ALSA, podéis leer este manual sobre el audio en GNU/Linux de la web de la Red de Radios Comunitarias y Software Libre, que explica el asunto de forma bastante sencilla. 
  2. Todo éste tostón para decir que hay que utilizar JACK para grabar el escritorio cuando haces livecoding :D