Audio oscilloscope
A live oscilloscope for your computer's audio inputs — triggered scope with cursors and measurements, XY (Lissajous), spectrum and spectrogram, and a tuner — plus a monitor to listen to the input and a two-channel signal generator for loop-back tests. Audio never leaves the page.
Added · updated 12 October 2026
How to use it
Press Start input and allow microphone access. Pick an input — the built-in microphone, a USB audio interface, a line input — and the screen shows it live. Echo cancellation, noise suppression, and automatic gain are turned off: they are meant for voice calls and would change the very signal you want to look at (a sine wave can get squashed or gated). If the browser keeps some of them on, the status line says so. Nothing is recorded or sent anywhere.
Views
-
Scope: a triggered display with a 1-2-5 timebase from 10 µs to 1 s per division and a vertical scale in full scale (FS): ±1 FS is the loudest the input can record (0 dBFS). If you know how many volts make full scale on your input, tick Calibrate to volts and enter it; the scale, cursors and measurements then read in volts. Measurements for each channel update a few times a second: frequency and period (from mid-level crossings), peak-to-peak, AC RMS, DC offset, duty cycle, and peak level in dBFS.
-
Trigger: rising or falling edge on either channel, a level, a trigger position on screen, and holdoff. Auto draws the newest signal when nothing triggers; Normal keeps the last triggered trace; Single captures one trace and stops (press Arm single to catch another). From 0.1 s/div up, Auto scrolls the trace like a chart recorder (roll mode).
-
Cursors: choose Time, Level, or Both, then click the screen for cursor A and again for B to read Δt, 1/Δt, and the level difference.
-
Persistence fades old traces instead of erasing them, so jitter and intermittent glitches show up. Hold freezes the display; Save WAV (32-bit float) and Save CSV export the captured trace.
-
XY: channel 1 drives the horizontal axis and channel 2 the vertical — Lissajous figures for comparing phase and frequency. It needs a stereo input.
-
Spectrum: a live FFT (1 024 to 32 768 points) with a choice of windows, averaging, peak hold, and a log or linear frequency axis. Levels are calibrated so a sine of amplitude A reads 20 log₁₀ A dBFS whatever the window. For offline analysis of a recording — THD, SINAD, a zoomable spectrogram — use the spectrum analyser; to measure a file’s loudness, the loudness meter.
-
Spectrogram: frequency against time, scrolling.
-
Tuner: the note being played and how many cents sharp or flat it is (YIN pitch detection), with an adjustable A4.
Monitor and signal generator
Monitor plays the input through your speakers or headphones, with volume, high- and low-pass filters, and gain. Use headphones: a microphone next to a speaker feeds back and howls.
The signal generator plays sine, square, triangle, sawtooth, white or pink noise on the left and right outputs independently, with an optional linear or logarithmic sweep. Cable the output back into a line input to check the scope, a filter’s response (sweep it and watch the spectrum with peak hold), or an amplifier.
What a sound card can measure
A sound-card input is not a lab oscilloscope:
-
It is AC-coupled. DC and slow changes are blocked by a capacitor, so a square wave sags and a DC level reads as zero. The DC reading shows only the input’s own offset.
-
It covers roughly 20 Hz to 20 kHz (to about 40 kHz at a 96 kHz sample rate). Anything above half the sample rate aliases.
-
Line inputs clip at around 1–2 V peak; microphone inputs at a few tens of millivolts and often supply bias voltage (plug-in power). Exceeding the rating can damage the input.
So never connect a circuit straight to the input. A simple probe for low-voltage audio-band signals:
-
A series resistor and a voltage divider to bring the signal down: for example 100 kΩ in series and 10 kΩ to ground gives about 1/11 of the signal (see the voltage divider calculator), and the input impedance stays high.
-
A coupling capacitor (1 µF film) to block DC from the circuit under test.
-
Clamp diodes (two back-to-back small-signal diodes, or a pair to the rails of a buffer) after the divider, to keep spikes within a few hundred millivolts.
-
Calibrate with a known signal (the generator, or a measured sine) and enter the volts-at-full-scale figure.
Never connect anything to mains or to circuits referenced to mains. The input’s ground is the computer’s ground; a mains-referenced circuit can destroy the computer and kill you. Watch for ground loops (hum at 50/60 Hz) between a powered circuit and the computer; a battery-powered circuit or a laptop on battery avoids them.
Browser support
The scope needs microphone access (getUserMedia) and Web Audio; it works in current Chrome,
Edge, Firefox, and Safari. Device names appear once access has been allowed. Browsers may open
some inputs in mono only; the status line shows what you got.
Presenting
The scope, spectrum or spectrogram filling the screen with frequency, Vpp and RMS beneath, or a huge tuner: the note, a cents meter and the frequency. S, P, G and U switch view; Space turns the input on and off. Press ⛶ Present (beside Share link) or F to open it; Esc or F closes it and T switches between dark and light. It goes full screen where the browser allows, otherwise it fills the window, and keeps the screen awake. Controls and the pointer fade after a few idle seconds.
⛶ Full screen is different: it keeps all of the tool’s own controls and gives the display as much of the screen as it can take — the browser’s full screen where it is allowed, otherwise a full-window layer (iPhone). The readings sit above the display, the trigger, spectrum, monitor and generator panels in a column beside it on a wide screen, and ◫ Panels hides them. Escape leaves.
Share link → Link options can make a link that opens straight into this view and starts by itself. Because a page may only use the microphone after a click, such a link shows a large “Click to start listening” button. Browsers only allow real full screen or the microphone after a click, so a link opened cold shows the view filling the window with a “Click for full screen” button and a “Click to start” button when the link asks to start.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.