Máquinas que escuchan y (re)suenan en la libre improvisación

Por Aarón Escobar

Este texto es parte de una investigación mayor en la cual analizo desde la práctica creativa la relación humano-máquina en la generación de sonido-música y la escucha artificial ligada a la programación. Me interesa cuestionar si una computadora puede generar una estética automática a partir de ciertas reglas que le son dadas y, más específicamente, si es capaz de comunicar algo que no conozcamos partiendo de su relación e interacción con lo humano.

Si bien las máquinas podrían parecer algo ajeno y distante a nuestros cuerpos y mentes, basta con remontarse un poco en la historia para notar que las máquinas han estado presentes en nuestra vida desde mucho tiempo atrás, moldeando la forma en la que entendemos y nos acercamos al mundo. Las máquinas evolucionan y cambian conforme a las necesidades y nuevos retos que la vida plantea, desde las herramientas que extienden nuestra fuerza y habilidades, a la automatización y simulación de dichas herramientas, que permiten construir y albergar otras realidades. Asimismo, las máquinas –como la computadora donde escribo este texto – se hacen cada vez más indispensables en nuestras vidas, son herramientas útiles que nos ayudan a resolver problemas de formas más sencillas e incluso a entretenernos. Pero no todo es blanco sobre negro, las máquinas también refuerzan en nosotros conductas negativas, como el determinismo excesivo generado por su automatización, o la distorsión de los procesos comunicativos entre las personas. Siendo las máquinas una extensión de la condición humana que procura imitar o incluso exceder su propia capacidad ¿cómo nos relacionamos con ellas?, ¿implican un riesgo para nuestra existencia o la extienden sin que seamos conscientes de ello?, ¿qué modifican en nosotros, en nuestras interacciones con otros y con otras máquinas? ¿qué implica que una computadora que reconoce información dada por el humano interactúe con él y consigo misma?

La manera en que recibimos e interpretamos información de la realidad o de las máquinas involucra necesariamente varios procesos subjetivos como la asimilación, el escrutinio, el análisis, la empatía, etc. que posibilitan la comunicación, sin embargo no siempre ocurre así, al escuchar, leer, sentir o ver no necesariamente se cumple el proceso básico de la comunicación. Puedo incluso estar escuchando algo sin siquiera estarlo interpretando, entendiendo, o atendiendo, y pasa igual con los otros sentidos. La escucha de un sonido reproducido por una computadora requiere de mí un cierto tipo de reacción o atención, que puede ser entendido como la resonancia que el sonido produce en mí y que hace vibrar mi cuerpo, violentándolo si la intensidad sonora es muy alta. La resonancia de un sonido sería ese algo que reacciona en mí y en el espacio, independientemente de la intencionalidad o no intencionalidad del sonido. La resonancia también se relaciona con la posibilidad de un sonido para volver a sonar o hacer sonar al mismo cuerpo que lo produce y a otros cuerpos vibrantes, generando una interacción entre ellos. Una resonancia vibrante sería aquella que hace vibrar ininterrumpidamente a un cuerpo. Imaginemos una cuerda de un bajo o una guitarra eléctrica que comienza a vibrar por empatía consigo misma de manera ininterrumpida, lo que estaríamos presenciando en ese preciso momento es la resonancia vibrante. ¿Qué tiene que ver la resonancia con las máquinas y cómo las máquinas podrían (re)sonar? El dato en la máquina digital puede adoptar múltiples formas, ya sean sonoras, visuales, o que funcionen para la activación de algún tipo de mecanismo. En casi todos los niveles de programación podemos encontrar características en donde las mismas entradas modifican a las salidas y éstas a su vez son enviadas nuevamente a las entradas del sistema con el fin de corroborar información y generalmente optimizarla o realizar un proceso iterativo que permita al sistema ejecutar alguna operación numérica. De manera similar a este proceso el sistema que estoy realizando integra procesos iterativos en su construcción. Una parte importante de este sistema de máquinas que escuchan es el momento en el que la supuesta escucha de la máquina, analiza el/los sonidos que entran y comienza a reaccionar de diferentes maneras de acuerdo con dichos sonidos. Esa reacción sonora sería la forma en la que la máquina incide en y modifica el espacio y su fiscalidad debido a las vibraciones que produce. Si la interacción entre el espacio y la máquina vuelve a entrar al sistema de la máquina de escucha y el mismo proceso anterior se repite, podríamos hablar del fenómeno de retroalimentación, en donde la máquina comienza a estimular y auto-estimularse por el efecto de la retroalimentación y la resonancia producida al cuarto o el espacio en donde se encuentre. Cuando entra el factor humano al sistema e interactúa con éste, la relación que se establece entre máquina-humano implica una retroalimentación que posibilita la apertura de canales de comunicación donde la actividad sonora afecta al espacio y a los cuerpos, generando su mutua resonancia.

