Microphone Test
Test your microphone with real-time volume waveform and audio info
Real-time Waveform
Spectrum Analysis
What is Microphone Test?
The Microphone Test checks in the browser whether a selected microphone is detected, receiving sound, and producing a usable input level. Depending on browser support, it can show real-time waveforms, frequency information, a short recording, playback, and device details, which helps narrow down problems before meetings, streams, online classes, podcasts, or support calls. Common issues include choosing the wrong input device, blocked browser permission, muted system settings, low gain, or a headset connected only as headphones. Audio is processed locally, but the browser still needs microphone permission before any signal can be analyzed.
How to Use
How to use
- Click "Start Test" and allow browser access to the microphone
- Speak into the microphone and observe the volume indicator and waveform
- Click "Record" to capture an audio clip
- After recording, you can play it back or download the file
Tips
- If the volume indicator doesn't respond, please check whether the browser has granted microphone permission
- Whether the microphone is properly connected
- Whether the microphone is muted in system volume settings
- Whether the correct input device is selected
Use Cases
Technical Principle
Browser microphone testing leans on WebRTC's getUserMedia API, which pops a permission dialog and returns a MediaStream once the user grants access. The Web Audio API's AnalyserNode handles the real-time analysis: getByteFrequencyData returns frequency-domain data (FFT output, binned into 256 or 1024 frequency buckets), and getByteTimeDomainData returns time-domain data (the waveform). Volume is computed via RMS (root mean square) - mean of squared samples then square root, which is closer to how the human ear perceives loudness than a simple peak. Common sample rates are 44.1 kHz (CD quality) and 48 kHz (pro audio and video conferencing); the audible range is 20 Hz-20 kHz, and the Nyquist theorem says the sample rate must be at least twice the highest signal frequency to reconstruct without distortion. The constraints parameter to getUserMedia can specify the sample rate, channel count, and toggle three browser-side audio processing switches: echoCancellation, noiseSuppression, and autoGainControl. Recording is done with the MediaRecorder API, which typically outputs WebM (Opus) or OGG - small files with broad compatibility.
- getUserMedia is the browser's entry point for microphone access; it requires explicit user consent (privacy requirement) and returns a MediaStream object.
- The Web Audio API's AnalyserNode analyzes the frequency domain in real time; getByteFrequencyData returns an array of frequency buckets with intensities 0-255.
- Volume uses RMS: sqrt(sum(sample^2) / n) - this tracks the ear's perceived loudness better than peak amplitude.
- Sample rates: 44.1 kHz (CD) and 48 kHz (pro); the Nyquist theorem requires >= 2x the highest signal frequency to reconstruct without loss.
- getUserMedia constraints can enable echoCancellation, noiseSuppression, and autoGainControl.
- MediaRecorder outputs WebM+Opus or OGG - small files with broad compatibility; downloads play in VLC, Audacity, and similar tools.
Examples
Real-Time Volume Detection
Speaking normally -> volume bar at 60-80%, RMS around -18 dB, spectrum concentrated in the 200-2000 Hz voice bandRecord and Playback
Record 5 seconds of 'test recording' -> playback is clear with no noise, file size 87 KB (WebM Opus)Self-Noise Floor Check
Quiet environment -> RMS < 5%, spectrum shows faint electrical noise around 50 Hz (typical laptop-mic self-noise)FAQ
What does the microphone test do?
Confirms the browser can access your mic, displays a real-time waveform or volume meter, and (in some builds) records a short sample for playback. Useful before joining a call to check that the mic is selected, sensitive enough, and not picking up too much background noise.
Why doesn't the meter move when I speak?
Either the browser doesn't have microphone permission (check the address bar), the wrong mic is selected (pick from the dropdown), the system mic level is muted/zero, or another app is exclusively using the mic. Try systemic checks one by one.
Can I switch between microphones?
Yes - the dropdown lists every microphone the browser detects. Built-in laptop mic, USB headset, Bluetooth headset, and external XLR-via-USB-interface all appear. Switching restarts the audio capture immediately.
Is my voice uploaded?
No. The audio stream is processed in your browser. If a 'record sample' feature exists, the audio is held in browser memory and can be played back locally. Nothing is uploaded unless you explicitly share.
Why does my voice sound different in playback?
Bone conduction. You hear yourself partly through the skull (lower-pitched), but a microphone captures only the air-conducted sound (higher-pitched). The recorded version is what other people on a call hear, even though it sounds 'wrong' to you.
How do I check for echo or background noise?
Speak in normal voice and watch the meter; long sustained noise on the meter while you're silent is background interference (fans, AC, traffic). Wear headphones during calls to prevent the speaker output from looping back into the mic.
Why is my volume too low?
Boost the input level in OS sound settings (Windows Sound, macOS System Settings → Sound → Input). Many built-in mics also benefit from speaking closer (15-30 cm). Avoid USB mics with no preamp - the output is often weak.