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.

Una reflexión sobre el tema educativo

En Sleep Dealer, una película de ciencia ficción del cineasta mexicano Álex Rivera, se presenta, bajo el sello inconfundible de la estética cyberpunk, un cercano futuro posible en el que la muralla que se está construyendo entre la frontera de México y Estados Unidos ya está terminada y el paso desde el sur al norte es imposible.  Eso da origen a un nuevo tipo de actividad económica, posibilitada por las nuevas tecnologías.  Una empresa llamada Cybracero Systems crea un modelo de negocio en el cual los trabajadores mexicanos se conectan a través de internet a unos robots que hacen el trabajo manual al otro lado de la frontera.  El nombre alude al Bracero Program de los años 40, cuando Estados Unidos habilitó el ingreso de trabajadores rurales mexicanos para suplir la falta de mano de obra, consecuencia del enrolamiento masivo en el ejército durante la segunda guerra munidal.   En el futuro cercano que describe la película, los coyotes pasan a ser “cycoyotes”, pues ya no hacen el trabajo de pasar obreros clandestinamente por la frontera, sino que ofrecen implantar los nodos que permiten entrar a trabajar en la nueva empresa en el cuerpo de los trabajadores.  La tecnología de Cybracero Systems se basa en una fuerte integración de lo digital y lo biológico, que conecta a los trabajadores con la “economía global”.

Recientemente, en una entrevista radial al sociólogo uruguayo Renato Opperti escuché una propuesta que me resultó siniestramente (en el sentido freudiano del término) similar al futuro descrito en esta película.  El sociólogo proponía (entre otras muchas cosas) “conectar en redes escuelas y liceos privados con escuelas y liceos públicos, para que se apoyen mutuamente”.  Puesto así parece ser un fin muy loable, y lo es, aunque oculta en su formulación el problema  de integración social que implica la brecha entre la educación pública y la privada.

Uruguay viene haciendo desde hace un tiempo una experiencia de integración en red de su enseñanza pública, que comenzó en la enseñanza primaria y se está extendiendo en la actualidad a la secundaria a través de la aplicación del programa OLPC, conocido localmente como Plan Ceibal.  En Nueva York hemos tenido la oportunidad de conocer el proyecto a través de la charla que ofreció el ingeniero Miguel Brechner en la New School en 2009, y a la teleconferencia brindada por la socióloga Ana Laura Martínez en el Graduate Center de la City University of New York, en 2010.

El esfuerzo de incorporación tecnológica tiene entre sus fines el objetivo explícito de una mayor integración social.  Justamente, entre los problemas que identifica el sociólogo en la educación uruguaya, está el de la integración, ventaja tradicional del sistema educativo uruguayo, cuya vocación universalista no logra abarcar las diversidades sociales que existen en la actualidad.  Afirma el sociólogo:

La igualdad de oportunidades se concibió básicamente como el acceso a un conjunto de servicios sociales básicos (por ejemplo en educación, salud y seguridad social) y de protección social del trabajador, igualando a las personas en sus puntos de partida.  Este concepto igualador, uno de cuyos ejemplos más destacados fue la red de más de 1.000 escuelas rurales ya forjada a mediados de la década de los cincuenta (CIDE, 1966), se ha ido ampliando y afinando para también abarcar progresivamente, aunque con bastante menor éxito, la igualación en las condiciones y en los procesos de prestación de los servicios sociales así como en los resultados obtenidos. El concepto de equidad fue sustituyendo al de justicia como criterio orientador en el diseño y en la evaluación de políticas y programas enfatizando el abordaje de las brechas en la adquisición de aprendizajes y de competencias (Cambiar las miradas y los movimientos en Educación: ventanas de oportunidades para el Uruguay, 29-30).

Al leer esto, uno se pregunta si no habrá que recobrar el antiguo concepto de justicia (social, agregaría yo) ya que la noción de equidad que orienta las nuevas políticas educativas no parece responder a los desafíos que pretende resolver.  Porque, a mi modo de ver, el término diversidad tal como se presenta en el documento esconde, de hecho, la injusticia social.

El mito de que la educación privada es mejor que la pública (que, no nos engañemos, es promovido por los negociantes de la enseñanza) tiene mucho que ver con la diversidad a que hace referencia Opperti:  a diferencia de esa educación integrada que describe la cita anterior, hoy nuestra educación experimenta una brecha profunda de corte eminentemente clasista.  Yo coincido con el diagnóstico de que esta falta de integración que la brecha entre lo público y lo privado tiende a generar incide en el deterioro del nivel educativo uruguayo.  Sin embargo, creo que, si bien la tecnología puede cumplir un rol en la integración social (así lo demuestra la experiencia del Plan Ceibal, a que hice referencia antes), el hecho simple de que los niños  o los jóvenes estén sentados unos junto a otros contribuiría mucho más a la integración social que una conexión inalámbrica.  Esa educación igualitaria del viejo Uruguay (¿por qué seremos nostálgicos de algo que no conocimos?) a que hace referencia Opertti, tenía aparentemente la virtud de crear la ilusión de que en los ámbitos educativos, las diferencias sociales se borraban.  Hoy, eso ya no existe.  Existe un sistema educativo público, al que se le reclama que forme para “el mercado de trabajo” (entiéndase:  para ser empleados), y una serie de instituciones privadas, que forman elites.  Ello está teniendo consecuencias negativas para la educación en su conjunto, aparentemente.

La solución propuesta, ¿no conlleva el riesgo de que la brecha social se exprese a través de una pantalla de laptop?  Si hoy los pobres son invisibles para un estudiante del British, por nombrar un colegio privado de carácter elitista, mañana los pobres serán aquellos avatares que aparecen en la pantalla.  Me viene a la mente otra película (esta entrada de blog me ha salido cinematográfica), la chilena Machuca, donde el director de un colegio privado, el Saint George’s College, hace una experiencia de integración social durante el gobierno de Allende, con la consiguiente protesta de los papás de los nenes “bien” cuando les llenan el cole de rotos.  En esa época no había internet, ¿pero era necesario para acercar unos gurises que vivían a unas cuadras unos de otros?  Chile tiene de hecho hoy mismo un problema tremendo de justicia en el acceso a la enseñanza, lo que está provocando la movilización de sus estudiantes y docentes.

Aclaración:  esto lo dice alguien que hizo toda su educación en el sector público Uruguayo, de primaria al IPA, hasta salir de Uruguay.  Le agradezco a la escuela y el liceo públicos, además de una excelente formación (que me dio herramientas invaluables cuando hice mis posgrados en Jerusalén y Nueva York), la vivencia de los problemas sociales reales de mi comunidad, algo que ninguna prueba estandarizada, que yo sepa, se dedica a evaluar.

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