Signal generator

Sine, square and noise, straight out of your browser. Pick a waveform, set the frequency in third octave steps, and send it to one channel or both. Useful for finding a rattle, checking that a driver is wired in phase, or hearing where your room starts to argue with you.

Everything is generated locally. Nothing is recorded, nothing is uploaded.

Check your volume before you press play. Play starts the sound immediately, and a test tone carries far more energy at one frequency than music does – a tweeter has no way to tell you it is unhappy until it is too late. The level starts low on purpose; bring it up from there.

Playing:

<waiting audio context>

Channels: <waiting audio context>
Sample rate: <waiting audio context>

Output level

Digital level leaving the browser, not sound pressure. Says nothing about how loud the room is – see What the level slider is not below.

More

What this is

Sine, square and noise, generated in your browser and sent straight to whatever is plugged in. Pick a waveform, set the frequency in third octave steps, and route it to one channel or both. Useful for finding a rattle, checking that a driver is wired in phase, or hearing where your room starts to argue with you. Nothing is recorded and nothing is uploaded.

The space bar starts and stops it

Handy when the tone is loud and the mouse is somewhere else. The player stays docked at the bottom of the screen, so the same control is always in reach however far down the page you have scrolled.

What the level slider is not

It is a digital level, not a sound pressure level. The browser has no idea what your amplifier, your speakers or your ears are doing with the signal, so the number here says nothing about how loud the room actually is. Treat it as a volume knob with no markings, and use your own meter if you need a real figure.

Why the frequencies jump the way they do

The slider steps through ISO third octave centres, 10 Hz to 10 kHz. That puts 10, 20, 100 and 1000 Hz exactly where you expect them instead of somewhere near, and it keeps every step the same musical distance rather than the same number of hertz.

The square wave is band limited

Its harmonics stop below the Nyquist frequency rather than continuing past it. An ideal square would alias, and the aliased components would fold back down into the audible range as tones that are not part of the signal at all. What you hear here has edges as steep as the sample rate honestly allows.

Checking polarity

Play a low sine, set channels to mono, then invert the right channel. If both speakers are wired the same way the bass should collapse and the image should fall apart. If inverting makes it sound better, one of your speakers is already wired backwards.