.

Hay un gran artículo de Batuhan Bozkurt de mediados de 2009 que describe tanto el origen como el proceso de recreación de Deep Note utilizando SuperCollider. Años después veo este post de Stuart Memo (que de hecho cita al primero) donde explica su experimento intentando aproximar el sonido usando JavaScript:

El sonido [se genera] básicamente [con] 30 osciladores de onda cuadrada emitiendo aleatoriamente en frencuencias entre 200Hz y 400Hz. [El resultado] es filtrado para producir el efecto de barrido que se oye.

El resultado se puede oír en CodePen y tiene una semblanza con la composición del Dr. James A. Moorer.

.

Repasando la entrada de antesdeayer día sobre la interacción con el sonido me he dado cuenta que tenía perdida una entrada relacionada, así que aprovecho para dejarla por aquí ahora a pesar de que el artículo original en Soundstep tiene ya más de dos años y la reseña en Badass JavaScript, que es donde lo vi, tiene más de uno:

Magic Xylophone es una demostración del uso conjunto de getUserMedia y el Web Audio API que permite controlar un xilófono virtual con el movimiento […]. Dibuja una imagen de las teclas del xilófono sobre un vídeo en tiempo real desde la cámara, ejecuta la detección de movimiento con el vídeo y detecta cuando la imagen cruza cualquiera de las teclas al mismo tiempo.

Hay un artículo en Adobe Developer Connection donde se da una explicación más pormenorizada de la programación tras este pequeño experimento. Y, mientras tomo notas, aprovecharé para hacer mi famosa interpretación al xilófono virtual de «Frantic Disembowelment» de Cannibal Corpse:

.

Hace unos meses Fer me señalaba un artículo titulado «Mosh pit: o la física en los conciertos de Heavy Metal» y poco después, recuperando lectura atrasada en Hacker News, me topé con moshpits.js, una «simulación de múltiples cuerpos traducida a JavaScript«.

Según el texto que acompaña a la demostración, la implementación refleja la simulación presentada en Collective Motion of Moshers at Heavy Metal Concerts y se pueden encontrar más detalles en la web del grupo de Itai Cohen, incluyendo vídeos, simulaciones completas y breves descripciones.

.

En palabras de su desarrollador, Teoria.js es una librería Javascript ligera y rápida para teoría musical. Su objetivo es proveer una interfaz de programación para software musical. Esto se traduce en cuatro objetos que abstraen notas, acordes, escalas e intervalos. Se puede operar entre ellos para buscar notas a partir de intervalos, crear escalas basadas en notas, parsear notas para crear acordes, calcular frecuencias, … Casi dan ganas de recuperar mi viejo mezclador de escalas y reprogramarlo entero. Casi.

.

ThreeAudio.js es una librería JavaScript creada por Steven Wittens que permite crear visualizaciones en Three.js, exponiendo los datos del audio como shaders GLSL. Puede leer de una fuente de sonido y proveer datos de tiempo y frecuencia en forma de texturas, al igual que valores derivados de volumen, bajos, medios y agudos. Incluye además un detector de pulsos en tiempo real basado en autocorrelación. Usa MicroEvent.js y DSP.js. Un ejemplo de lo que permite hacer se puede ver en su demo aunque sólo funciona en Google Chrome.

Hace una temporada señalaba un artículo donde se explicaba cómo visualizar sonidos con WebGL, para el que pueda tener interés en este tipo de ejercicios.