Skip to content

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.

Your microphone never leaves this page

↑ Pitch
quietloud
20 Hz
50 Hz
100 Hz
200 Hz
500 Hz
1 kHz
2 kHz
5 kHz
10 kHz
20 kHz
Time →
One plucked guitar string: the note itself, and the overtones stacked above it. Every pixel here was computed by this page’s own transform.

How to read the picture

Left to right is time

The picture is drawn one thin column at a time, the way a seismograph draws. The right-hand edge is the newest sound.

Bottom to top is pitch

Low rumbles sit at the bottom, hiss and cymbals at the top. A note that slides upwards draws a line that climbs.

Bright means loud

A bright band is a strong tone; dark is silence at that pitch. One plucked guitar string draws a whole stack of stripes — the note itself, plus the overtones above it that make it sound like a guitar and not a flute.

Three things to try

The one idea worth taking away

You cannot know exactly when a sound happened and exactly what pitch it was, both at once. Measuring a low note takes time — you have to watch several of its cycles go by — so the sharper the pitch, the blurrier the timing. Drag the detail control and you can watch the picture trade one for the other. It is the same mathematics as Heisenberg’s uncertainty principle, not a limitation of this page.

Start listening

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.