# Mic Test

> Test your microphone in your browser: live volume meter, waveform and spectrum, record and play back, noise-floor measurement and device switching. Free online.

- URL: https://bytescope.dev/en/mic-test/
- Locale: en · Also: [ja](https://bytescope.dev/ja/mic-test.md) · [zh-Hant](https://bytescope.dev/zh-Hant/mic-test.md)
- Runs: Everything runs locally in your browser — nothing is uploaded.
- Requires: Any modern browser with microphone access, desktop and mobile.
- Updated: 2026-09-08

## What it does

Click start and this mic test shows your voice three ways at once: a VU volume meter with peak hold, a live waveform, and a frequency spectrum — if the meters move, your microphone works, and how they move tells you whether the level is healthy, too quiet, or clipping. A device selector switches between microphones instantly and shows the real sample rate and channel count you're actually getting.

The step most tests skip is the one that matters: record five seconds and play it back, because the only way to know what other people hear is to listen to yourself. You can also A/B the browser's three voice-processing switches — echo cancellation, noise suppression, auto gain — live, which is the fastest way to diagnose "my voice sounds muffled" (usually over-aggressive noise suppression). A quiet-room measurement reads your background noise floor, and stereo inputs get separate L/R meters.

Everything runs locally: audio is analyzed and recorded in your browser and never sent anywhere. If access fails, the tool tells you which of the three common causes you're hitting — permission denied, device occupied by another app like Zoom or Teams, or no device found — with fix steps for each.

## Limits

Does not record or save audio; it only shows live level and waveform.

## Machine output

Copy JSON copies an envelope `{ tool, url, generatedAt, userAgentHint, result }`. `tool` is `"mic-test"`; `result` is the live-input snapshot below.

- `sampleRate` (number | null) — Active track sample rate in Hz. `null` = no track settings yet.
- `channelCount` (number | null) — Active track channel count. `null` = no track settings yet.
- `currentLevel` (number | null) — Linear amplitude 0–1 from the latest RMS. `null` = not measured yet.
- `peakLevel` (number | null) — Linear amplitude 0–1 from the session peak. `null` = not measured yet.
- `signalDetected` (boolean | null) — `null` = no reading yet; `true` = above the response floor; `false` = measured, still quiet.
- `settings` (object) — `getSettings()` fields: sampleRate, channelCount, echoCancellation, noiseSuppression, autoGainControl, sampleSize, latency (each number or boolean, or `null` when that constraint was not reported). Device labels are omitted.

## FAQ

### Is my voice recorded or uploaded?

No. The meters analyze audio in memory, and the record-and-playback clip lives only in your browser tab — nothing is uploaded, and reloading discards it. You can verify in DevTools that no audio leaves your machine.

### The meter doesn't move — what do I check first?

In order: (1) the right device is selected in the dropdown, (2) the browser has mic permission (the tool shows the exact status and how to reset it), (3) no other app has exclusive hold of the mic — close Zoom/Teams and retry, (4) the OS input level isn't muted. The tool's error screen distinguishes these cases automatically.

### Why does my voice sound muffled or robotic on calls?

Usually the noise-suppression processing, not the microphone. Use the A/B switches to toggle noiseSuppression off while watching the spectrum and listening to playback — if your voice opens up, the fix is turning down noise suppression in your meeting app, not buying a new mic.

### What's a healthy speaking level?

Peaks in the upper-middle of the meter (green into orange) without hitting the top. Constant magenta means clipping — move back from the mic or lower the gain. Barely-moving green means you'll be inaudible: move closer or raise the input level.

### Can I test a USB audio interface or stereo mic?

Yes — pick it in the device selector and the tool shows the actual sample rate and channel count granted, with separate left/right level meters so you can verify both channels are alive.

### What does the call simulation actually do?

It routes your live microphone through a local WebRTC peer-to-peer loop using the exact Opus codec that video-call apps use, records five seconds of the round-tripped audio, and plays it back. You're hearing the compression artefacts the far side hears — not network latency or packet loss, which a local loop can't reproduce. Wear headphones so the playback doesn't leak back into the mic.

### What is the frequency-response sweep for?

With your speakers on (not headphones), it plays a rising tone from 100 Hz to 8 kHz and plots what the microphone captures at each frequency. It measures the combined response of your speaker, room and mic — not a calibrated measurement of any one of them — and its real job is flagging the narrow resonant peaks (marked in magenta) that make a speaker-plus-mic setup prone to feedback howl on a call.

## Related tools

- [Video Call Check](https://bytescope.dev/en/call-ready.md) — Run the full pre-meeting check →
- [My Computer Specs](https://bytescope.dev/en/my-computer-specs.md) — See which GPU, how many CPU threads and how much RAM this browser reports, and whether hardware acceleration is on.