Máquinas que escuchan: antecedentes

Las máquinas que escuchan pueden ser entendidas como software y hardware que busca simular la forma en la que escuchamos los humanos. A partir de varios métodos desarrollados junto con los avances en la anatomía humana y las tecnologías de grabación, manipulación, reproducción y transmisión de sonido, fueron poco a poco configuradas y encapsuladas en modelos computacionales que actualmente pueden ser encontrados como parte de programas dedicados al análisis y la producción sonora.

El ingeniero Paris Smaragdis del MIT se refiere a ellas como software que aprovecha las cualidades del sonido para ubicar personas dentro de un cuarto, monitorizar maquinaria para evitar posibles fallas, o activar cámaras para grabar un determinado momento en el que ocurre algo importante. Las máquinas que escuchan no solo son capaces de discernir entre fenómenos acústicos sino también son capaces de diferenciar entre información más abstracta que responde a contextos humanos específicos; por ejemplo, análisis de datos enfocados en aplicaciones médicas, seguridad, vigilancia, censado y clasificación, todas con finalidades comerciales y de control. También pueden detectar mecanismos cualitativos como los fenómenos psicoacústicos de percepción sonora humana como los desarrolla Eric Sheirer en su tesis doctoral Music-Listening Systems. Otros trabajos importantes serían las investigaciones e implementaciones computacionales realizadas por Nick Collins; Automatic Composition of Electroacoustic Art Music Utilizing Machine Listening, Live Coding and Machine Listening, Musical Robots and Listening Machines y su tesis doctoral titulada Towards Autonomous Agents for Live Computer Music: Realtime Machine Listening and Interactive Music Systems. Otra tesis relevante es Real-time Human Interaction with Supervised Learning Algorithms for Music Composition and Performance de Rebecca Fiebrink.

Analizar e interpretar sonido y música a partir de una computadora ha sido una tarea recurrente ejecutada desde la Segunda Guerra Mundial cuando Alan Turing estudiaba sistemas de desciframiento y decodificación para interceptar y entender los canales de información nazis que fueron determinantes en las estrategias de guerra de Inglaterra. Más adelante en los noventa los desarrolladores de software pudieron integrar algoritmos mucho más complejos debido al rendimiento que los microprocesadores aportaban a las computadoras que para ese momento ya eran capaces de procesar audio en tiempo real. El poder de procesamiento de las computadoras fue creciendo enormemente en pocos años y las capacidades de manipulación de los medios digitales se vieron enormemente afectadas, la forma en la que se genera la música y el sonido comenzaría a estar mediada completamente por la capacidad de procesamiento y algoritmos súper sofisticados.

Las máquinas que escuchan actualmente son capaces de distinguir cualidades acústicas y contextuales; la voz en distintos idiomas, el sonido de un instrumento, su amplitud, forma temporal o envolvente, ritmo y algunas cualidades más relacionadas con la tonalidad musical. Estos algoritmos de identificación de algunas características en el sonido y la música no serían capaces de discernir entre varios contextos como un cierto tipo de música sin un componente esencial que es el cerebro de la máquina conocido como Inteligencia Artificial. Similar al la forma en la que procesamos información, la Inteligencia Artificial está inspirada en las múltiples y complejas interconexiones de las neuronas de cerebros biológicos, capaces de relacionar una información con otra y reaccionar de acuerdo con ciertas reglas de operación. En ciencias de la computación se conocen como redes neuronales artificiales y su característica más importante es que pueden aprender de forma conjunta a través de ciertas entradas que el usuario o el programador inserta en la red. Este tipo de programación se ha vuelto muy popular en la detección de características de sistemas de información altamente complejos. Dependiendo de la complejidad del problema a resolver, las redes neuronales pueden ir de “unos pocos miles a unos pocos millones de unidades neuronales y millones de conexiones”, por mucho menor a la complejidad existente en un cerebro humano y similar a la complejidad del cerebro de un gusano.

