See what sound looks like
Every sound is a stack of pure tones. Play one of the samples, or whistle into your microphone, and watch this page pull the tones apart and paint them as they arrive.
The noteThe brightest line, at 196 Hz. That is the pitch you hear.
Its overtonesEvenly spaced lines above it. They are why a guitar sounds like a guitar and not a flute.
The fadeHigh overtones die first, which is why a note mellows as it rings.
The one idea worth taking away
You can have sharp timing or sharp pitch
One sound, analysed three ways: two steady notes close together, and a click every half second. The cyan bump above each picture is the window — how much sound goes into one column — drawn to the same time scale. A short window catches the clicks and blurs the notes into one band. A long one splits the notes and smears the clicks. It is the same mathematics as Heisenberg’s uncertainty principle, not a limitation of this page.
Sharp timing
Each click is a thin vertical line. The two notes blur into one wide band.
Balanced
Clicks and notes are both readable, and neither is crisp.
Fine pitch
The two notes are two clean lines. Each click smears across its window.
Three ways in
Look, build, then check
See sound
Play a guitar note, a chord, a drum hit, or your own voice, and watch the picture build as it happens.
Start listeningBuild a sound
Stack pure tones with sliders, hear the result, and check that the picture finds exactly the tones you put in.
OpenCheck the maths
Run our transform beside the browser’s own on the same sound, and see how far apart the two answers are.
OpenTwo claims you can check
Private by construction, correct by test
0network requests after the page loads
4independent correctness checks on the transform
0audio or maths libraries. The FFT is written from scratch.
Your microphone never leaves this page
Once loaded, this page makes no network requests at all — no analytics, no error reporting, nothing. Sound is analysed inside this tab and thrown away. The sample sounds are generated by code rather than downloaded, and a test in the repository fails the build if a single network call is ever added.
Written by hand, on purpose
Browsers already ship a Fourier transform, and a spectrogram built on top of it takes ten lines and teaches nobody anything. The transform here is written from scratch — the same Cooley-Tukey algorithm from 1965 — and checked four independent ways: against the textbook definition, against a conservation law, by running it backwards, and against signals whose answers are known in advance.
Check the maths →