Local microphone test

Test a microphone by inspecting its relative digital level and recording a short WAV locally. Start requires your action and browser audio permission. A separate labeled synthetic example lets you try recording without opening a microphone.

Processed on your device. No file upload.

How to use this tool

  1. Choose Microphone and run the tool, or load the synthetic example. The input source is stated in the controls.
  2. Start recording. Grant browser permission only for microphone mode, speak or provide a sound, then Stop; the recording also ends at its sample limit.
  3. Use the playback controls to inspect the WAV and download it if needed. Reset clears the working clip and releases capture.

Check the built-in example

Try the example selects a generated 1 kHz signal without microphone access. Start this synthetic recording and let the ten-second cap finish. In the controlled 48000 Hz example, the output contains 480000 mono PCM16 samples, exactly 10 seconds and 960044 bytes including the WAV header. Independent decoding verifies the 1 kHz signal. This exercises the software path; it does not test your physical microphone. Real microphone recording can use another browser-selected sample rate.

The labeled synthetic 1 kilohertz example records 480000 mono PCM16 samples at 48 kilohertz, creating a ten-second 960044-byte WAV without microphone access.
Actual defaults and results from “Try an example”.

Processing method

Microphone mode uses getUserMedia with audio only after Start. An AudioWorklet collects mono sample blocks, computes the relative input meter and flushes them into a PCM16 WAV. Its output buffers contain silence, so live input is not monitored through speakers. The processor caps capture at ten seconds of sample frames. Synthetic mode feeds a local oscillator into the same recorder without requesting a device. Stop releases tracks and flushes the last block; saved duration comes from collected frames divided by the actual recording rate. The linked API explains browser audio permission.

Reference: MDN: permission-based audio input

What the result leaves out

A secure browser with AudioWorklet is required. Permission, available devices and browser processing affect microphone input. This is neither calibrated sound-pressure measurement nor a hardware pass/fail test. The level meter represents digital RMS, and silence alone does not diagnose a fault. Recording is capped at ten seconds; there is no background recorder, transcription, noise-removal service or compressed audio export. The WAV is mono PCM16 at the audio context rate. Starting another recording replaces the current working preview. Changing input source stops capture and requires running the tool again.

Checking local processing

Microphone permission is requested only after Start in microphone mode. The synthetic example creates its own signal and never opens a microphone. Samples, the level meter and WAV generation stay on your device, without an audio upload or device identifier collection. Stop releases active tracks. Reset, leaving or hiding the page ends capture, and playback is paused when the page is hidden. A saved WAV remains on your device. The browser may remember your permission choice; manage that separately in its settings.

Common questions

Does the synthetic example prove my microphone works?

No. It uses a generated signal and is explicitly separate from physical microphone input.

Can I hear live microphone feedback?

No. The recorder outputs silence while capturing. Playback is available only after a recording is prepared.

Does Reset revoke browser permission?

It stops capture and clears the working clip. The browser permission grant is controlled by browser settings.