.

Hace exactamente veinte días que apuntaba para tiempos ociosos un breve texto introductorio a la Web Audio API donde se ve algunas de las cosas con las que se puede empezar a cacharrear. Claro que se está condicionado a que los navegadores de los usuarios implementen estos recursos, pero ese no es la única limitación que un programador se puede encontrar.

En el mismo sitio que leía el artículo citado mencionaban a principios de año el caso del sonido en Cut The Rope, juego cuya versión web se supone que se apoya en HTML5 pero que recurre a Flash para el sonido. Uno de los desarrolladores, Robby Ingebretsen, explica por qué:

[…] sonidos cortos, repetitivos, en los que el tiempo es crítico, como los que hay en un juego, pueden cargar tu tarjeta de sonido de distinta manera y, francamente, no todos los navegadores hacen un buen trabajo en esa circunstancia.

[…] Intentamos: reciclar elementos audio, instanciar elementos audio en cada reproducción, usar «sprites» de sonido (donde combinamos sonidos en un conjunto reducido de ficheros de audio y usamos offsets para reproducir los efectos de sonido) y utilizar distintas estrategias de codificación, pero nada corregía los problemas con fiabilidad.

El hecho de que haya tenido que hacer un artículo completo explicando por qué no lo han usado revela la dificultad de hacer entender, incluso a gente que se supone formada, que a veces las cosas no funcionan como deberían y no hay mucho que se pueda hacer al respecto, salvo buscar alternativas. En el caso concreto del sonido en HTML5, hay una entrada en en HTML5 Doctor, otro sitio de referencia, que repasa el estado de este ámbito a día de hoy.

Y los que sólo quieran un rato de diversión siempre pueden jugar a Cut The Rope. Los valientes, si lo desean, pueden arriesgarse con la versión que usa el audio HTML5.

.

Euphony, de Xueqiao Xu, es descrito sucintamente como un «reproductor y visualzador MIDI web» con licencia MIT. Lo cierto es que no sólo es una aplicación curiosa, que a mí me recuerda a un carrillón, también es un trabajo de programación e integración interesante. Entre las librerías que utiliza se cuentan: three.js, MIDI.js, jasmid, base642binary.js, async.js , spin.js, javascript-state-machine, jQuery, jQuery Easing Plugin y nanoScrollerJS.

Si queréis ver qué pinta tiene podéis echarle un vistazo (sólo en Chrome), por ejemplo, a la reproducción de la tocata y fuga en re (menor, BWV 565).

.

Leo en CreativeJS:

The Web Audio API is one of two new audio APIs – the other being the Audio Data API – designed to make creating, processing and controlling audio within web applications much simpler. The two APIs aren’t exactly competing as the Audio Data API allows more low-level access to audio data although there is some overlap. […] In this page, we will start at the very beginning and work though the basic concepts until we have a working example.

Estas APIs abren nuevas posibilidades a lo que se puede hacer en la plataforma web y el artículo anterior parece un buen punto de partida para entender algunos puntos básicos. Tomo nota para cuando tenga un rato libre.

.

Beatbar es un reproductor multimedia con visualizador en la barra de dirección del navegador, usando algún que otro recurso ya conocido

Beatbar uses soundManager awesomeness to play audio. Using HTML5 and Flash, SoundManager 2 provides reliable cross-platform audio under a single JavaScript API. The player streams audio from SoundCloud using their JS SDK.

.

WebModular es un sintetizador modular hecho con JavaScript que utiliza el Web Audio API. Incluye un par de VCOs, VCFs, VCAs, envolventes, LFOs y un modulador balanceado, además de incorpora un mezclador y un teclado con salida CV/Gate. Visto en DailyJS.