.

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.

.

Echando la vista atrás, hace tres años hice una primera mención por estos lares al modelo WaveNet de van den Oord et al.. Ahora me vuelvo con el trabajo de este integrante de Google DeepMind en Jukebox, una red neuronal que genera música, incluyendo canto rudimentario, como audio crudo en distintos géneros y estilos de artistas. [Además, han publicado] los pesos y el código del modelo, junto a una herramienta para explorar las muestras generadas.

Esquema del entrenamiento de tres VQ-VAE con resoluciones temporales diferentes. En cada nivel, el audio de entrada es segmentado y codificado en vectores latentes ht, que son cuantificados a los vectores del libro de códigos ezt más cercados. El código zt es una representación discreta del audio sobre la que posteriormente se entrena la previa. El descodificador toma la secuencia de vectores del libro de códigos y reconstruye el audio. El nivel superior aprende el grado más alto de abstracción, dado que está condificando audio más largo por token mientras el tamaño del libro de códigos se mantiene igual. El audio se puede reconstruir utilizando los códigos de cualquiera de los niveles de abstracción, donde los codigos de los niveles inferiores y menos abstractos producen el audio de mayor calidad.
Fuente: Jukebox: A Generative Model for Music

Recientemente vi una mención a modelos generativos VAE para síntesis de música leyendo sobre la I.A. que produce un ritmo a la batería a partir de cualquiera secuencia MIDI de entrada, pero sigo siendo bastante ignorante en lo que se refiere a todas estas tecnologías. Eso no quita (o quizás ayuda a) que me sigan pareciendo muy interesantes.

.

Tengo ganas de atacar este maravilloso libro que contiene Una mirada a la oscuridad. Es lo primero que me ha venido a la cabeza después de ver el vídeo de Hardcore Anal Hydrogen titulado «Jean-Pierre» [05m36s] que mencionan en GeekTyrant, cuyo proceso de creación describe el propio grupo en su página web.

Inspirados por el tratamiento de imágenes con Deep Dream, un programa de visión artificial que utiliza una red neuronal convolucional (abreviado, en inglés, CNN) para encontrar y realzar patrones en imágenes a través de una pareidolia algorítmica, empezaron a experimentar con la transferencia de estilos artísticos con CNNs y la aplicación de estos procesos a imágenes en movimiento. El resultado, en una captura estática, tiene este aspecto:

Fotograma de «Jean-Pierre» de Hardcore Anal Hydrogen.

Quizás sea el único pero a mí me ha recordado al «traje mezclador» de A Scanner Darkly. Ahora sólo me queda buscar un rato de calma y disfrutar de la lectura del libro.

.

Al igual que me pasó con los contenidos del lunes, llego vía Hacker News a otro texto bastante curioso, A Neural Parametric Singing Synthesizer:

Avances recientes en modelos generativos para síntesis de voz a partir de texto (en inglés, Text-to-Speech Synthesis o TTS) usando redes neuronales profundas using (en inglés, Deep Neural Networks o DNNs), en particular el modelo WaveNet (van den Oord et al., 2016a), han mostrado que aproximaciones basadas en modelos pueden conseguir una calidad de sonido igual o superior a la de sistemas concatenativos. La capacidad de este modelo para generar con precisión formas de onda de habla demuestra claramente que el sobre-suavizado no es un problema. Aunque modelar directamente la señal de la forma de onda es muy interesante, creemos que para la voz cantada la aproximación más tradicional de usar un vocoder paramétrico es más adecuada.

Visión general de la arquitectura de red propuesta por Merlijn Blaauw y Jordi Bonada.

Los resultados son, por lo menos, curiosos.

.

Keunwoo Choi es un estudiante del Centro de Música Digital de la Queen Mary, Universidad de Londres. Bajo la tutela del profesor Mark Sandler y el doctor Gyorgy Fazekas ha publicado un texto titulado «Text-based LSTM networks for Automatic Music Composition», disponible en arXiv y que resume en su página web:

RNN de palabras (LSTM) sobre Keras con representaciones textuales empalabradas de ficheros MIDI de la batería de Metallica, provenientes de midiatabase.com.

No es la primera vez que veo el uso de redes neuronales recurrentes para componer música, lo que no quita que me siga pareciendo interesante. Los resultados no son espectaculares pero sí curiosos, y me gustaría tener más tiempo para poder entender mejor cómo se implementa la RNN.