📊 Analizador de Espectro FFT
Analizador de espectro FFT en tiempo real usando la Web Audio API. Visualiza señales sinusoidales, de ruido, diente de sierra y acordes en una escala de frecuencia logarítmica con amplitud en dB. Retención de picos, suavizado y forma de onda de osciloscopio.
Un analizador de espectro de frecuencia en tiempo real impulsado por el
AnalyserNode de la Web Audio API. Elige entre seis fuentes de audio integradas — ondas sinusoidales, ruido blanco y
rosa, diente de sierra, onda cuadrada y un acorde musical — y observa cómo sus huellas espectrales
aparecen al instante en un eje de frecuencia logarítmico con escala de amplitud en dB. Marcadores de retención de picos
y una franja de osciloscopio te dan una imagen completa de tiempo-frecuencia.
🔬 Qué Demuestra
La FFT (Transformada Rápida de Fourier) descompone cualquier señal en el dominio del tiempo en sus componentes de
frecuencia. Para una señal muestreada a una tasa fs con N muestras,
la FFT produce N/2 bandas de frecuencia, cada una abarcando fs/N Hz.
El AnalyserNode de la Web Audio API calcula una FFT con ventana usando una ventana de
Blackman para reducir la fuga espectral. Duplicar el tamaño de la FFT reduce a la mitad la resolución de frecuencia pero también
reduce a la mitad la resolución temporal — un compromiso fundamental entre tiempo y frecuencia.
🎮 Cómo Usarlo
Selecciona una fuente de audio de los botones de arriba. El espectro muestra frecuencia (20 Hz–20 kHz, escala logarítmica) frente a amplitud (dB). Para ondas sinusoidales, arrastra el deslizador de frecuencia para ver el único pico moverse. Cambia a diente de sierra para ver la fundamental más armónicos pares e impares. El ruido rosa muestra una caída de energía 1/f (~3 dB/octava). Aumenta el tamaño de la FFT para una resolución de frecuencia más fina al costo de actualizaciones más lentas. Activa Retención de Picos para rastrear niveles máximos.
💡 ¿Sabías Que?
La Transformada Rápida de Fourier (1965, Cooley y Tukey) redujo el cálculo de la DFT de O(N²) a O(N log N) — una FFT de 1024 muestras es ~100 veces más rápida que la DFT ingenua. Los ecualizadores de audio modernos, el reconocimiento de voz y la identificación musical (Shazam) se basan todos en el análisis FFT. El oído humano tiene una percepción de frecuencia aproximadamente logarítmica, por lo que los analizadores de espectro usan ejes de frecuencia logarítmicos.
Acerca del Analizador de Espectro FFT
Esta simulación convierte cualquiera de seis fuentes de audio en un espectro de frecuencia en vivo usando el AnalyserNode de la Web Audio API. La Transformada Rápida de Fourier descompone la forma de onda en el dominio del tiempo en componentes de frecuencia: para una tasa de muestreo fs y un tamaño de FFT N, devuelve N/2 bandas, cada una abarcando fs/N Hz. Las magnitudes se asignan a un eje de frecuencia logarítmico (20 Hz a 20 kHz) frente a una escala de amplitud en decibelios de -80 a 0 dB.
Los controles te permiten elegir una fuente (sinusoidal, ruido blanco, ruido rosa, diente de sierra, cuadrada o un acorde), barrer la frecuencia sinusoidal de 20 Hz a 8 kHz, elegir un tamaño de FFT de 512 a 4096 muestras, y ajustar el suavizado espectral de 0 a 0,95. Retención de Picos marca los máximos en curso mientras una franja de osciloscopio muestra la forma de onda cruda. El análisis de espectro sustenta ecualizadores de audio, reconocimiento de voz y herramientas de identificación musical como Shazam.
Preguntas Frecuentes
¿Qué es un analizador de espectro FFT?
Es una herramienta que muestra cuánta energía contiene una señal en cada frecuencia. La Transformada Rápida de Fourier convierte una forma de onda en el dominio del tiempo en un conjunto de bandas de frecuencia, y el analizador traza sus amplitudes. Aquí el resultado se dibuja en vivo como barras de colores a lo largo de un eje de frecuencia logarítmico.
¿Cómo genera sonido esta simulación?
Utiliza la Web Audio API. Los tonos sinusoidales, diente de sierra y cuadrados provienen de un OscillatorNode, el acorde superpone tres osciladores sinusoidales en La4, Do5 y Mi5, y las fuentes de ruido se rellenan mediante un ScriptProcessorNode. Todas las fuentes alimentan un nodo de ganancia conectado a un AnalyserNode, que realiza la FFT en cada fotograma.
¿Qué hacen realmente los controles?
Los botones de fuente eligen qué señal se analiza. El deslizador de frecuencia (20 Hz a 8 kHz) fija el tono de los sonidos sinusoidal, diente de sierra y cuadrado. El selector de tamaño de FFT cambia la resolución del análisis, y el deslizador de suavizado promedia fotogramas sucesivos. Pausa congela el dibujo y Retención de Picos rastrea el nivel más alto alcanzado en cada banda.
¿Qué cambia el tamaño de la FFT?
El tamaño de la FFT fija el número de muestras analizadas por fotograma: 512, 1024, 2048 o 4096. Un tamaño mayor produce más bandas de frecuencia y una resolución más fina (cada banda abarca fs/N Hz), pero cubre una ventana de tiempo más larga, por lo que la pantalla reacciona más lentamente. El panel de estadísticas muestra la cifra actual de Hz por banda.
¿Cuál es la ecuación clave detrás de esto?
La transformada discreta de Fourier es X[k] = suma sobre n de x[n] por e^(-i 2 pi k n / N). La FFT es un algoritmo rápido que calcula el mismo resultado en O(N log N) operaciones en lugar de O(N al cuadrado). La banda k corresponde a la frecuencia k por fs dividido entre N.
¿Por qué el eje de frecuencia es logarítmico?
La percepción humana del tono es aproximadamente logarítmica, de modo que cada octava duplica la frecuencia. Un eje logarítmico da el mismo espacio en pantalla a cada octava, coincidiendo con cómo oímos y facilitando comparar contenido grave, medio y agudo. Por eso las líneas de la cuadrícula caen en 20, 50, 100, 200, 500 Hz y así sucesivamente.
¿Qué hace el control de suavizado?
Fija el smoothingTimeConstant del AnalyserNode, un valor de 0 a 0,95 que mezcla el espectro actual con el anterior. Valores bajos dan una respuesta rápida y nerviosa que revela transitorios; valores altos producen una visualización más estable y promediada, más fácil de leer pero más lenta para reaccionar.
¿Por qué un diente de sierra muestra muchos picos pero una sinusoide solo uno?
Una onda sinusoidal pura contiene energía en una sola frecuencia, por lo que muestra un solo pico. Un diente de sierra es rico en armónicos, con componentes en cada múltiplo entero de la fundamental, por lo que aparece como una serie de picos de amplitud decreciente. Una onda cuadrada muestra de forma similar armónicos impares.
¿Cómo se calcula la frecuencia dominante?
En cada fotograma el código recorre todas las bandas, encuentra la de mayor magnitud y la convierte de nuevo a hercios usando banda por fs dividido entre el tamaño de la FFT. Ese valor se muestra como frecuencia dominante. La precisión está limitada por el ancho de banda, así que tamaños de FFT mayores dan una lectura más precisa.
¿Es la visualización físicamente precisa?
Sí, dentro de los límites de una demostración de navegador. El AnalyserNode realiza una FFT con ventana genuina y reporta magnitudes reales en decibelios. El espaciado de bandas, la estructura armónica y la caída del ruido rosa se comportan correctamente. Las amplitudes exactas de los picos dependen de la función de ventana interna y del suavizado elegido, así que trata las lecturas como indicativas y no como mediciones calibradas.
¿Dónde se usan los analizadores de espectro en el mundo real?
Son fundamentales en la ingeniería de audio, donde guían la ecualización y la mezcla, y en telecomunicaciones para examinar señales de radio. El mismo análisis FFT impulsa el reconocimiento de voz, el sonar, la monitorización de vibraciones y servicios de identificación musical como Shazam, que comparan grabaciones con una base de datos de huellas espectrales.
Analizador de espectro de frecuencia FFT en tiempo real usando la Web Audio API. Visualiza señales sinusoidales, de ruido, diente de sierra y acordes en una escala logarítmica con retención de picos.
3D · Renderizador Three.js / WebGL · Objetivo 60 FPS · funciona completamente en el cliente, sin instalación