Curioseando en el código de la página parece que tira de three.js, tone.js, lodash, algunos componentes de node.js para el navegador y react, aunque no he llegado a ver bien cómo está montado todo. Me ha pasado igual que con el sintetizador multi-toque que veía hace unos años: sin una vista clara del código fuente y/o una explicación del autor tendría que ponerme a diseccionar cómo funciona, y me falta tiempo para dedicarle a esta clase de distracciones.
Estaría bien volver a programar algo por gusto, no por compromiso profesional. La última vez que dediqué algo de tiempo a algún entretenimiento personal fue el generador de mapas de calor para cordófonos que mencionaba, y de eso hace prácticamente tres años. Me volvió esta tentación cuando me encontré el otro día en Hacker News con Handel, un pequeño lenguage de programación procedural para escribir canciones en el navegador.
Más que las posibilidades como lenguaje de programación/composición, lo que me resulta más interesante aún es poder echar un vistazo al código en GitHub. Claro que si tuviera tiempo para programar por gusto en relación con temas musicales, quizás le echaría antes un ojo a SuperCollider e intentar replicar algún ejercicio simple.
¿Cuántos años terrestres necesita el planeta enano Plutón para completar una órbita alrededor del Sol?
Creado por Luke Twyman/Whitevinyl, usando frecuencias orbitales reales de nuestro sistema solar, y apareciendo originalmente como una página con Flash en 2010. Rehecho ahora usando el nuevo WebAudio API, justo antes del 5.º cumpleaños de SolarBeat y coincidiendo con la aeronave de la NASA Dawn haciendo Historia al entrar en la órbita del planeta enano Ceres.
La versión original de solarBeat todavía se puede encontrar aquí.
El primero es The Infinite Drum Machine, una caja de ritmos básica que permite utilizar en tu navegador miles de sonidos cotidianos. La gracia de este experimento reside en que la catalogación y agrupación de sonidos la ha hecho una máquina utilizando un algoritmo de aprendizaje automático t-SNE sobre el audio exclusivamente, sin utilizar etiquetas o cualquier otro tipo de indicaciones.
Los que tengan el tiempo y los conocimientos adecuados pueden explorar el código fuente de The Infinite Drum Machine en GitHub, algo en lo que invertiría el primero de los dos requisitos anteriores (si lo tuviera) para ver si puedo adquirir un poco más del segundo requisito.
El segundo experimento que llamó mi atención fue A.I. Duet, una red neuronal ya entrenada que «responde» a las melodías que pueda crear una persona, creada utilizando Tone.js y herramientas de Magenta. Aunque en este caso todavía no hay una versión web donde jugar con el experimento, se puede explorar código fuente de A.I. Duet en GitHub.