.

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 [].

.

Me sigo considerando un aficionado a los videojuegos aunque últimamente les dedico menos tiempo del que me gustaría. Aún no jugando tanto como antes me siguen llamando la atención casi todos los temas relacionados con esa actividad, que es por lo que acabé leyendo la explicación de un proyecto de Nolan Nicholson que vi en Hacker News:

Programé un script de Python que te permite poner ficheros .mp3 en bucle, sin cortes, contínuamente, basándose en un punto de repetición determinado automáticamente. Esto quiere decir que ahora puedes escuchar tu música de videojuego favorita en repetición, contínuamente, sonando como lo hace en el juego.

Incluso si no lo fuera a utilizar me parecería una idea interesante y es de agradecer que no sólo haya publicado el código, con licencia MIT, sino que también haya descrito el proceso implementado por las 177 líneas de código de su script.

Imagen que acompaña al texto Nolan Nicholson explicando su programa.

Ahora tendré que probarlo con la banda sonora de DOOM.

.

Hace más de once años mencionaba a Melodyne, un software que permitía editar notas individuales dentro de acordes o audio polifónico. Nunca intenté averiguar exáctamente cómo funcionaba, ni siquiera si dicha información ha estado disponible en algún momento. Se trata de software propietario y, por lo tanto, es bastante probable que su funcionamiento esté oculto. Si me equivoco que me corrijan, por favor.

Todo esto viene a cuento de uno de los enlaces que vi este fin de semana en Hacker News, apuntando a repositorio de GitHub de Spleeter. De ahí sale la siguiente descripción:

Spleeter es la biblioteca de Deezer para separación de señales con modelos escritos en Python y [que] usa Tensorflow. Facilita el entrenamiento de modelos de separación de señales (asumiendo que tiene un conjunto de datos de fuentes aisladas) y proporciona un modelo de última generación ya entrenado para realizar varios estilos de separación:

  • Separación de voces (voz cantada) / acompañamiento (2 derivadas).
  • Separación de voces / percusión /bajo / otros (4 derivadas).
  • Separación de voces / percusión / bajo / piano / otros (5 derivadas).

Los modelos de 2 derivadas y 4 derivadas tienen rendimientos de última generación sobre el conjunto de datos musdb. Spleeter también es muy rápido, ya que puede realizar la separación de ficheros de audio 100 veces más rápido que en tiempo real cuando se ejecuta en una GPU.

Logotipo de Spleeter.

Más allá de la utilidad de esta herramienta, es interesante conocer la razón de publicarla según el equipo que la ha desarrollado:

Una de las limitaciones difíciles que se encuentran los investigadores de MIR [N. del T.: siglas en inglés de Recuperación de Información Musical] es la falta de conjuntos de datos a disposición pública, por motivos de derechos de autor. Aquí, en Deezer, tenemos acceso a un catálogo bastante amplio que hemos estado aprovechando para construir Spleeter. Dado que no podemos compartir estos datos, convertirlos en una herramienta accesible es una manera con la que podemos hacer que nuestra investigación sea reproducible por todo el mundo. Desde un punto de vista más ético, creemos que no debería haber una competición injusta entre investigadores basada en el acceso a material con derechos de autor, o la falda de este.

Es muy interesante ver como ya hay gente que ha aprovechado esta herramienta para separar pistas de canciones populares para después utilizarlo en re-mezclas, como las pruebas que ha hecho Andy Baio. Veremos que nuevos mashups salen de todo esto.

.

Aunque una gran parte de mi tiempo la dedico a programar, el resto de mis obligaciones hace que no sea posible hacerlo poniéndome unos cascos con música o sonidos a mi gusto. Es una pena, porque tener que estar atento al entorno mientras debería estar concentrado en una tarea no me aporta más que distracciones.

Esta lamentación viene por los resultados de la encuesta de Stack Overflow de 2019 dirigida a desarrolladores que he visto mencionada en Metal Injection. Una de las secciones recoge las preferencias de los programadores encuestados a la hora de ponerse música para trabajar:

La red muestra las palabras que concurren con mayor frecuencia entre 56643 respuestas [a la encuesta de Stack Overflow de 2019 dirigida a desarrolladores]; las palabras con los puntos más grandes se utilzan más a menudo y las conexiones más pesadas indican palabras que se usan más a menudo en conjunción.

Las respuestas anónimas se pueden descargar bajo licencia ODbL 1.0, para los que tengan interés en analizar los resultados.

El apartado de la encuesta sobre la música me ha recordado algo similar que vi en hypebot el año pasado, los resultados una encuesta de Accountemps a más de 1000 trabajadores estadounidenses sobre sus hábitos de escuchar música en el trabajo y las preferencias de genero musical en ese contexto. Los primeros incluyen además una observación sobre la productividad en el trabajo, donde un 71% de los encuestados se siente más productivo, en mayor o menor medida, escuchando música mientras trabaja.