Hoy día, las investigaciones existentes en el campo de la recuperación de información musical (Music Information Retrival, MIR) están enfocadas en la creación y el análisis de algoritmos con muy diversos fines como los mencionados anteriormente. Estos algoritmos identifican información relevante de audio, la cual extraen en grandes cantidades para almacenarla en listas de valores separados por comas (csv por sus siglas en inglés). Esta información tiene que ser analizada y organizada en clases -proceso conocido como entrenamiento o training- con programas de máquinas que aprenden o machine learning. Entre los programas utilizados están WEKA, desarrollado por la Universidad de Weikato, Nueva Zelanda y Tensorflow, un lenguaje de programación desarrollado por Google.

Las recientes aproximaciones al reconocimiento de señales de audio están mayoritariamente centradas en desarrollar sistemas para el control, la vigilancia, el análisis clínico, el reconocimiento de géneros basados en un corpus musical con propósitos comerciales. Este tipo de aproximaciones basadas en la detección y clasificación de diferentes componentes en la señal de audio, se resisten a entablar un diálogo en el campo estético de las prácticas sonoras, como la música académica contemporánea, el free jazz o la libre improvisación. En el caso especifico de la improvisación libre, donde pareciera no haber una estructura ni una forma muy claras, donde las interacciones parecen ser difusas y las características tímbricas responden a una necesidad que va más allá de los timbres tradicionales de una orquesta, surgen resultados emergentes no predecibles a partir de la interacción entre varios músicos a distintos niveles. Esta interacción resulta tan compleja que un algoritmo lo suficientemente sofisticado se puede confundir enormemente al tratar de distinguir diferentes características sonoras.

Considerando estas dificultades técnicas, ¿de qué forma un programa de computadora podría ser capaz de interactuar en una improvisación libre consigo misma y con otro(s) músicos, así como autorregular su comportamiento a través del reconocimiento de diferentes estados/momentos musicales o sonoros, a modo de entrar en resonancia con ellos?

Para que las máquinas que escuchan y las máquinas que aprenden resuelvan adecuadamente un problema de esta magnitud es necesario usar redes neuronales de aprendizaje profundo. Estas integran múltiples capas de redes neuronales que extraen la información de forma no-lineal, es decir, cada capa sucesiva de información procesada usa la salida de la capa anterior como una nueva entrada a procesar.

En el trabajo realizado hasta ahora, he suministrado al sistema diferentes ejemplos de grabaciones solistas de improvisación libre, segmentando y clasificando manualmente breves momentos de la improvisación que responden a cualidades subjetivas del timbre, como son los materiales o instrumentos usados para tocar –metal, madera, vidrio, plástico, hoja, tela y silencio, así como cualidades de brillo, opacidad, aspereza o sonido alisado y amplitud (volumen) de los sonidos. Asimismo, sigo explorando de qué forma integrar el aprendizaje profundo al análisis de improvisaciones libres. Las herramientas con las que he trabajado hasta el momento son la librería de SuperCollider SCMIR (SuperCollider Music Information Retrival) y varios objetos de máquinas que escuchan nativos a SuperCollider con los cuales he podido extraer y hacer análisis de audio. Para entrenar y clasificar estos análisis he integrado los algoritmos de máquinas que aprenden de WEKA, así como una versión más limitada pero bastante potente desarrollada por Rebecca Fiebrink, llamada Wekinator. Cabe señalar que otros componentes importantes a analizar y que aún están pendientes son los roles de interacción de los músicos (propositor, facilitador, irruptor, egoísta acompañante, solista), la densidad sonora resultante, ritmo, secuencias melódicas y el humor.

Las formas de reaccionar del sistema estarían mediadas necesariamente por un análisis de lo que escucha e interpreta; en este sentido si la máquina detecta la suma de varios de los componentes arriba mencionados, respondería a través de diferentes técnicas de síntesis de audio. Esta parte resulta una tarea bastante ardua, ya que implica la composición de estos sonidos y su respectiva programación o generación de reglas para ser activados, de manera que la máquina pueda fijar un rol de interacción con otros músicos.

Para concluir les comparto algunos ejemplos de los archivos de audio clasificados y el código del proyecto en SuperCollider, así como ligas a algunos de los programas ya explorados en el curso de este proyecto.

Enlaces