10 min de lecturaWebAssembly, FFmpeg, Web Audio API, Técnico
Cómo procesamos el audio en tu navegador: FFmpeg.wasm, Web Audio y modelos locales
Así funciona everyaudiotool por dentro: vista previa con Web Audio, exportación con FFmpeg en WebAssembly y modelos de IA que se ejecutan en tu dispositivo.
La mayoría de webs de herramientas de audio suben tu archivo a un servidor, lo procesan y te devuelven el resultado. Nosotros hacemos casi todo en tu navegador. Es más privado (tu audio no sale de tu equipo), más barato de mantener y, bien hecho, más rápido. Así funciona por dentro.
Dos motores para dos trabajos
- Web Audio API para escuchar: mientras mueves una barra, el sonido cambia al instante. El archivo se reproduce en un
<audio>conectado a una cadena de nodos (filtros, retardos, convolución para la reverb, un worklet para el tono). - FFmpeg.wasm para exportar: FFmpeg compilado a WebAssembly decodifica cualquier formato y codifica el resultado en MP3, WAV, FLAC, OGG o M4A. Se ejecuta en un Web Worker para que la página no se congele.
Que lo que oyes sea lo que descargas
El riesgo de tener dos motores es que la vista previa y el archivo final no suenen igual. Lo resolvemos de dos formas. En los efectos, cada cadena de Web Audio imita los filtros que aplica FFmpeg al exportar (mismas frecuencias, mismas pendientes, la misma respuesta de reverb). Y en lo que se genera en el navegador —instrumentos, cajas de ritmos, el cambiador de voz, el laboratorio— renderizamos la misma cadena en un OfflineAudioContext y FFmpeg solo codifica el resultado.
Modelos de IA en el dispositivo
La separación de voz (Demucs), la transcripción (Whisper) o el texto a voz (Kokoro) usan modelos que se descargan una vez desde servidores públicos y se ejecutan con ONNX Runtime Web, en WebGPU cuando está disponible y en WebAssembly si no. La primera vez tarda más; después, los archivos quedan en la caché del navegador.
Carga diferida y memoria
- Nada se carga hasta que hace falta: el núcleo de FFmpeg (unos 30 MB) y los modelos solo se descargan al pulsar el botón de una herramienta que los usa.
- Un worker por trabajo: cada proceso vive en su propio worker; al cancelar se termina y la memoria se libera de golpe.
- Límites honestos: 100 MB y 10 minutos por archivo. Por encima, un navegador en un móvil puede quedarse sin memoria.
La excepción: YouTube
El navegador no puede leer los vídeos de YouTube directamente, así que YouTube to MP3 pide la pista de audio original a nuestro servidor. La conversión a MP3 sigue haciéndose en tu dispositivo.
Sigue leyendo
7 min de lectura
Cómo convertir M4A a MP3 (notas de voz del iPhone a MP3)
Por qué el iPhone graba en M4A, cuándo conviene pasarlo a MP3 y cómo hacerlo gratis en el navegador sin perder calidad apreciable.
6 min de lectura
Daycore: lo contrario del nightcore (más lento y más grave)
Qué es el daycore o nightcore reverse, por qué suena tan melancólico y cómo crearlo en un minuto con los ajustes adecuados.
7 min de lectura
MP3, FLAC o WAV: qué formato de audio usar en cada caso
Comparamos calidad, tamaño y compatibilidad de los tres formatos más usados para que elijas bien al exportar, archivar o compartir.