Device test · Audio
Vocal Range Test
Sing or hum down as far as you comfortably can, then up, and this page records the lowest and highest note it was willing to stand behind: the two note names, the span between them in semitones and octaves, and the clarity and the number of separate times each end was held. It refuses rather than guesses — silence, sound with no steady period, and anything landing outside 60–1600 Hz each get a refusal that says which measurement failed, and a refused window never touches the range. Audio stays on this device and nothing is uploaded.
This page listens and plays no sound. If you want a reference to step down and up against, that is the Tone Generator's job — it states its level and duration and carries the hearing-safety copy that belongs with them. Nothing here needs you to match a given pitch, so working without one is fine.
Idle. Press start, allow the microphone, then sing or hum one steady note at a time — an end of the range fills in once 5 consecutive measurement windows agree with each other.
| End | Frequency | Cents | Clarity | Times held |
|---|---|---|---|---|
| Lowest | — | — | — | — |
| Highest | — | — | — | — |
Both ends hold since you started or last cleared — they are the extremes of the run, not of the last second — and “times held” counts the separate occasions a note cleared the gate, never animation frames, because a frame count would be a figure about your display rather than about your singing.
Processing state is reported once the microphone is open.
Sample rate is reported once the microphone is open.
Level is RMS in dBFS — relative to digital full scale, not loudness. A browser has no calibrated reference, so nothing here is a sound pressure measurement, and clarity is a periodicity statistic rather than a mark for how a note sounds.
How this test works
When you press start, the browser asks for microphone access and hands this page a live audio stream. The stream feeds one Web Audio analyser, and on every animation frame the page reads the most recent 2,048-sample window and derives two things from that single window: the RMS level in dBFS, which is what the silence gate tests, and a dominant fundamental estimate — a frequency in hertz plus the clarity figure that backs it. Both readings come from the same samples, so the level you can see and the note derived from it are two views of one measurement rather than two measurements free to disagree. The estimator is the one Pitch Detector uses, in the same shared file rather than in a second copy of it, because that code carries several fixes for the ways this family of detector goes wrong and a copy would quietly un-fix them. Unprocessed audio is requested for every capture, because noise suppression is built to remove the steady tones it reads as background and a held sung note is exactly that; the line under the controls reports what the browser says it actually applied, which is not always what was asked for.
A frequency becomes a note by the standard mapping — A4 = 440 Hz, 12-tone equal temperament, sharps only, since D♯ and E♭ are one key and one frequency. Nothing is recorded until 5 consecutive windows have agreed within 50 cents of each other at a clarity of at least 0.80, so a scrape, a door, a consonant or the moment a slide passes through a note never becomes an end of the range. When a run does clear that gate, the page compares its frequency against the two ends it is holding and moves whichever one it beats; the span is then plain arithmetic on the two note names above — the semitone distance between them on that same grid, and that figure divided by twelve for the octaves — so the number you read and the names you read cannot disagree. Each end also carries the clarity it was accepted at and the number of separate runs that landed on that note, counted per acceptance rather than per frame for the same reason the clipping counter on the microphone test counts inspected windows: consecutive frames overlap or skip depending on the display, so a frame total would be a figure the instrument cannot stand behind. Refusals clear the live field and leave both ends exactly as they were.
The limits are worth stating plainly, and the first one is the biggest. This is a measurement of one run, not a verdict about your voice — it reports the notes one microphone accepted in one session, and it does not name a voice type, does not score anything, and cannot know whether you sang the lowest or highest note available to you. The failure class of this whole detector family is the octave error, and both ends of a sung range sit near it: a voice is harmonically rich, so its second partial can arrive stronger than its fundamental, which is the shape the detector's depth check exists to catch, and above the ceiling there is no refusal left and a very high note is reported as some whole-number division of itself. The floor is set by the analysis window rather than by the band, so at studio sample rates it rises and the page prints the figure it is actually using. Everything before the arithmetic matters more than the arithmetic: a microphone's response is not flat and small capsules give up on low notes first, browsers apply processing this page can request off but cannot switch off, and a room adds reflections and noise of its own. Read the two ends together with the evidence beside them, and treat an end reached once at a clarity near the floor as a reason to sing it again.