.

En mayo del año pasado mencionaba NSynth, un proyecto de síntesis de audio utilizando Magenta con un modelo basado en WaveNet. En esencia, es un algoritmo de aprendizaje automático que utiliza redes neuronales profundas para aprender las características de sonidos y después crear un sonido nuevo basado en ellas.

Me entero ahora que el mes pasado presentaron un instrumento basado en esta tecnología, denominado NSynth Super:

Es un instrumento experimental de código abierto [, creado en colaboración con Google Creative Lab,] que permite […] hacer música utilizando sonidos completamente nuevos generados con el algoritmo NSynth a partir de cuatro sonidos originales disintos.

Prototipo de NSynth Super.

Lo más interesante es que todo el código fuente, los esquemas y las plantillas de diseño están disponibles en GitHub.

[El] repositorio contiene todas las instrucciones y ficheros requeridos para construir un instrumento Open NSynth Super desde cero, y puedes usarlas para hacer tu propia versión. Cualquiera puede hacer un fork del código y los esquemas para remezclar el instrumento de cualquier manera que desee.

Partes de un NSynth Super.

Aunque el invento en sí me ha llamado la atención lo primero que me ha venido a la cabeza tras verlo es Open Stomp, un pedal de código abierto cuya web ahora sólo se puede ver en la Wayback Machine, y del que dejé una reseña por aquí hace casi diez años.

.

Apenas he visto nada en Haskell pero esta entrada en Hacker News sobre el libro de texto The Haskell School of Music — From Signals to Symphonies de la universidad de Yale me hace desear tener más tiempo libre para corregir esto. Escrito por el recientemente fallecido Paul Hudak, se puede descargar de forma gratuita y usar en clase para enseñar programación funcional, principios de música por ordenador o ambas cosas.

Haciendo una lectura somera me acordé de otra reseña en Hacker News sobre el uso de cadenas de Márkov y el aprendizaje automático para componer música. El trabajo al que hace referencia esa reseña se desarrolló, en este caso, en Java y es código abierto disponible en GitHub.

Gráfico representando la matriz de transición de una cadena de Márkov.

.

Rebuscando entre reseñas en el limbo de este blog, como la última de una guitarra Halcón Milenario, me he topado con el invento que se ve sobre estas líneas. Me había guardado el enlace a un artículo en la versión australiana de Kotaku y, como suele ocurrirme, no había encontrado un hueco para verlo con calma.

Pianocade era un sintetizador basado en los sonidos de las máquinas de vídeojuegos, con un rango de 128 notas e interfaz MIDI (tanto de 5 pines como USB), programable y de código abierto, tanto el hardware como el firmware y el software. Había dos variantes, una de una octava y otra de dos.

Hablo en tiempo pretérito porque el fabricante pinta un escenario con mayores dificultades de las previstas en un artículo «diseccionando» su experiencia como creador. En cualquier caso, no deja de ser interesante y el código sigue estando ahí para quien lo pueda aprovechar o quiera conseguir algo como lo que se ve y oye en el vídeo de demostración del producto [01m4ss].

.

Si tenéis curiosidad por saber cómo funciona por dentro el doodle de Google dedicado al Dr. Moog que casi todo el mundo vió y que yo también señalé hace unos meses gran parte de su código está ahora abierto:

This project contains most of the Web Audio pipeline from the Bob Moog Doodle that ran on the Google homepage on May 23rd, 2012. You can see the Doodle at: https://www.google.com/doodles/robert-moogs-78th-birthday

The intention of this open source project is to provide a moderately complex example of how one might use the Web Audio API to make a digital synthesizer on the web. The Doodle’s Flash Audio pipeline and user interface code are not being open sourced at this time.

Se puede encontrar aquí.