.

No he hincado el diente a SuperCollider como dije que me gustaría, en parte porque la lista de cosas que me gustaría hacer crece pero mi tiempo disponible es el mismo. Bueno, realmente es menos cada vez pero me refiero a tiempo disponible a lo largo de un día.

Como suele ser habitual en la pila de cosas que llaman mi atención para las que no tengo tiempo, me topo en Hacker News con pippi:

Pippi is a library of computer music modules for python.

It includes a few handy data structures for music like SoundBuffer & Wavetable, which are operator-overloaded to make working with sounds and control structures simpler.

It also includes a lot of useful methods for doing common and not-so-common transformations to sounds and control structures.

It comes with several oscs[… and] many built-in effects and transformations[…, as] well as support for pitch and harmony transformations and non-standard tuning systems[… and] basic graphing functionality[… as] well as other neat stuff like soundfont rendering support via tinysf!

(Normalmente suelo traducir estos párrafos pero hoy estoy algo apurado y sólo me da tiempo a hacer un corta-pega.)

El proyecto parece interesante en sí mismo pero me llamó la atención otro proyecto del mismo autor que extiende el anterior para programar música en directo, Astrid for pippi:

Astrid is an interactive workstation and performance interface for pippi (a DAW & an instrument)

In development! At the moment I’m still just dogfooding this as alpha software, but it should install and run fine in a normal linux audio environment with JACK.

Logotipo de Python.

Para los interesados en la idea de programar música de manera interactiva, he visto que algunas personas mencionan Sonic Pi aunque es otro proyecto más que no he probado. Está disponible para Linux, Mac, RasPi y Windows, lo que me hace recordar que en algún momento tengo que probar a replicar de forma casera el procesador de efectos para guitarra hecho con Guitarix sobre una RasPi.

.

Cuando apunté hace más de un lustro la visualización de «Piano Phase» de Steve Reich por Alexander Chen no se me ocurrió que podría ser un ejercicio de programación interesante. Afortunadamante, hay gente más despierta que yo y por eso me encontré en Hacker News exactamente eso: Ezra LaFleur explica en su blog como programó «Piano Phase» con SuperCollider.

La Piano Phase de Steve Reich (concretamente, el primer movimiento[…]) en un trabajo pionero del Minimalismo temprano. Reicho la compuso a partir de sólo cinco tonos arreglados en un patrón de doce notes y tocando en dos instrumentos. Esto demuestra en que se puede convertir una cantidad mínima de material musical cuando se manipula con el sistema adecuado […]. Utilizando el lenguage de programación musical SuperCollider, he explorado los métodos requeridos para construir este sistema y manipular el proceso programáticamente.

Primer motivo de «Piano Phase» de Steve Reich: 12 semicorcheas agrupadas 4×3.
Autor: Sylenius. Fuente: Wikimedia Commons.

Unos meses atrás vi, también en Hacker News, una mención a SuperCollider y la dejé anotada, pero no he llegado a echarle un vistazo como era mi intención. Si me organizara mejor podría dedicar algo de tiempo a hacer el mismo ejercicio de Ezra LaFleur aunque, habiendo visto una «solución», es probable que aprenda menos que si lo hubiera intentando sin marco de referencia. Quizás debiera retarme a algo diferente, como intentar generar alguna pieza de música imposible, aunque me gustaría estar más cómodo con mis capacidades musicales para abordar algo así.

.

No estoy hablando otra vez de SolarBeat. Se trata de planetary, una especie de secuenciador musical como lo etiqueta su creador, Tom Armitage, en su blog:

En resumen: es un secuenciador que está diseñado para funcionar un poco como el vídeo de Michel Gondry Star Guitar []

Está hecho con norns, un dispositivo fabricado por monome, cuyos instrumentos están hechos con Lua y SuperCollider.

Pantalla de planetary en funcionamiento. Fuente: Infovore.

Es una de esas cosas que vi en Hacker News y apunté «para más tarde», lo que ha acabado traduciéndose en varios meses de retraso en mi intención original de echarle un ojo.

Puedo entender la fascinación del creador de este secuenciador. Los vídeos de Michel Gondry que señalaba hace más de una década siguen teniendo un efecto casi hipnótico en mí. Lo que me gustaría compartir también con Tom Armitage es la capacidad para desarrollar este tipo de ideas en una tarde.

.

