Real-time audio frequency spectrum analyzer and visualizer. View frequency bars, waveform, and spectral display. Supports microphone input and file playback with multiple color themes.
See what your audio looks like in the frequency domain. Upload a file or use your microphone and watch a real-time spectrum analyzer, spectrogram, or waveform display. The visualizer breaks the audio signal into its component frequencies so you can identify dominant pitches, spot noise, and understand the tonal characteristics of any sound.
Initializing in your browser…
Generate beautiful waveform visualizations from audio files. Choose from bars, mirror, line, or circular styles. Customize colors and export as PNG.
Generate pure audio tones with sine, square, sawtooth, and triangle waveforms. Create multiple oscillators, binaural beats, and export as WAV.
Detect the tempo (BPM) of any audio file. Includes tap tempo feature and genre reference guide.
You suspect a recording has a constant electrical hum and want to confirm and locate it.
Input
recording.wav · real-time FFT spectrum
Result
A sharp persistent spike at ~50 Hz → mains hum confirmed
An FFT shows energy per frequency, so a narrow constant spike at 50/60 Hz is unmistakable mains interference rather than something you guess at. Seeing the exact frequency tells you precisely what to notch out.
See what your audio looks like in the frequency domain. Upload a file or use your microphone and watch a real-time spectrum analyzer, spectrogram, or waveform display. The visualizer breaks the audio signal into its component frequencies so you can identify dominant pitches, spot noise, and understand the tonal characteristics of any sound.
Identify unwanted frequencies like hum at 50/60 Hz or high-pitched whine in a recording.
Visually verify pitch by watching the fundamental frequency readout.
Observe how different sounds, instruments, and voices distribute energy across the frequency spectrum.
The Audio Frequency Visualizer decodes your uploaded audio file in the browser with the Web Audio API's decodeAudioData, then plays it back through an AudioBufferSourceNode wired into an AnalyserNode whose FFT output drives a live 800x400 canvas animation. It offers four rendering modes selected by the buttons at the top: Bars (a classic spectrum where bass sits on the left and treble on the right), Waveform (the raw amplitude trace of the signal over time), Circular (the same band energies arranged as radial spokes around a center disc, intended for music-video style visuals), and Spectrogram (a scrolling time-frequency map where the canvas slides left and brightness encodes the energy in each band). Bars and Spectrogram read the spectrum via getByteFrequencyData, while Waveform and Circular read the time-domain signal via getByteTimeDomainData, so the two pairs are showing genuinely different things, not just restyled versions of one analysis.
The amount of detail you see is governed by the AnalyserNode's fftSize, which the tool sets to 2048 in Spectrogram mode (1024 raw frequency bins) and 256 in every other mode (128 bins) - a deliberate tradeoff, since the larger FFT in the spectrogram resolves finer frequency structure while the smaller 256-point FFT keeps the bar, waveform, and circular modes responsive. Three sliders in the Settings panel let you tune the display: Bar Count from 16 to 128 in steps of 8 (default 64), which controls how many bands the raw bins are averaged down into; Smoothing from 0 to 0.99 (default 0.80), which is passed straight to smoothingTimeConstant so higher values average each frame with the previous one for a calmer, less jittery display; and Sensitivity from 0.5x to 3.0x (default 1.0x), a gain multiplier that scales bar height and brightness so quiet passages still register. The Spectrogram mode always collapses its bins into a fixed 64 bands regardless of the Bar Count slider, and retains roughly the last 400 vertical slices (width/2 at 2px each) before they scroll off the left edge.
Six color themes change how energy maps to color: Rainbow spreads hue across the bands ((index/total)*360); Ocean Blue and Matrix Green hold a fixed hue (210 and 120) while pushing saturation and lightness up with loudness; Fire shifts hue from red toward yellow (0-60) as a band gets louder; Purple Haze sweeps a narrow purple band (hue 270-300) while also raising saturation and lightness with loudness; and Neon Glow cycles a fixed hex palette (#ff00ff, #00ffff, #ff00ff, #00ff00, #ffff00) by bar index. Bars are drawn with rounded tops (roundRect corner radii 4,4,0,0), a vertical gradient, and a soft glow shadow; the circular mode caps each spoke with a rounded line and overlays a dark inner disc. This is a real-time, on-screen analyzer with seek, pause, and resume - playback position is tracked against the AudioContext clock (currentTime minus the recorded start time) so you can scrub and resume where you left off - but it does not export an image or video file; everything runs live as the audio plays. Decoding and playback happen entirely client-side in the AudioContext, so the audio file is never uploaded to a server.
FFT size determines frequency resolution. Larger sizes give finer frequency detail but slower time response. Smaller sizes respond faster but blur closely spaced frequencies together.
Yes. Grant microphone permission when prompted and the visualizer will display your live input.
Audio is decoded and processed locally with the Web Audio API. Your files are never uploaded to a server.