Audio test mode.
Run the short low-gain sequence that checks tone output, stereo pan, sweep scheduling, noise, and analyser routing.
Use this in a React component.
Keep playback inside a user action. The provider creates AudioContext lazily and routes playback through the safe graph.
import { AudioProvider, useAudioTestMode } from "@webaudio-kit/react";
function AudioSelfCheck() {
const testMode = useAudioTestMode();
return (
<>
<button onClick={() => void testMode.run()}>
{testMode.isRunning ? "Restart test mode" : "Run test mode"}
</button>
<button onClick={testMode.stop}>Stop</button>
<p>{testMode.previewStep?.label ?? "Idle"}</p>
<p>Preview index: {testMode.previewStepIndex}</p>
</>
);
}
export function App() {
return (
<AudioProvider>
<AudioSelfCheck />
</AudioProvider>
);
}Run the focused surface.
Each page keeps one primary workflow near the snippet, then leaves the full workspace below for broader testing.
Full workspace preview
This original demo page keeps the complete tone, sweep, noise, and test-mode workspace visible after the snippet.
Try every control together.
Use the shared workspace when you want tone, sweep, noise, test mode, volume, pan, waveform, and spectrum controls on one screen.
Play a tone. Sweep a range. Burst noise.
Uses the current waveform, gain, pan, master volume, and analyser route.
Noise buffers use the same safe routing: source, gain, pan, master volume, analyser, then destination.
A short low-gain sequence checks center tone, stereo pan, sweep, noise, and analyser routing without making medical claims.
- Center tone320ms
- Left pan320ms
- Right pan320ms
- Short sweep700ms
- Pink noise450ms