
Instant Audio Processing with Web Audio
Chris Khoo
- Editorial
- Packt
- Año
- 2013
- Páginas
- ~76
- Nivel
- Intermedio
De qué trata
Título breve de la serie «Instant» de Packt (unas 76 páginas) en el que Chris Khoo enseña a usar la Web Audio API para crear efectos de audio en tiempo real en aplicaciones web y juegos HTML5. Se escribió en 2013, cuando la API todavía era un estándar emergente con soporte desigual entre navegadores. Está dirigido a desarrolladores con algo de experiencia en HTML y JavaScript que nunca han procesado audio en el navegador.
Está organizado como un recetario que va de lo más simple a lo más elaborado. Empieza por montar un servidor web local para servir los archivos de audio y por reproducir sonido en bucle con AudioContext y AudioBuffer. Luego controla el volumen con nodos de ganancia (GainNode) y automatiza parámetros en el tiempo con las funciones de programación de AudioParam. Construye un ecualizador de cinco bandas encadenando BiquadFilterNode y repasa otros procesadores que trae la API, como compresores, convolución y retardos. Al final usa el procesamiento por script para crear efectos en tiempo real como el empalme de loops (loop stitching) y el ducking, que baja automáticamente la música cuando suena otro audio.
No hay una aplicación completa: las recetas se van sumando a una capa de audio básica que se puede reutilizar en otros proyectos web o juegos. Es una introducción práctica y muy condensada al grafo de nodos de Web Audio, pero conviene saber que el código es anterior a la especificación definitiva: ScriptProcessorNode está obsoleto y hoy se usa AudioWorklet, algunos métodos han cambiado de nombre y los prefijos webkit ya no hacen falta. Tampoco trata la síntesis avanzada, la visualización con AnalyserNode en profundidad ni el Web MIDI.
- Web Audio API
- AudioContext
- AudioBuffer
- GainNode
- AudioParam
- BiquadFilterNode
- Ecualizador
- Loop stitching
- Audio ducking
- ScriptProcessorNode
- Audio para juegos HTML5
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

