Waveform Visualizer
Real-time microphone waveform display with adjustable time scale, trigger level (rising / falling / auto), peak / RMS / crest-factor stats, and a separate file-upload mode for offline waveform inspection. PNG screenshot export.
Mic display controls
File display controls
Drop an audio file above. The full waveform is decoded and displayed in your browser; nothing is uploaded. Click anywhere on the waveform to seek playback to that position.
Signal info
| Mode | Live mic |
| Sample rate | — |
| Buffer samples | — |
| Channels | — |
| Duration | — |
About Waveforms, Triggering & Crest Factor
This waveform visualizer is the simplest, most direct view of an audio signal: time on the horizontal axis, instantaneous sample amplitude on the vertical axis. It's the same view you'd see on an analog oscilloscope's screen, plus a few audio-specific niceties (peak/RMS/crest stats, zero-crossing frequency estimate, file upload mode). Whether you use it as a live microphone waveform monitor or as an online waveform viewer for dropped audio files, it answers "what is the signal doing right now, sample-by-sample?" Where a spectrum analyzer answers "what frequencies are present?", this tool answers the time-domain question.
Time window — the trade-off
A short window (10 ms, 20 ms) lets you see individual cycles of mid-range tones; a long window (200 ms, 500 ms) shows envelope shape, attack/decay, beats between close frequencies. There is no "best" — pick what matches what you're investigating. The window length here maps to the underlying FFT buffer size (powers of two between 512 and 32 768 samples), so the actual duration depends on your audio device's sample rate.
Triggering — why your waveform doesn't drift
Without a trigger, the start of each displayed frame falls at an arbitrary point in the input signal — so a steady tone appears to "scroll" sideways at random. A trigger locks the display to a specific event: in rising-edge mode the display always starts when the signal crosses your set level going upward; in falling-edge mode the opposite. Set the level near 0 for clean zero-crossing sync of a symmetric tone; set it higher to lock on transient peaks. Auto mode does no triggering — useful for noise or non-repetitive signals where there is nothing meaningful to sync to.
Peak, RMS, and crest factor
Three numbers summarise an audio signal's level very differently:
- Peak amplitude — the single largest absolute sample value in the window. Tells you about clipping headroom.
- RMS (root mean square) — sqrt(mean of squared samples). Corresponds to "average loudness" and is a better proxy than peak for how loud the signal sounds.
- Crest factor — peak / RMS, dimensionless. 1.0 = square wave (peak = RMS). 1.41 (=√2) = pure sine wave. 3–6 = typical speech. 10+ = drums and other transient-rich material. High crest factor means lots of dynamic range; low means heavily compressed or pure tones.
Zero-crossing frequency estimate
Counting the number of times the signal crosses zero in a known time window gives a rough frequency estimate: f ≈ (zero-crossings / 2) / window_duration. This is accurate only for clean, near-sinusoidal signals — noise, harmonics, and DC offset all confuse it. For trustworthy pitch tracking use the dedicated Pitch Detector or Frequency Detector tools (autocorrelation / YIN algorithms). To understand which frequencies are present in a signal rather than its shape over time, use the FFT Frequency Analyzer, which converts the time-domain waveform into a frequency-domain spectrum.
File mode
Drop an audio file to decode and view its entire audio file waveform in one shot. The file is decoded locally via the Web Audio API's decodeAudioData; nothing is uploaded. Long files are decimated to fit the canvas width — each pixel column shows the min/max sample value over the range it represents (so peaks aren't lost to subsampling). Click on the displayed waveform to seek playback to that position. This offline waveform inspection approach mirrors what you'd see in a DAW (digital audio workstation) like Audacity or Reaper — without the upload or account requirement.
Render styles explained
Four draw modes serve different inspection tasks. Line is the most oscilloscope-like: a single continuous stroke connecting each sample point — ideal for examining individual cycles of a tone. Filled area shades the region between the waveform and the center line, making amplitude envelope and dynamic range immediately visible. Mirror draws both the waveform and its vertical reflection, producing a symmetric "butterfly" display useful for judging signal symmetry and DC bias at a glance. Sample dots plots each individual sample as a point — most useful at short time windows where individual samples are visually separated, helping you check for quantization artifacts or sample-rate aliasing.