El blog de Blax ya no es accesible. No es que sea una noticia, el último apunte que señalé del espacio que mantenía era de 2006, pero no deja de ser una pérdida. Afortunadamente, tras el 50.º aniversario de Eurielec hemos retomado el contacto unas cuantas personas de las que pululábamos por el garito con cierta asiduidad, y esto es lo que dejaba caer el otro día el caballero en cuestión: dadabots, un proyecto de creación de redes neuronales que generan pistas de sonido a partir de audio sin compresión. En concreto, puso un enlace a una emisión continua de death metal técnico generado a partir de música de Archspire, un grupo he mencionado un par de veces.

Como cuentan en una entrevista en The Outline, los autores del proyecto son CJ Carr y Zack Zukowski, dos antiguos alumnos de la Northeastern University que se conocieron en un curso de la Berklee College of Music. Han publicado varios discos generados de esta manera en bandcamp, y hace año y medio publicaron su trabajo en arxiv. En su web lo resumen de manera más coloquial:

Empezamos con el código de investigación original de SampleRNN en theano. Es una red LSTM jerárquica. Las LSTMs pueden ser entrenadas para generar secuencias. Secuencias de lo que sea. Podría ser texto. Podría ser el tiempo. Lo entrenamos con las formas de onda brutas de discos de metal. A medida que va escuchando, intenta adiviar la siguiente fracción de milisegundo. Juega a este juego millones de veces a lo largo de varios días. Tras el entrenamiento, le pedidos que genere su propia música, como se puede preguntar a una máquina de predicción meteorológica que invente siglos de patrones climatológicos aparentemente plausibles.

Alucina 10 horas de música de esta manera. Eso es demasiado. Así que hicimos otra herramienta para explorarla y organizarla. Encontramos los trozos que nos gustan y [con ellos] componemos un álbum para consumo humano.

Entrenar redes es un desafío. Hay muchos hiperparámetros que probar. ¿Cómo de grande es? ¿Cuál es el ritmo de aprendizaje? ¿Cuántos niveles de la jerarquía? ¿Qué optimizador del alogritmo de gradiente descendente? ¿Cómo muestra de la distribución? Si lo haces mal, suena como ruido blanco, silencia o apenas nada. Es como elaborar cerveza. ¿Cuánto de levadura? ¿Cuánto de azúcar? Estableces los parámetros al principio y no sabes si va a saber bien hasta mucho después.

Entrenamos cientos de redes hasta que encontramos buenos hiperparámetros, y lo publicamos para que todo el mundo lo usara.

Logotipo de dadabots.

Recuerdo que los casos que veía hace años de uso de RNNs para componer música partían casi siempre de datos MIDI, y es curioso ver como la evolución de los sistemas y el aumento de la capacidad computacional permite trabajar volúmenes mucho mayores datos.

.

Hace casi seis años mencionaba que habían demandado a Led Zeppelin por plagio, en particular acusaban de haber copiado parte de «Taurus» de Spirit en «Stairway to Heaven», y a principios de este mes el consecuente juicio se resolvía a favor de Led Zeppelin. En la descripción del contexto que acompaña a la resolución señalan que no se disputa que los caminos de Spirit y Led Zeppelin se cruzaran a finales de los años 1960 y principios de los 1970. Los grupos actuaron en el mismo lugar por lo menos tres veces entre 1968 y 1970. Led Zeppelin también tocaba una versión de una canción de Spirit, Fresh Garbage. Pero no hay evidencia directa que los dos grupos fueran de gira juntos, o que miembros de Led Zeppelin oyeran a Spirit tocando Taurus. El documento completo son setenta y tres páginas, para los que quieran algo que leer y tengan un criterio debidamente formado en estos asuntos, cosa que yo no tengo.

Lo que sí tengo es una opinión sobre qué no considero plagio que bastante con enlazar para no repetir. Hablando de repeticiones, llego vía Hacker News a un artículo en MusicTech sobre el esfuerzo de dos programadores (entre otras cosas) para intentar prevenir que la repetición accidental de dos melodías se pueda considerar legalmente plagio. El equipo, formado por Damien Riehl y Noah Rubin, desarrolló un programa —disponible en GitHub— capaz de generar todas las combinaciones posibles de ocho notas y doce compases a un ritmo de trescientas mil melodías por segundo. El resultado fue publicado al dominio público y además archivado en Internet Archive. La idea es que, llegado el caso, se pueda defender la posición que cualquiera de éstas melodías son de dominio público, lo que demuestra la locura del sistema de copyright prevalente, como señalan en Hypebot.

En esta ocasión no es pertinente acompañar la entrada con mujeres desnudas así que, en su lugar, enlazo con la charla de Damien Riehl donde habla sobre todo este asunto:

Fotograma del vídeo de la charla «Copyrighting all the melodies to avoid accidental infringement»de Damien Riehl para TEDxMinneapolis [].