.

Llego vía Echo JS a un artículo de Tero Parviainen titulado «JavaScript Systems Music: Learning Web Audio by Recreating The Works of Steve Reich and Brian Eno»:

In this guide we’ll explore some of the history of systems music and the possibilities of making musical systems with Web Audio and JavaScript. We’ll pay homage to three seminal systems pieces by examining and attempting to recreate them: “It’s Gonna Rain” by Steve Reich, “Discreet Music” by Brian Eno, and “Ambient 1: Music for Airports“, also by Brian Eno.

Diagrama completo de Discreet Music.

He hecho algún experimento con Web Audio pero proyectos y explicaciones como esta animan a probar más cosas. Y, aunque nunca he abordado directamente la música de sistemas, sí que he tenido contacto tangencial con este tema. Hace algo más de un año ya señalaba la obra de Steve Reich en la entrada sobre las visualizaciones de Alexander Chen y, antes de eso, mencionaba programas como Max (a su vez mencionado en una cita del artículo de Parviainen) en la reseña sobre música imposible.

.

No recuerdo dónde oí por primera vez “una idea es una responsabilidad” pero me resulta admirable la gente que es capaz de ponerla en práctica. Una de estas personas es Paul Lewis, trabajador de Google, que se planteaba los siguiente:

Given we have the Web Audio API and getUserMedia, I wondered if I could make a passable guitar tuner. Looks like I can, and in the process I learned way more stuff about audio than I care to mention. Cool stuff, though! I thought I’d do a breakdown of what went into building it.

No contento con desarrollar su idea en su página explica algunos detalles de todo este proyecto personal. Una lectura muy interesante y muy recomendable.

.

No tengo mucho tiempo para seguir las sesiones de Google I/O 2014, aunque algunas parecen especialmente interesantes. Una de ellas es la de Chris Wilson, titutlada Making Music with the Web Platform:

Making Music with the Web Platform [07m51s]

El vídeo no detalla los aspectos técnicos de las posibilidades que esboza, lo que le permite cubrir bastantes temas. Sólo un problema concreto, el de la sincronzación, ya da para un artículo bastante extenso en HTML5 Rocks del propio Wilson. Al final la charla se me hace algo corta y me deja queriendo saber más, aunque supongo que esa es parte de la misión de estos vídeos. También es verdad que ya acumulo unas cuantas entradas de programación en JavaScript, con más temas de los que puedo explorar como me gustaría. Así que me apunto esto también, para cuando tenga tiempo.

.

Hace algo más de un año me apunté una reseña en Hacker News para cuando tuviera algo más de tiempo libre. Viendo el tiempo pasado, mejor lo dejo por aquí antes de que la tecnología involucrada esté obsoleta o haya evolucionado tanto que no sea reconocible:

Shiny Happy WebAudio MIDI-fied Drum Machine es una caja de ritmos que utiliza dos APIs en estado Working Draft de la W3C, el de Web Audio y el de Web MIDI. El primero lo había visto antes pero el segundo, al no tratar habitualmente con dispositivos MIDI, no me resulta familiar:

[…] The Web MIDI API is intended to enable direct access to devices that respond to MIDI – external synthesizers or lighting systems, for example, or even the software synthesizers that are built in to many common operating systems. The Web MIDI API is also explicitly designed to enable a new class of applications on the web that can respond to MIDI controller inputs – using external hardware controllers with physical buttons, knobs and sliders (as well as musical controllers like keyboard, guitar or wind instrument controllers) to control web applications.[…]

.

Otro pequeño proyecto JavaScript gracioso, Qwerty Hancock:

Need an interactive HTML plugin-free keyboard for your web audio project? Qwerty Hancock is just the thing.

Specify the number of octaves, give it a height and a width then you’re ready to use your mouse or keyboard to have the time of your life.