Create a precise test tone at any frequency and waveform — for speaker testing, hearing checks, calibration, or sound design. No file needed to start.
The Tone Generator creates pure test tones and sweeps. Make a 1 kHz reference tone for checking levels, a 50 Hz tone to test a subwoofer, an A440 tuning note, or a 20 Hz–20 kHz sweep to find resonances and test speakers.
Square, sawtooth and triangle waves are built with band-limited (PolyBLEP) oscillators, so there is far less aliasing — the false, inharmonic tones naive generators produce at high frequencies.
Sine is computed directly from a phase accumulator. Square and sawtooth use PolyBLEP, which corrects the discontinuity at each wave edge with a small polynomial, greatly reducing aliasing. Triangle is computed directly from the phase; its harmonics fall off as 1/n², so aliasing is negligible. Sweeps use exact phase accumulation: logarithmic φ(t) = 2πf₀T/ln(f₁/f₀)·(e^{t ln(f₁/f₀)/T} − 1), linear φ(t) = 2π(f₀t + (f₁−f₀)t²/2T), so there are no zipper artefacts. A 4 ms fade in and out prevents clicks. The note readout converts the frequency to the nearest pitch and cents.
Find resonances with a sweep.
Use a 1 kHz reference tone.
Generate reference pitches.
Check how low or high you can hear.
| Waveforms | Sine, square, sawtooth, triangle (band-limited) |
|---|---|
| Range | 1 Hz–20 kHz (sweep to 22 kHz) |
| Duration | 0.5–60 s |
| Sample rate | 44.1 kHz |
A tone that glides from one frequency to another.
It is the standard reference frequency for level tests.
Sine is the purest single-frequency tone (best for hearing tests and calibration). Square, triangle and sawtooth contain additional harmonics, which is why they sound 'buzzier' — useful for testing speaker response or basic synthesis.
It can help you explore your general frequency range, but it isn't a substitute for a calibrated clinical hearing test — your device's speaker/headphones and volume level both affect what you actually hear.
This tool runs entirely in your browser using the Web Audio API. Nothing is uploaded, stored or shared — there is no server to send your file to, so it works offline once the page has loaded.
Be the first to share your experience with this tool — your feedback helps others.