AudioContext Sandbox - Online Web Audio API Visual Programming
Connect oscillators, gain nodes, and filters with a visual graph. Hear the result in real time. Learn Web Audio interactively.
UD5 Toolkit
Real-time debug tool for Web Audio API β monitor state, visualize waveform & spectrum, detect autoplay policy
AudioContext is created in the suspended state and requires a user gesture (click, tap, keypress) to resume(). This is by design β it protects users from autoplaying audio and reduces data usage. Always call audioContext.resume() inside a user event handler.
let audioCtx;
document.addEventListener('click', () => {
audioCtx = new AudioContext();
// Now it will be 'running'
}, { once: true });resume() inside a click/touch handler. Use navigator.userActivation.hasBeenActive (Chrome 72+) to check if the user has interacted with the page.
suspend().AudioContext. This happens after calling close(). Always check audioContext.state before using it.
suspend() β Pauses audio processing temporarily. The context can be resume()'d later. All nodes and connections are preserved. Good for pausing audio when the tab is hidden.close() β Permanently destroys the AudioContext. All resources are released. You cannot resume a closed context β you must create a new one. Use this when you're completely done with audio to free system resources.
const ctx = new AudioContext();
if (ctx.state === 'suspended') {
console.log('Autoplay likely blocked');
// Show a "Click to enable audio" button
document.body.addEventListener('click', () => ctx.resume(), { once: true });
}navigator.userActivation?.hasBeenActive in modern Chrome. If it's false and your context is suspended, autoplay policy is the reason.
visibilitychange event and call suspend() when hidden and resume() when visible. For critical audio (e.g., music players), consider using a Service Worker with the Media Session API, though this has limitations.
OfflineAudioContext for rendering.
Connect oscillators, gain nodes, and filters with a visual graph. Hear the result in real time. Learn Web Audio interactively.
Drop a WAV file and see its full header: sample rate, bit depth, channels, and chunk structure. Raw bytes explained.
Load a video and visually check if audio aligns with lips. Use frameβbyβframe stepping. Debug playback issues.
Record a short audio or video snippet and get a shareable link (stored locally in browser, no server). For quick feedback.
Trim audio files or split into multiple segments using visual waveform. Set start/end markers precisely. Download segments or merged track. Purely browser-based.
Record audio directly from your microphone and download it as a WAV file. Perfect for quick notes. No upload, fully offline support.
Select a part of an audio file and trim it to the selection. Playback preview. Download the cropped audio. No upload.
Timer that reminds you to look at something 20 feet away for 20 seconds every 20 minutes. Customizable intervals and subtle sound/visual alerts.
Select cities and see a 24-hour grid highlighting compatible meeting times. Drag to find a slot that works for everyone. Daylight saving aware.
Keep a simple list of movies you want to watch. Add notes and check them off. Purely local storage.
Transform English text into pseudolocalized text with accents, expansion, and brackets. Test your UI's readiness for translation.
Perform gestures on a canvas and see them detected in real time. Logs swipe direction, pinch scale, and rotate angle.
Remove silent parts from an audio recording. Useful for podcasts and lectures. Set threshold and minimum silence duration.
Record audio from your microphone and save as WAV file. Visual waveform while recording. Simple and privacy-friendly; audio stays in your browser.
Browse a collection of common bird calls. Play short audio samples to identify birds you hear. Educational static data.
Enter your must volume and current Brix, TA, and pH to calculate additions of sugar, acid blend, or tannin. Standard winemaking formulas.
Log your daily water consumption with one click. Set a goal and track progress. Data stored locally for privacy. Simple and clean interface.
Timer to remind you to limit shower water exposure even with a cast cover. Keep your cast dry.
Set a timer that reminds you to take a break, stretch, or follow the 20β20β20 rule. Desktop notification supported. Runs offline.
Set a meditation duration with optional interval chimes. Soothing bell sounds at the start and end. No ads.
Convert any text to snake_case, kebabβcase, camelCase, or PascalCase. Essential for programming variable naming. Local.
Search and browse a comprehensive table of SI units and common imperial conversions. For students and engineers.
Display current time for multiple cities worldwide. Add and remove locations. See day/night indicator. Lightweight and always accurate.
Set recurring audio/visual reminders to check and correct sitting posture. Adjustable interval and notification style. Helps reduce back pain from desk work.
Calculate the correct series resistor for an LED based on supply voltage, LED forward voltage, and desired current. Circuit diagram shown. Local only.
Compare time across multiple time zones and find a suitable meeting time. Convert a specific time to various cities. Browser-based and always accurate.
Explore all Intl APIs: NumberFormat, DateTimeFormat, RelativeTimeFormat, ListFormat. See outputs for any locale. Powerful i18n.
Paste the reference language JSON and a target language JSON. See which keys are missing or extra. Translate with confidence.
Enter word pattern with ? for unknown letters and known letters to find matching dictionary words. Essential crossword help. Local dictionary.
Simulate an earthquake alarm with a countdown and visual instructions for Drop, Cover, and Hold On.