
Web Audio API
Boris Smus
- Editorial
- O'Reilly
- Año
- 2013
- Páginas
- ~76
- Nivel
- Intermedio
De qué trata
Libro breve de O'Reilly, con el subtítulo "Advanced Sound for Games and Interactive Apps", en el que Boris Smus, ingeniero de Chrome Developer Relations en Google, presenta la Web Audio API tal como se implementaba en los navegadores en 2013. Está pensado para desarrolladores web de nivel intermedio que quieren añadir sonido avanzado a juegos y aplicaciones interactivas. Requiere saber JavaScript, pero casi ningún conocimiento de audio digital. El autor lo ofrece además en abierto, con licencia Creative Commons, en su sitio webaudioapi.com.
Explica el modelo de grafo de audio: el AudioContext, los nodos y sus conexiones, y la carga y decodificación de sonidos en AudioBuffer. Después trata la planificación precisa de sonidos y la automatización de parámetros (AudioParam), el control de volumen y la detección de saturación con GainNode, el crossfade de igual potencia entre pistas y la variación de tono y frecuencia. También cubre los osciladores (OscillatorNode), los filtros con BiquadFilterNode y su respuesta en frecuencia, los efectos de sala con ConvolverNode y respuestas al impulso, y la espacialización 3D con PannerNode. En la parte de análisis usa AnalyserNode y Canvas 2D para la visualización, y ScriptProcessorNode para el procesamiento a medida. Por último, integra la API con el elemento audio, el micrófono mediante getUserMedia y la Page Visibility API.
La práctica consiste en una colección de demos interactivas que acompañan cada capítulo: un ritmo de batería que demuestra la precisión del temporizador, un mezclador con crossfade, una lista de reproducción con fundidos, un medidor de saturación, un filtro paso bajo ajustable, un trémolo con LFO, disparos generados de forma procedural, un visualizador de espectro y audio espacializado en 2D, entre otras. Es una introducción clara y compacta, ideal para entender los conceptos. Su punto débil es la antigüedad del código: usa prefijos como webkitAudioContext y métodos que luego se renombraron (noteOn en lugar de start), y ScriptProcessorNode fue reemplazado por AudioWorklet, así que conviene contrastar los ejemplos con la especificación actual del W3C.
- Web Audio API
- AudioContext
- Grafo de audio
- Planificación de sonidos
- GainNode
- Osciladores
- Filtros Biquad
- ConvolverNode
- Audio espacial 3D
- AnalyserNode
- Visualización con Canvas
- getUserMedia
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

