Written by Nance | Last updated: June 2026
What This Page Explains
This page documents the complete methodology behind the Vocal Range Finder on VocalRangeFinder.com — what the tool measures, how the detection and tracking pipeline works step by step, what accuracy it achieves, and what it cannot determine. This is the most technically detailed page on this site. For plain-language answers about what your range result means, see the FAQ.
The Four Components of Vocal Range Measurement
Measuring a singer’s vocal range in a browser requires four distinct operations:
- Pitch detection — identifying the fundamental frequency of each sustained note
- Note confirmation — accepting a pitch as a confirmed note only when it meets duration and consistency criteria
- Range tracking — recording the lowest and highest confirmed notes across the full session
- Classification mapping — comparing the measured range against voice type classification boundaries
Each is documented in full below.
Voice Type Range References
Before documenting the pipeline, the classification boundaries the tool uses:
| Voice Type | Typical Singing Range | Approx. Hz Range |
|---|---|---|
| Bass | E2–E4 | 82–330 Hz |
| Baritone | A2–A4 | 110–440 Hz |
| Tenor | C3–C5 | 131–523 Hz |
| Alto | F3–F5 | 175–698 Hz |
| Mezzo-soprano | A3–A5 | 220–880 Hz |
| Soprano | C4–C6 | 262–1,047 Hz |
These boundaries overlap — a baritone’s upper range overlaps with a tenor’s lower range; a mezzo’s range overlaps with both alto and soprano. This overlap is real and documented: it is why range measurement alone cannot definitively classify a voice type.
Step 1 — Microphone Permission and MediaStream Capture
The browser requests microphone permission via getUserMedia(). Once granted, a live MediaStream is opened at the system’s native sample rate — typically 44,100 Hz or 48,000 Hz — and connected to a MediaStreamAudioSourceNode within an AudioContext.
The microphone stream is never recorded, never stored in any persistent form, and never transmitted over the network. For full details on audio data handling, see the Data Security page.
Step 2 — Real-Time F0 Detection
The MediaStreamAudioSourceNode feeds into an AnalyserNode for FFT spectral analysis and simultaneously into the YIN autocorrelation pipeline for fundamental frequency detection.
FFT configuration:
| Parameter | Value | Effect |
|---|---|---|
| FFT size | 2048 samples | Frequency resolution ~21.5 Hz per bin |
| Analysis rate | ~23 ms per frame | Real-time update rate |
| Smoothing | 0.8 | Reduces display jitter |
YIN autocorrelation computes the difference function of the signal and its delayed copy across a range of lag values:
d(τ) = Σ [x(t) − x(t + τ)]²
The lag τ at which d(τ) reaches its first local minimum below threshold identifies the fundamental period. F0 is:
F0 (Hz) = Sample rate ÷ Lag at minimum d(τ) (samples)
Worked example: If the minimum of the difference function is found at lag 200 samples at 44,100 Hz:
F0 = 44,100 ÷ 200 = 220.5 Hz ≈ A3
The lag search is bounded to the full singing range:
Minimum lag = 44,100 ÷ 1,050 ≈ 42 samples (C6)
Maximum lag = 44,100 ÷ 80 ≈ 551 samples (E2)
This covers the full span from bass to soprano — approximately E2 (82 Hz) to C6 (1,047 Hz).
Step 3 — Musical Note Mapping
The detected F0 is mapped to the nearest musical note using the equal temperament formula:
Semitones from A4 = 12 × log₂(F0 ÷ 440)
Worked example for F0 = 220.5 Hz:
Semitones from A4 = 12 × log₂(220.5 ÷ 440) = 12 × (−1.0) ≈ −12
−12 semitones from A4 = A3.
Cents deviation:
Cents = 1,200 × log₂(220.5 ÷ 220) ≈ +3.9 cents
Display: A3 (+4 cents)
Step 4 — Note Confirmation Logic
A single analysis frame is not sufficient to confirm a note in the session range. The tool requires that a detected note be sustained consistently — within ±25 cents of the same pitch — for a minimum duration of approximately 300–500 ms before it is accepted as a confirmed note.
Why confirmation matters:
- It filters out brief pitch glides, registration breaks, and transitional phonation
- It ensures the session range reflects notes the singer can actually sustain, not momentary excursions
- It prevents ambient noise from registering false confirmed notes
The confirmation threshold is a deliberate methodological choice: the range displayed by the tool represents genuinely producible notes, not the extreme edges of momentary phonation ability.
Step 5 — Session Range Tracking
Once a note is confirmed, the session tracks:
- Lowest confirmed note — updated whenever a new confirmed pitch falls below the previous lowest
- Highest confirmed note — updated whenever a new confirmed pitch exceeds the previous highest
The session accumulates across the full measurement session. Singers are guided to:
- Begin from the lowest comfortable speaking pitch
- Descend gradually to their lowest sustainable note
- Return to the middle of the range
- Ascend gradually to their highest sustainable note — including head voice or falsetto
At the end of the session, the range is expressed as:
- Lowest and highest confirmed notes by name (e.g. A2 to G4)
- Span in semitones (e.g. 22 semitones)
- Span in octaves (e.g. 1 octave + 10 semitones ≈ 1.83 octaves)
- Hz values of the lowest and highest confirmed notes
Step 6 — Voice Type Classification Mapping
The measured range is compared against the six standard voice type classification boundaries. The classification considers:
- Where the lowest confirmed note sits relative to the lower boundaries of each type
- Where the highest confirmed note sits relative to the upper boundaries
- Whether the overall range span is consistent with the expected span for each type
Where the measured range falls within the overlapping zone of two adjacent types — for example, a range of B2–B4 overlapping baritone and tenor — the tool presents both possibilities and explicitly states that passaggio assessment by a professional teacher is required to distinguish them.
The result displays:
- The measured range in note names and Hz
- The voice type classification(s) the range corresponds to
- The reference boundaries used for comparison
- A clear statement of what the measurement cannot determine
Measurement Accuracy
Under typical conditions — a quiet room, a warmed-up voice, and a functional consumer microphone — the tool achieves note-level accuracy of approximately ±1–2 semitones at the extremes of range.
Accuracy is limited by:
Consumer microphone low-frequency roll-off. Built-in laptop microphones attenuate signals below approximately 100–150 Hz. Bass and baritone voices testing notes below E2–G2 may find the lowest notes fail to confirm reliably.
Falsetto vs full voice distinction. The tool detects F0 regardless of register. A note sung in falsetto and a note in full head voice at the same pitch are both confirmed. The tool cannot distinguish register quality — a full Fach classification requires a teacher.
Vocal fatigue and warm-up state. A cold or fatigued voice produces a narrower confirmed range than the same voice fully warmed up. For the most representative measurement, test after a thorough warm-up.
Session duration and thoroughness. The tool only confirms what is actually sung. Notes at the extremes that are not tested do not appear in the range. A thorough session that explores both ends of the range gives a more accurate result than a brief one.
What This Tool Cannot Determine
Passaggi (register transition points) The locations of the transitions between chest, mixed, and head voice — critical for definitive voice type classification — cannot be detected by browser-based pitch measurement. They require a trained teacher listening live.
Tessitura The part of the range where the voice sits most comfortably and resonantly for extended singing cannot be determined from a range session. It requires sustained singing of repertoire over time.
Vocal timbre and weight Whether a voice is lyric, dramatic, light, or spinto — the sub-categories within each Fach type — requires qualitative assessment that this tool cannot provide.
Clinical vocal health information Unusual range limitations, unexplained gaps in range, or significant asymmetry between registers may indicate vocal fold conditions. This tool is not a clinical instrument. For concerns about vocal health, consult a qualified laryngologist or speech-language pathologist.
Related Pages
- FAQ — plain-language answers about range results and voice type questions
- Troubleshooting — what to do if notes are not confirming, range seems narrow, or the tool fails to detect
- Data Security — how microphone audio is processed and why it never leaves your device
- About VocalRangeFinder.com — who runs this site and why it was built
Written by Nance, founder of VocalRangeFinder.com. Last updated: June 2026.