Audio Waveform Visualizer - Online See Your Sound
Visualize audio in real time from your microphone or uploaded audio file. See the waveform dance. Uses Web Audio API locally.
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.
Visualize audio in real time from your microphone or uploaded audio file. See the waveform dance. Uses Web Audio API locally.
Play an audio file or use mic to see realβtime frequency bars. Choose colors. Great for music videos. Canvas.
Connect a MIDI controller and see every message in a log. Filter by channel and type. Essential for debugging music apps.
Realβtime frequency spectrum from your microphone. Visual bars or line. Check room resonance.
Decode FLAC, Opus, or OGG audio files in the browser using compiled WASM libraries. Play instantly without server uploads. Keep audio private.
Connect your MIDI keyboard and see pressed notes visually on a piano roll. Check velocity, channel, and aftertouch. No DAW needed.
Upload an image and see its 2D FFT magnitude and phase. Learn how image filtering works. Educatinal tool. Canvas.
Paste lyrics and tap while the song plays to embed timestamps. Export as .lrc file for music players. All in browser.
See how revertβlayer removes styles from the current cascade layer and falls back to the previous one. Fix specificity wars.
Write Mermaid markdown and instantly see the rendered flowchart, sequence diagram, or Gantt chart. Copy SVG output. Browser-side rendering.
Build a vertical timeline by entering events with dates and descriptions. Export as image or HTML. Perfect for project milestones.
Generate a palette of N colors that are maximally distinguishable for common color vision deficiencies. Copy the hex codes.
Start a fetch request and cancel it with AbortController. See how to implement request cancellation. Interactive.
Display a Snellen chart on screen and mark distance for a fun self-test. Not a replacement for professional exam.
Combine multiple static images into a single animated GIF. Adjust frame delay and order. No upload, inβbrowser encoding.
Shift red and blue channels to create a realistic chromatic aberration (lens distortion) effect. Download glitched photo.
Apply tone mapping algorithms to bring out details in highlights and shadows. Simulate HDR from a single image.
Create and dispatch custom events with detail. Listen on other elements. Understand pub/sub pattern in vanilla JS.
Enter a URL to see exactly what Open Graph and Twitter card tags will be shown when shared on social media. Fetch from browser.
Convert any image into colored ASCII art using divs with background colors. Creates a stunning textβbased replica. View & copy HTML.
Upload an image and also see a UI mockup under different deficiencies sideβbyβside. Powerful for inclusive design.
Upload an image and see its RGB and luminance histograms. Understand exposure and color distribution. Photographer tool.
Decode an image progressively using the ImageDecoder API. See partial results and metadata. Modern alternative to <img>.
Apply a tint remover that guesses the original colors from a sepia photo. Not perfect, but fun. All in canvas.
Load an image to see separate red, green, blue histograms. Exposure and color balance tool.
Remove solid or similar backgrounds from images using color thresholding. No AI, just quick client-side canvas processing. Download as PNG.
Fill in says, thinks, does, feels quadrants for a user persona. Save locally or print.
Warps your image with a gooey, melting distortion. Adjust strength and radius. Download the surreal result. Local canvas.
Write or paste an HTML snippet and generate a PDF using the browser's print engine. Customize page size and margins.
Paste binary sequences and convert them back to readable text. Supports space-separated and 8-bit formatted strings. Quick encoding reconversion.