Lotamyst / The Bench / Speaker Test

Speaker Test

Check your left and right channels, balance, phase, frequency range and surround setup — every tone is synthesised locally in your browser, so no audio files are fetched and nothing is uploaded.

Turn your volume down first — especially in headphones.

This page plays test tones, noise and a full-range sweep. Some of them are far louder to your ears than music at the same setting, and a sweep reaching 8 kHz at a level you picked for a bass tone genuinely hurts. Drop your system volume to roughly a quarter before you start, then bring it back up here.

Audio starts at 12% of full scale and this page will never send more than 45%. The slider you get next is the real output gain, not a cosmetic one.

Browsers require a click before a page may make sound, so nothing plays until you press this.

Phase check — in phase vs 180° out

The same 220 Hz tone in both channels. In phase, it collapses to a hard point in the centre of your head on headphones, or a solid image between the speakers. Out of phase, that point dissolves — the sound goes hollow, wide and hard to locate, and on speakers the bass largely cancels. A speaker wired with its + and − reversed sounds like the out-of-phase setting all the time.

Stopped.

The polarity flip is an exponential glide with a 12 ms time constant — about 55 ms to settle — rather than an instant switch, so it never clicks. You may hear the right channel dip briefly as the gain crosses zero; that is the ramp, not a fault.

Tone generator

sine · both channels

Square and sawtooth are much louder than a sine at the same amplitude. They stack odd harmonics right through the range your ears are most sensitive to. This page already pulls them down about 6 dB relative to sine, and they will still sound louder — turn the master volume down before you switch to them.

Frequency sweep — 20 Hz to 20 kHz

A 20-second logarithmic sweep. Listen for anything that is not the tone itself: a buzz that appears for half a second and vanishes is a cabinet panel or a loose screw resonating; a dry rattle at the low end is a driver hitting its limit; a band that goes quiet and never comes back is a crossover or a dead tweeter. Press Mark it the instant you hear something and the frequency is recorded below.

idle

The sweep holds a constant amplitude, so it is not a frequency-response measurement — it cannot be, without a calibrated microphone. It tells you where something misbehaves, not by how many dB.

Marks are stamped at the moment you click, so they carry your reaction time with them. This sweep covers three decades in 20 seconds, which means a typical 150–250 ms reaction lands the mark roughly 5–10% above the frequency that actually made the noise. That is why every mark is shown as an approximation, rounded to two significant figures — treat it as a neighbourhood to search, not a reading.

Bass roll-off — where does your sound actually stop?

Sustained tones, one at a time. Start at 200 Hz where almost everything works, then walk down. The frequency at which the tone stops being a note and becomes a faint buzz — or nothing at all — is your real low-frequency limit. On a laptop, a phone or a monitor speaker that point is usually somewhere between 150 and 400 Hz, and everything below it simply does not exist.

Stopped.

Do not crank the volume to force deep bass out of a small speaker. A sustained 30 Hz tone is the most effective way there is to destroy a laptop or bookshelf driver: the cone runs out of travel, bottoms against the magnet, and the voice coil tears. If a low tone starts sounding like paper ripping or a hard knock, stop immediately and turn down.

Surround channels

Enable audio at the top of the page and this section reads AudioContext.destination.maxChannelCount to find out how many channels the operating system is actually handing the browser. If it is more than two, every channel gets its own test button.

How to use this, in order

  1. Set the volume before anything plays. Drop your system volume to about a quarter, press the enable button, then bring the on-page slider up until a 1 kHz sine is comfortable. That slider is the actual gain applied to every test — it starts at 12% of full scale and is capped at 45%.
  2. Run the channel test. Two rounds, random order, one channel each. Two correct answers means your sides are wired the way the software thinks they are. Two answers that are exactly backwards means the channels are swapped.
  3. Play the left → right → both sequence. Now that you know which side is which, listen for a level difference. If "both" is not noticeably more centred and fuller than either single channel, one side is weak.
  4. Run the pan sweep. The image should slide evenly. A dead zone on one side, or a lurch as it crosses the middle, points at a balance setting or a failing amplifier channel.
  5. Check phase. Start the tone, then flip the polarity and back. If you cannot hear the difference, something is collapsing your two channels into one — look for a mono setting, a bad cable or a dead driver.
  6. Sweep 20 Hz to 20 kHz at a moderate level and mark every buzz, rattle or dropout. The marked frequencies tell you what to hunt for: below 200 Hz is usually the cabinet or the driver, 1–4 kHz is usually a loose grille or an object on the desk, above 10 kHz is usually the tweeter itself.
  7. Walk down the bass tones to find your roll-off point, then stop. Do not chase deep bass by turning it up.
  8. Test surround channels one at a time if the browser is given more than two, and confirm each sound comes out of the box it claims to.

