Compilación de projectM en Debian Buster

El 6 de junio voy a estar en el ciclo de Poesías Performáticas en el Centro Cultural de España de Monteviedo. Una vez más presentaré mis trabajos de poesía sonora, intervenida con librerías de procesamiento de audio de linux. Para las visualizaciones pienso usar projectM (https://github.com/projectM-visualizer/projectm). Si bien el programa se encuentra en los repositorios de Debian, la versión es muy vieja (2.1.0), y falla al cambiar de visualización.
Para compilar la última versión a la fecha (3.1.1), tuve que introducir algunos cambios respecto a las instrucciones provistas en el sitio de github del proyecto en las opciones de compilación y en los paquetes de desarrollo necesarios.
Las instrucciones se encuentran aquí: https://github.com/projectM-visualizer/projectm/blob/master/BUILDING.md
En primer lugar, los paquetes de desarrollo. Dado que tengo instalados los repositorios de KX Studio de falktk, estoy usando jack2, por lo que tuve que sustituir libjack-dev por libjack-jackd2-dev:

sudo apt install autoconf libtool libsdl2-dev libglm-dev qt5-default qtdeclarative5-dev libqt5opengl5-dev libjack-jackd2-dev libpulse-dev libsdl-dev

Lo segundo es añadir la opción –enable-gles en el comando ./configure. Esto es para que projectM evite el siguiente error:

error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

Los comandos de compilación por tanto serían: 

./autogen.sh # only needed if this is a git clone
./configure --enable--gles --enable-sdl
make
sudo make install

Ahora todo marcha sin problemas.

Jugando con Turpial en Saucy, ¡feliz 2014!

El cliente bolivariano de Twitter, Turpial, acaba de sacar una nueva versión estable, la 3.0. Para aquellos como yo que extrañamos la disposición en columnas de los mensajes, este programita puede resultar muy agradable. Yo últimamente venía usando Hotot, que se puede instalar como un plugin en Chromium.

El programa no está disponible en los repositorios de Ubuntu, aunque solía estarlo, si mal no recuerdo. Yo lo instalé a mano en mi computadora para hacerme un regalo de año nuevo, y caminó bastante bien después de buscarle un poco la vuelta. Se necesitan descargar dos paquetes con código fuente desde la página de descargas de Turpial: turpial-3.0.tar.gz y libturpial-1.0.tar.gz.  Son la interfase gráfica de usuario y el back-end respectivamente. Antes de compilar Turpial, lo primero es instalar los paquetes necesarios para hacer correr el programa, que está escrito en Python:

sudo apt-get install python-notify \
python-gst0.10 \
python-jinja2 \
python-babel \
python-pybabel \
python-webkit \
python-setuptools \
python-pkg-resources \
python-qt4 \
python-gtk2

Una vez instalados los paquetes necesarios, se puede proceder a descomprimir los archivos con el código fuente (asumo que están en el directorio de inicio, de otro modo, hay que navegar a donde estén):

tar -xvf libturpial-1.0.tar.gz
tar -xvf turpial-3.0.tar.gz

Una vez descomprimidos, se entra con la terminal al directorio con el back-end y se ejectuta el comando de instalación:

cd libturpial-1.0
sudo python setup.py install

Hecho esto se vuelve al directorio donde se hayan descomprimido los paquetes con el código fuente, y se repite la operación en el directorio que contiene la interfase de usuario:

cd turpial-3.0
sudo python setup.py install

Ya debería estar todo listo. El programa se ejecuta con el comando:

turpial

La primera vez que corre, te pide que ingreses los datos de tu cuenta de Twitter para proceder a la autorización de Turpial según el protocolo OAuth. Vas a recibir un número que debes ingresar en la parte de abajo de la ventana de autorización, y voila!

Turpial en mi computadora

De todos modos, todavía hay cosas que me gustaría ver, como la posibilidad de abrir columnas para seguir otros usuarios de Twitter o listas personalizadas. Por ahora sólo se pueden abrir cinco columnas predefinidas: la línea de tiempo, las menciones públicas, los mensajes enviados, los mensajes privados y los favoritos. Tampoco he logrado hacerlo funcionar con Identi.ca, que ha perdido conectividad para la mayoría de los clientes que se conectaban a ese servidor desde que implementó Pump.io. Yo he probado con Dinara (paquetes de Debian aquí), con buenos resultados, pero la verdad es que tengo a Identi.ca un poco abandonado. Tener todo en un mismo lugar no estaría mal.

¡Feliz año!

Mi acercamiento al tema de los bienes comunes

Este texto fue remitido a los estudiantes de la New York University, que me invitaron a exponer sobre mi vinculación al tema de lo común, al que le dedican este año su congreso anual de estudiantes graduados.

Mi acercamiento al tema del bien común viene de diversos ámbitos. En primer lugar, de mi militancia en defensa de la educación pública en el movimiento estudiantil uruguayo que llevó adelante una serie de ocupaciones de centros educativos en los años 1996 y 1997.  En años más recientes, este compromiso se expresó en mi involucramiento en el grupo de promoción de políticas de acceso abierto a la producción académica que se formó en el Graduate Center de CUNY.  A partir de allí contribuí a promover en la universidad pública de la ciudad de Nueva York el uso de software libre para la publicación académica. Algunos ejemplos son el uso de Open Journal Systems (plataforma de publicación de la revista LLJournal, que se publica desde el año 2006) y CUNY Academic Commons, un desarrollo comunitario basado en BuddyPress.  Asimismo, desde este grupo, y posteriormente como miembro del comité encargado de la supervisión de la biblioteca de la universidad, apoyé la adopción de políticas institucionales de promoción del libre acceso al conocimiento y de modelos de licenciamiento de la producción académica que aseguraran la libre difusión del saber, tales como licencias GPL o Creative Commons.

Para mí es necesario que los investigadores adoptemos medidas contra las prácticas monopólicas de las grandes editoriales que lucran con el saber que producimos.  El costo del acceso al conocimiento eventualmente se traduce en un aumento del endeudamiento educativo, en un sistema donde el saber está fuertemente privatizado.  La defensa del conocimiento como bien común está, en mi caso, enraizada en la historia de la enseñanza pública latinoamericana de la que me siento parte, y en la convicción de que las nuevas posibilidades de intercambio de información que abre el software libre permiten superar, si nos animamos a hacerlo, las barreras que las formas de intercambio capitalistas que gobiernan la distribución del saber nos imponen.

Mi interés en el software libre tiene un origen en realidad bastante casual.  Mi frustración creciente con los sistemas operativos propietarios me llevó hacia 2005 a adoptar Linux en mi vida cotidiana.  Como es sabido, la rica variedad de distribuciones de Linux constituye un buen ejemplo de bien común:  un gigantesco repositorio de código accesible gratuitamente que cada usuario puede copiar, modificar y contribuir a mejorar, una vez que se interioriza de las modalidades de funcionamiento de la comunidad de usuarios y desarrolladores. Entiendo que el modo de funcionamiento de esta comunidad puede servir como modelo de referencia tanto para la creación e intercambio de saberes científicos (de allí la aparición del concepto de “Ciencia abierta”) como para la organización de movimientos políticos de carácter abierto y horizontal, como lo planteó en su momento el grupo de trabajo de TechOps en Occupy Wall Street.

Mi interés por las posibilidades que el software libre ofrece no se limita únicamente a su uso académico, cada vez más extendido, o a sus potencialidades políticas.  En mi actividad artística aprovecho los programas disponibles en los repositorios de Linux para el procesamiento de audio, como habrán podido apreciar los que hayan tenido oportunidad de ver mi trabajo como performer que la New York University me invitó a presentar en el año 2011.  La opción para mí es tanto técnica como ética.  A mi modo de ver, el uso de software propietario limita la creación artística, en la medida en que pone al creador a merced de los caprichos de las compañías que comercializan los programas, y que ven en el artista a un cliente.
Las experiencias a las que vengo haciendo referencia  me resultaron útiles cuando me involucré en la organización de Occupy Wall Street en el año 2011.  Allí mi participación se centró en servir como enlace entre el grupo de trabajo OWS en español y TechOps, de modo de asegurar la presencia de la comunidad hispana que estaba participando del movimiento.  En ese contexto, la labor de TechOps me resultó de mucho interés puesto que el grupo se proponía proporcionar al movimiento una serie de herramientas e infraestructuras informáticas que tienen un carácter autónomo respecto a las mediaciones que ejercen las grandes compañías de comunicación privadas en la red.

De Occupy Wall Street surgieron algunos proyectos en los que me involucré, como el periódico IndigNación, la Free University, y el foro Making Worlds, del que soy uno de los organizadores y también responsable de su sitio web.  En este foro nos ocupamos de reunir diversas organizaciones que trabajan en torno al tema de los bienes comunes.  Allí se nuclean algunos de los grupos de trabajo que quedaron activos desde el desalojo de OWS e intercambian información y metodologías con otras organizaciones comunitarias. La idea inicial era crear un grupo que nucleara a gente que hubiera estado participando en diversos proyectos de Occupy Wall Street, con el fin de generar un intercambio y darle continuidad al movimiento.

En el primer foro yo estuve encargado de coordinar el taller sobre arte, cultura y educación. En ese taller participaron miembros de Occupy Museums, Arts and Culture Working Group, Strike Debt y The People’s Library.  En mi exposición “From Copyright to Copyleft” yo planteé la discusión de cómo los modelos de licencias abiertas podían contribuir a un intercambio más horizontal y sostenible del conocimiento y la cultura.  En el segundo foro que realizamos este año, que tuvo una estructura más abierta, yo moderé el debate sobre el cuidado mutuo.

Sound Side of the Word II @ KJCC

El próximo jueves estaremos presentando, con Ernesto y Sabrina, la performance «Sound Side of the Word».  Será en el King Juan Carlos Center de NYU, a las 7 de la tarde.  Como venimos haciendo ya algún tiempo, vamos a presentar una serie de performances multimedia, utilizando las tecnologías que el software libre proporciona.  Esperamos verlos, pueden encontrar toda la información en el programa del KJCC:

http://www.nyu.edu/kjc/newsletter/newsletter_03_28_11.html

 

Gwibber Daily PPA

Probar versiones nuevas de un programa en desarrollo puede dar algún dolor de cabeza, pero la versión más recientes de Gwibber para Ubuntu solucionó todos los problema que tenía con el programa de microblogging.   El programa permite enviar y recibir simultáneamente a muchos servicios, como Identi.ca, Twitter, Buzz, Facebook, etc.

Ya existe una versión 3.0 estable de Gwibber, pero no está aún compilada como paquete debian.  La versión del PPA en Launchpad en este momento es la 2.91, totalmente estable y sin problemas.  Hay que añadir esta línea:

ppa:gwibber-daily/ppa

a la lista de orígenes del software en Synaptic o en el Centro de software de Ubuntu.  La particularidad es que cada uno de los servicios viene como un paquete separado, por lo que hay que buscar en Synaptic los paquetes necesarios para los servicios que se desee usar.  Los disponibles en la actualidad son:

gwibber-service-buzz
gwibber-service-digg
gwibber-service-facebook
gwibber-service-flickr
gwibber-service-foursquare
gwibber-service-friendfeed
gwibber-service-identica
gwibber-service-pingfm
gwibber-service-qaiku
gwibber-service-statusnet
gwibber-service-twitter

Estos paquetes se ven en Synaptic una vez instalado este ppa, y el proyecto Gwibber siempre está añadiendo nuevos servicios y capacidades para hacernos oír.

Preparando un estudio con LADISH para una performance en La Mama

El grupo vocal SoCorpo se presentará el 11 y el 18 de junio a las 10:00 de la noche en La Mama, un centro de teatro experimental en Nueva York. Para la perfomance van a utilizar algunos recursos electrónicos para procesar la voz, y estuve dándoles una mano para que experimentaran con el software de audio disponible en Linux. Con ese fin, les preparé un estudio usando LADISH, una herramienta que permite guardar diferentes configuraciones de audio y conexiones entre diferentes programas.

Para la performance van a usar una Dell Inspiron 1420 con 2Gb de RAM y una tarjeta de sonido externa Edirol FA-66 conectada a la laptop con firewire. El sistema operativo es Ubuntu Lucid, al que le agregué el repositorio de FalkTX, un portugués que se ha dedicado a compilar las últimas versiones disponibles de software musical para Linux (también se ha armado su propia distro orientada a la creación musical, una variante de Ubuntu llamada KXStudio). Son notables las mejoras que estos programas han tenido en sus versiones más nuevas. Agregar ese repositorio es muy simple, las instrucciones están aquí, y requiere tener habilitado el repositorio de backports de Ubuntu. Se puede leer más sobre repositorios y backports aquí y aquí.

Armado del estudio

El fin de este artículo es mostrar cómo organicé un estudio usando LADISH, con el fin de que SoCorpo tuviera la sesión de audio lista para los ensayos y la performance. Los programas de audio en Linux suelen basarse en el servidor de audio JACK. Lo que solía hacerse era abrir el servidor desde la línea de comando en una terminal, o usando la interfaz gráfica qjackctl. Uno podía guardar las conexiones como un archivo de patchbay, pero había que iniciar cada programa individualmente. Se puede dejar todo encendido para el momento de la performance, o dejar pronta una pieza de código que activara todos los programas en forma encadenada, y luego hacer las conexiones. Pero hacer eso de cero puede ser un problema en medio de un concierto, y más si los músicos no están del todo familiarizados con el funcionamiento del sistema de audio en Linux. LADISH aporta una solución, ya que permite guardar toda una configuración de audio entera (lo que en el vocabulario de LADISH se llama un estudio) con todos los programas que están corriendo y todas las conexiones entre ellos y con el hardware.

Instalar y configurar el software

Una vez instalado el repositorio de FalkTX, hay que proceder a la instalación de LADISH. También es recomendable instalar los paquetes de audio de UbuntuStudio. En una terminal, tipear lo siguiente:

sudo apt-get install ubuntustudio-audio \
ubuntustudio-audio-plugins jack2 ladish \
laditools linux-rt linux-headers-rt

Con esto instalarás programas de audio, la versión más reciente de Jack (el servidor de sonido necesario para hacer correr e interactuar los programas de procesamiento de audio en Linux), LADISH y el real-time kernel. Entre los programas de audio instalados, se encuentra el driver FFADO para las tarjetas de sonido conectadas por terminal firewire, como es el caso de Edirol FA-66. Cuando todos los programas se hayan instalado, hay que reiniciar la computadora, y elegir en el menú de inicio el real-time kernel.

Lo primero que hay que configurar son los permisos para usar la terminal firewire. Hay que asegurarse de que el usuario unix pertenezca a los grupos audio y video, que en la versión más reciente de Ubuntu tienen ya los permisos para utilizar firewire por defecto. Si surgen problemas, se puede seguir esta guía para configurar el uso de la terminal firewire y dar prioridad a la tarjeta externa.

Para cerciorarse de que los permisos para usar la terminal firewire son correctos, se puede tipear en la terminal una vez que la tarjeta de sonido está encendida y conectada:

ls -la /dev | grep raw1394

La salida de este comando debería ser algo como esto:

crw-rw----   1 root video   171,   0 2010-06-05 09:48 raw1394

donde el grupo video, al que pertenece el usuario unix, tiene permisos de escritura y de lectura sobre el dispositivo firewire (raw1394). Esto puede variar según la configuración de hardware de tu computadora. Si el dispositivo raw1394 pertenece al grupo audio también debería funcionar. Para encontrar más información sobre la configuración de la computadora, recomiendo visitar la página de ayuda de Ubuntu para preparar UbuntuStudio: https://help.ubuntu.com/community/UbuntuStudioPreparation

LADISH

Todo pronto, pues, para usar LADISH. Bajo el menú de Gnome, entre los programas nuevos instalados, vas a encontrar uno llamado LADITray (Aplicaciones > Sonido y video > LADITray). Verás aparecer en el área de notificaciones un icono con forma de plug del cual, pulsando sobre él el botón derecho del ratón sale un menú de funciones, como se ve en captura de pantalla:

LADITray

En ese menú, seleccionaremos la opción «Start gladish». Gladish es la versión GTK de LADISH, que permite configurar fácilmente un estudio utilizando un entorno gráfico intuitivo. El programa se basa en JACK, y realiza las conexiones entre los diferentes programas de audio a través de Patchage. Para la performance de SoCorpo, utilizaré Ardour y SooperLooper, como se ve en el screencast que subí a Vimeo explicando el uso de Gladish:

Y finalmente, una captura de pantalla mostrando Gladish con todas las conexiones y los programas rodando:

Gladish