Audio Spectrum Analyzer
Real-time FFT spectrum from your microphone with log / linear frequency axis, configurable FFT size, peak hold, A and C weighting, top-5 peak detection, and one-click PNG screenshot export. 100% browser-based — no audio leaves your device.
Top 5 spectral peaks
| # | Frequency | Magnitude | Musical note |
|---|---|---|---|
| Start listening to detect peaks. | |||
Controls
Tip: lower the smoothing to see fast transients; raise it for more stable peak readings. Use A-weighting for loudness-relevant displays, C-weighting for low-frequency analysis, Z for raw measurement.
About FFT Spectrum Analysis & Weighting
A real-time spectrum analyzer shows you how acoustic energy is distributed across frequency. Where a waveform shows you what your microphone hears as a function of time, a spectrum shows you what it hears as a function of frequency — useful for identifying tonal noise (mains hum, fan harmonics), checking instrument tuning, calibrating speakers, measuring background noise, or simply seeing your voice on screen.
How the FFT works (briefly)
The Fast Fourier Transform (FFT) decomposes a block of N time-domain samples into N/2 frequency-domain bins, each representing the energy in a narrow band of width sample_rate / N. Larger N → finer frequency resolution (e.g., 8192-bin FFT at 48 kHz → ~5.86 Hz per bin) but slower time response. Smaller N → coarser frequency resolution but quicker reaction. This calculator's default 8192 strikes a balance suitable for most music and speech work.
Logarithmic vs linear frequency axis
Human pitch perception is roughly logarithmic — each doubling of frequency is heard as one octave. A linear-axis spectrum crams the entire bass and mid range into the leftmost few percent of the screen while the unused 10–20 kHz region eats up most of the width. A logarithmic axis gives equal pixel-width to each octave, which is almost always what musicians, engineers, and acousticians want. Use linear only when you specifically need to see fine spacing of high-frequency tones (e.g., looking at sidebands around a 5 kHz carrier).
A-weighting and C-weighting
The human ear is not equally sensitive at all frequencies — at low and high extremes you need much more sound pressure to hear the same loudness. Standards bodies defined frequency-weighting filters that approximate this perception:
- A-weighting heavily attenuates frequencies below ~500 Hz and above ~10 kHz, roughly matching the human ear's response at conversational levels (~40 phon). dB(A) is the standard for occupational noise exposure (OSHA, EU noise directive), environmental noise monitoring, and most "loudness" measurements.
- C-weighting is nearly flat from 30 Hz to 8 kHz, only rolling off at the extremes. Used for high-level noise (impulse, peak), low-frequency analysis, and any case where the bass needs to be preserved.
- Z-weighting (sometimes called "flat" or "linear") applies no filter — the raw FFT magnitude. Use this for technical work where you want unmodified physical levels.
Peak hold
Peak hold draws the highest value each frequency bin has reached recently, with a configurable decay. It makes brief transients visible (a quick handclap, a single drum hit) that would otherwise vanish before you could read them. "Infinite" hold never decays — useful for capturing the maximum extent of a piece. Slow decay is the standard "professional" PA-system peak indicator.