Instrument 001 Web Audio / QA field kit

Test the signal.
Document the path.

A transparent, open-source test bench for browser audio output. Generate controlled signals, inspect the active audio context, and run the same repeatable checklist across devices and browsers.

  • LocalNo audio uploads
  • BoundedSafe app gain
  • MITInspect every line

01 Controlled output

Signal lab

Choose a digital channel and reference frequency, then confirm the physical result yourself. The browser controls the signal—not your operating-system volume, amplifier, or transducer.

OSC / LIVE MONITOR STANDBY
+10−1
0 ms5 ms10 ms
STEREO 1000 Hz
CH Output channel
HZ Reference frequency
−24 dB

Start with low system volume. Stop immediately if the tone is uncomfortable.

Signal is stopped.

ContextNot started
Sample rate
Secure contextChecking
Microphone APIChecking

02 Interpretation

What this test proves

A browser signal is evidence about a requested digital path. It is not an automatic hardware diagnosis.

01

Known request

The test creates a sine oscillator, applies a short envelope, and routes it to the selected digital channel.

oscillator → merger → gain → output
02

Human observation

You confirm which physical speaker played, whether the level was balanced, and whether the sound was clean.

listen → compare → record

03 Repeatable QA

One checklist.
Every test run.

Use the field sheet before meetings, releases, browser updates, or device reviews. It covers output, input, permissions, Bluetooth behavior, accessibility settings, and cleanup.

Download .md

BATK / FIELD SHEETREV 1.0

Browser audio QA

Browser __________OS __________Device __________
  1. BaselineRecord system output, app volume, connection type, and sample rate.

  2. ChannelsConfirm left, centered stereo, and right at a moderate listening level.

  3. InputRequest microphone access only after a user gesture; verify deny and allow paths.

  4. RoutingReconnect wired and Bluetooth devices; repeat after browser restart.

  5. CleanupStop tracks, close the audio context, revoke permissions, and record anomalies.

04 Inspectable by design

The signal path is the documentation.

The engine is deliberately small: a user gesture creates the context, channel routing is explicit, gain is expressed in dB, and every run has a bounded fade-in and fade-out.

  • No audio files or network playback
  • No microphone request in the output lab
  • No analytics or stored test results
  • MIT-licensed TypeScript source
Inspect the complete engine on GitHub ↗
audio.ts
// A bounded, user-triggered reference tone
const oscillator = context.createOscillator();
const gain = context.createGain();

oscillator.frequency.value = 1000;
gain.gain.setValueAtTime(0, now);
gain.gain.linearRampToValueAtTime(
  dbToGain(-24), now + 0.04
);

oscillator.connect(gain).connect(
  context.destination
);
oscillator.start(now);

05 From QA to repair

A test result is useful only when you know what to check next.

For an end-user sound test with guided, system-specific troubleshooting, continue with Online Sound Test.