Analizador de Espectro
Visualiza el espectro de frecuencias con FFT a 60 fps. Curva, barras o forma de onda. Graba la animación en MP4 o WebM. Todo en tu navegador.
Acerca de este analizador de espectro
Un analizador de espectro convierte la señal del dominio del tiempo que escuchas en una imagen del dominio de la frecuencia que puedes leer. En vez de graficar amplitud frente al tiempo, dibuja magnitud frente a frecuencia, revelando exactamente qué tonos, armónicos y componentes de ruido están presentes en cada instante. Esta herramienta funciona enteramente dentro de tu navegador usando la Web Audio API y la librería de extracción de características Meyda, así que tus archivos de audio nunca salen del dispositivo. Las mismas técnicas las usan los sistemas de medición profesionales de Audio Precision, Rohde & Schwarz y Stanford CCRMA, adaptadas aquí para uso libre y sin instalación.
La herramienta acepta prácticamente cualquier contenedor que el navegador pueda decodificar: MP3, WAV, FLAC, OGG, M4A, OPUS, AAC, además de archivos de vídeo (MP4, MOV, AVI, MKV) de los que extraemos la pista de audio mediante ffmpeg.wasm. Una vez decodificado, el búfer pasa por un AnalyserNode que calcula una FFT en tiempo real sobre ventanas solapadas. El resultado se renderiza como curva de espectro suave, barras verticales clásicas o forma de onda en el dominio temporal, todo movido por requestAnimationFrame para conseguir 60 fps estables.
Los ingenieros de sonido — desde estudios de flamenco en Sevilla hasta productores de salsa en San Juan — usan el análisis de espectro al mezclar o masterizar: con un vistazo se ve si el bombo tiene la fundamental esperada en 60–80 Hz, si la voz se sitúa en la banda de presencia 2–5 kHz, o si se está acumulando turbidez en 200–400 Hz. Los músicos lo usan para verificar la afinación, los profesores para demostrar armónicos, los podcasters para detectar zumbido de red eléctrica a 50 Hz, y los acústicos para investigar modos de sala cuando hay un micrófono calibrado. La herramienta también permite grabar un vídeo de la animación del espectro como WebM (VP9/VP8) o MP4 (H.264), útil para contenido en YouTube y visualizadores musicales.
Tres controles merecen atención. El suavizado (timeSmoothingConstant del FFT) promedia frames sucesivos: valores cerca de 0 dan una respuesta nerviosa que expone transitorios; valores cerca de 0,9 producen un visual tranquilo pero ocultan eventos cortos. El tipo de visualización alterna entre línea de espectro continua, barras discretas (estilo VU vintage de hi-fi) y la forma de onda cruda. Las herramientas de descarga permiten guardar capturas o grabaciones del espectro para tutoriales y publicaciones sociales. Todo el procesamiento es local, todo el resultado es tuyo, y no se recoge telemetría del contenido de audio.
Cómo funciona el analizador
El audio se decodifica con la Web Audio API a un búfer PCM de coma flotante de 32 bits a la frecuencia de muestreo nativa del archivo (típicamente 44,1 kHz o 48 kHz). El búfer se enruta a través de la cadena AudioBufferSourceNode → AnalyserNode → AudioContext.destination. El AnalyserNode se configura con fftSize = 2048 por defecto, generando 1024 bins de frecuencia que cubren de 0 Hz a Nyquist (sampleRate / 2). Cada bin representa por tanto sampleRate / fftSize ≈ 21,5 Hz a 44,1 kHz — el límite fundamental de resolución frecuencial de esta herramienta.
Antes del FFT, el AnalyserNode aplica una ventana de Blackman a cada frame. El enventanado atenúa los bordes del frame de análisis a cero, lo que evita la fuga espectral que provocaría una ventana rectangular cuando las frecuencias no caen exactamente en el centro de un bin. Otras opciones comunes en DSP — Hann, Hamming, Kaiser — equilibran la anchura del lóbulo principal y el rechazo de lóbulos laterales; Blackman es el predeterminado de Web Audio y una elección sensata de uso general.
Tras el FFT, el analizador devuelve muestras del dominio temporal (getByteTimeDomainData) para la vista de forma de onda, o datos de magnitud espectral en dBFS (getByteFrequencyData, escalado a 0–255 entre minDecibels = −100 dBFS y maxDecibels = −30 dBFS). Los frames sucesivos se suavizan con la fórmula: out[i] = α · prev[i] + (1−α) · current[i], donde α es la constante de suavizado. Es un filtro IIR de un solo polo cuya frecuencia de corte depende de α y de la tasa de frames.
El eje de magnitud mostrado es logarítmico en decibelios, lo que coincide con la audición humana. El eje de frecuencia puede ser lineal (espaciado uniforme en Hz, usado aquí para la línea de espectro) o logarítmico (coincide con las octavas musicales). En la vista de barras agrupamos bins en bandas perceptualmente significativas (sub-bass, bass, low-mid, mid, high-mid, treble, presence, brilliance) siguiendo convenciones habituales de mesa de mezclas. Magnitud frente a potencia es una fuente frecuente de confusión: aquí se muestra magnitud (proporcional a amplitud), por lo que un aumento de 3 dB corresponde aproximadamente a una relación de presión de 1,4×; si necesitas potencia (proporcional a energía), el mismo número se duplica.
Las capturas se exportan leyendo el canvas como PNG vía canvas.toBlob. Las grabaciones en vivo usan MediaRecorder sobre un stream capturado de canvas.captureStream(60), dando una captura real de pantalla a 60 fps sin software externo. Cuando se selecciona MP4, el WebM grabado se transcodifica a H.264 en el navegador con ffmpeg.wasm — un port de la librería ffmpeg compilado a WebAssembly. Es más lento que VP9 pero produce archivos compatibles con iOS, PowerPoint y la mayoría de editores legados.
Precisión y limitaciones
Esta herramienta da una imagen fiable del contenido espectral relativo, pero no puede medir el nivel absoluto de presión sonora (SPL en dB SPL) sin calibración. El micrófono o la interfaz que capturó originalmente el archivo tiene su propia respuesta en frecuencia, ganancia y suelo de ruido, y nada de eso se puede recuperar tras el hecho. Trata el eje dB como decibelios respecto a fondo de escala (dBFS), no dB SPL. Para obtener dB SPL necesitas un micrófono de medida clase 1, una fuente de referencia conocida (típicamente un pistonófono de 94 dB SPL) y calibración offline en una aplicación de metrología, no una herramienta de navegador.
La precisión en frecuencia está acotada por la anchura de bin: a 44,1 kHz con fftSize 2048, dos tonos separados menos de ~22 Hz no pueden resolverse como picos distintos. Es la inversa del compromiso tiempo-frecuencia tipo Heisenberg. Si necesitas mejor resolución, aumenta fftSize a costa de actualización más lenta; si necesitas mejor resolución temporal (detección de transitorios), reduce fftSize. La constante de suavizado añade más promediado temporal, deseable para una visualización tranquila pero oculta eventos cortos; ponla a 0 cuando busques clics o pops.
- No mide SPL absoluto (dB SPL) sin micrófono calibrado y señal de referencia — las lecturas son solo dBFS.
- La resolución frecuencial está limitada a sampleRate ÷ fftSize ≈ 21,5 Hz a 44,1 kHz / FFT 2048.
- El AnalyserNode de Web Audio aplica una ventana Blackman fija; quien necesite otras debe usar librerías DSP offline.
- Formatos con compresión con pérdida agresiva (MP3 a baja tasa, AAC) pierden detalle en altas frecuencias y pueden mostrar artefactos del codificador.
- Los decodificadores del navegador pueden remuestrear frecuencias no estándar (p. ej. 96 kHz) a la tasa del AudioContext, ocultando contenido ultrasónico.
- La animación corre a 60 fps; transitorios muy rápidos (menos de ~17 ms) pueden caer entre frames.
Glosario
- FFT (Transformada Rápida de Fourier)
- Algoritmo eficiente O(N log N) para calcular la Transformada Discreta de Fourier, que descompone una señal de longitud finita en suma de sinusoides complejas a frecuencias igualmente espaciadas.
- Bin de frecuencia
- Una de las N/2 ranuras de frecuencia producidas por una FFT de N puntos, cada una centrada en k × sampleRate / N para k entero. La anchura del bin es sampleRate / fftSize.
- Frecuencia de Nyquist
- La mitad de la frecuencia de muestreo. La frecuencia más alta que puede representarse sin ambigüedad en una señal digital; el contenido por encima se pliega como aliasing al grabar.
- dBFS (decibelios fondo de escala)
- Referencia de nivel digital donde 0 dBFS es el valor máximo representable (típicamente un pico de ±1,0 en flotante 32 bits o ±32767 en 16 bits). Todos los valores son negativos; el suelo de ruido de una grabación limpia a 16 bits ronda −96 dBFS.
- Magnitud vs. potencia
- Magnitud es |X(f)|; potencia es |X(f)|². Un aumento de 3 dB equivale a una relación de potencia de 2× pero una de magnitud de √2 ≈ 1,41×. Esta herramienta muestra magnitud.
- Enventanado (windowing)
- Multiplicar el frame de análisis por una función de pesos atenuante (Hann, Hamming, Blackman, Kaiser…) antes del FFT para suprimir la fuga espectral de los bordes.
- Espectrograma
- Gráfico bidimensional de magnitudes FFT a lo largo del tiempo: frecuencia en el eje vertical, tiempo en el horizontal, intensidad codificada por color. Está estrechamente relacionado con la vista de espectro pero desplegado en el tiempo.
- Frecuencia de muestreo
- Número de muestras de audio capturadas por segundo, expresado en Hz. Calidad CD es 44,1 kHz; pro audio es 48 kHz, 96 kHz o 192 kHz.
Preguntas Frecuentes
¿Qué formatos de audio se admiten?
Todos los formatos que tu navegador pueda decodificar: MP3, WAV, OGG, AAC, M4A, FLAC, OPUS, además de contenedores de vídeo (MP4, MOV, MKV, AVI) de los que se extrae automáticamente el audio. La decodificación ocurre por completo en tu navegador mediante la Web Audio API.
¿Para qué se usa un analizador de espectro?
Comprobaciones de mezcla y masterización, afinación de instrumentos, investigación de modos de sala, búsqueda de zumbido de red (50/60 Hz) y armónicos, comparación de dos grabaciones, demostración de análisis de Fourier en el aula, construcción de visualizadores musicales para vídeo, y control de calidad de audio en radiodifusión o pódcast.
¿Qué tamaño de FFT usa la herramienta?
El fftSize por defecto es 2048, que da 1024 bins de frecuencia y ≈21,5 Hz de resolución a 44,1 kHz. El AnalyserNode de Web Audio admite cualquier potencia de 2 entre 32 y 32768; la herramienta elige 2048 como equilibrio entre resolución, latencia y carga de CPU.
¿Qué hace el deslizador de suavizado?
Controla el timeSmoothingConstant del AnalyserNode: un filtro IIR de un solo polo sobre frames sucesivos del FFT. 0,0 muestra el espectro frame a frame en bruto (útil para transitorios, aspecto más nervioso); 0,8–0,9 produce una visualización tranquila apta para música; 1,0 congela la pantalla.
¿En qué se diferencian Espectro, Barras y Forma de onda?
Espectro es una curva continua de 0 Hz a Nyquist. Barras agrupa bins en bandas perceptuales como sub-bass / bass / mid / treble / presence — visualmente como un equipo hi-fi clásico. Forma de onda muestra la señal cruda en el dominio del tiempo y sirve para detectar clipping, offset DC o asimetría.
¿Puedo medir dB SPL?
No. La pantalla está en dBFS (decibelios respecto al fondo de escala digital). Medir SPL real requiere un micrófono de referencia calibrado (p. ej. Earthworks M30, B&K 4189), una fuente acústica conocida y software de metrología. Las herramientas de navegador no pueden hacerlo, pero para comparación relativa y análisis de forma, dBFS funciona bien.
¿Por qué mi espectro está vacío por encima de 16 kHz?
Lo más probable es que tu archivo sea un MP3 o AAC de baja tasa; los códecs con pérdida cortan agresivamente las frecuencias altas (a menudo un paso bajo abrupto a 16 kHz para MP3 a 128 kbps). Prueba con un WAV o FLAC del mismo origen. También puede indicar que la grabación original ya estaba limitada en banda.
¿Qué exporta la captura/grabación?
La captura guarda un PNG del canvas actual a resolución completa. La grabación captura la animación en vivo como WebM (VP9 mejor calidad, VP8 mayor compatibilidad) o la transcodifica a MP4 (H.264) usando ffmpeg.wasm en el navegador. El audio se mezcla con el vídeo, listo para subir a YouTube o redes sociales.
¿Se sube mi audio a algún sitio?
No. Decodificación, FFT, renderizado y grabación ocurren todos localmente en tu navegador. Ningún byte de tu audio sale de tu dispositivo. La página usa analítica estándar para conteos de tráfico solamente.
¿Por qué el espectro se ve diferente en mi DAW?
Los DAW suelen aplicar ponderación A o K, FFT más largos o suavizado psicoacústico. Pueden mostrar RMS por banda en vez de pico. Usa esta herramienta para comprobaciones rápidas y comparación de forma; usa un analizador de DAW calibrado (FabFilter Pro-Q, Voxengo SPAN, iZotope Insight) para decisiones de masterización.
Referencias y lecturas adicionales
- W3C Audio Working Group. (2021). Especificación Web Audio API (W3C Recommendation) World Wide Web Consortium.
- Smith, J. O.. (2007). Mathematics of the Discrete Fourier Transform (DFT), with Audio Applications Stanford CCRMA / W3K Publishing.
- Sector de Radiocomunicaciones de la UIT. (2023). ITU-R BS.1387-2: Method for objective measurements of perceived audio quality (PEAQ) Unión Internacional de Telecomunicaciones.
- IEEE Instrumentation and Measurement Society. (2017). IEEE Std 1057-2017: Standard for Digitizing Waveform Recorders IEEE.
- Harris, F. J.. (1978). On the use of windows for harmonic analysis with the discrete Fourier transform Proceedings of the IEEE.
Last reviewed: · Reviewed by Equipo de Ingeniería de Audio de WuTools