What is actually being measured — and what is not

Nothing on this page measures your speakers. There is no microphone involved, so there is no way for a web page to know what came out. What the browser can do perfectly is generate a known signal and route it to a known channel; the instrument is your ears and the room. The only numbers printed here are ones this page controls: the frequency it is synthesising, the gain it is applying, the channel it is sending to, and the level of its own signal. The meters show what is being sent, not what the drivers produce — a channel meter will happily sit at full while that speaker is unplugged. The single exception is a sweep mark, which is the page's own frequency plus your reaction time — which is exactly why marks are printed as approximations to two significant figures rather than as readings.

Even the sample rate and latency figures are the browser's own report of the audio device. Latency in particular is an estimate: baseLatency is the render quantum the browser has chosen and outputLatency is the driver's best guess at what the operating system will add. Bluetooth contributes 100–300 ms that neither number can see. Treat it as an order of magnitude, not a measurement.

The failure modes this actually catches

What a bad result means in practice

Work outwards from the cheapest thing. Swap the cable, then the port, then the source device — most "dead speaker" reports turn out to be a cable or a jack, not a driver. If a fault follows the speaker to a different input, it is the speaker. If it stays with the port, it is the amplifier or the sound card. If it appears only in the browser and not in a desktop media player, it is the browser's device selection or another application holding the device in exclusive mode. And if the channel test says your channels are swapped, fix the wiring rather than compensating in software — otherwise every other device you plug in will be wrong too.

FAQ

How do I know if my left and right speakers are swapped?

Run the channel test at the top of this page. It plays a chime in one channel at a time, in random order, and asks which side you heard it from. If you answer left when it played right and right when it played left, your channels are reversed — usually a swapped speaker cable, a headset worn backwards, or a wrongly wired 3.5 mm adapter.

Why do my speakers produce nothing below 100 Hz?

Because most of them physically cannot. A laptop, phone or monitor speaker is a driver a couple of centimetres across in a sealed slot with almost no internal volume, so its output falls off a cliff somewhere between 150 and 400 Hz. Hearing silence on the 30 to 60 Hz tones is the expected result, not a fault. Turning the volume up to force those tones out is what damages small drivers.

What does the out-of-phase test actually show?

Two speakers playing the same tone with one of them wired backwards push air while the other pulls. In headphones the sound stops being a point in the middle of your head and turns into a hollow, diffuse smear. On speakers the bass largely cancels. If in-phase and out-of-phase sound identical to you, the two channels are probably not both reaching you — check balance, a dead driver, or a mono downmix.

Why does the surround test only offer two channels?

The browser can only see what the operating system hands it, and it reports that through AudioContext.destination.maxChannelCount. If your default playback device is configured as stereo — which is the default for HDMI, most USB headsets and Bluetooth — the browser genuinely has two channels to work with. Set the device to 5.1 or 7.1 in your sound settings, reload the page, and the extra channels appear.

Is a 20 Hz to 20 kHz sweep safe for my speakers?

At a sensible level, yes — a sweep is gentler than most music because only one frequency is playing at a time. The risk is volume, not the sweep itself: a sustained 30 Hz tone at high level can drive a small driver past its excursion limit and tear it. Start with the volume slider low, raise it gradually, and stop the moment you hear anything that sounds like tearing or hard mechanical knocking.

Why are the square and sawtooth waves so much louder?

A square wave at the same peak amplitude as a sine carries roughly 3 dB more power and packs it into a stack of odd harmonics that your ears are much more sensitive to than a single low tone. This page already attenuates square and sawtooth by about 6 dB relative to sine, and they will still sound louder — lower the volume slider before switching to them.

Related tools