Oscilloscope Tool
Virtual dual-channel oscilloscope with time/div + volts/div controls, trigger settings (rising / falling / auto / normal / single), XY Lissajous mode for phase comparison, and click-to-place measurement cursors. Audio input from your microphone (stereo if your mic supports it).
Vertical (channels)
Mono microphones drive both channels with the same signal — XY mode then shows a straight diagonal.
Horizontal & Trigger
Click on the scope screen to place the nearest cursor. Two cursors per axis cycle on each click.
About Oscilloscopes & the XY Mode
An oscilloscope shows electrical signals (here: audio samples) plotted against time, with controllable horizontal and vertical scaling. The two cornerstone controls are time/div (seconds per horizontal division — sets how much time fits on the screen) and volts/div (amplitude units per vertical division — sets how loud you can see before the trace runs off the top). The standard grid is 10 horizontal × 8 vertical divisions (so a screen at 2 ms/div + 0.5 V/div spans 20 ms wide and ±2 V tall).
Triggering — why your sine wave stops scrolling
Without a trigger, each new frame starts at an arbitrary point in the signal so a steady tone appears to "scroll" sideways. The trigger locks the display to a specific signal event:
- Rising / Falling edge — capture starts when the signal crosses your trigger level in the chosen direction
- Auto — try to trigger; if no trigger found within a frame, free-run anyway. The display always updates, but a repetitive signal may scroll if no trigger ever fires.
- Normal — only update the display when the trigger fires. If the signal stops, the display freezes on the last triggered frame.
- Single — like Normal but freezes after one trigger; press the Single button again to re-arm.
Volts / div and the "V" here
This is an audio oscilloscope. The "voltage" axis really shows normalized digital sample value (−1.0 to +1.0 from your audio API). For a real-world voltage measurement you'd need a calibrated audio interface with known gain. The V/div control still functions correctly — it sets how many sample-value units one division of the screen represents. 1.0 V/div with 4 divisions vertical capacity = full-scale visible.
XY mode (Lissajous figures)
XY mode plots CH1 on the horizontal axis instead of time, and CH2 on the vertical axis. The shape that emerges is a Lissajous figure — a beautiful visual map of the phase and frequency relationship between the two signals. Examples:
- Same frequency, in phase — 45° straight line through origin (top-right to bottom-left)
- Same frequency, 90° phase shift — circle
- Same frequency, 180° (anti-phase) — 45° straight line in the other direction
- Different frequencies — closed loops; the number of "lobes" along each axis reveals the integer frequency ratio (3:2 ratio = 3 lobes wide / 2 tall, etc.)
- Random or unrelated — fuzzy noise; no Lissajous pattern
XY mode is the classic way audio engineers check stereo phase: a healthy stereo mix forms a tall vertical ellipse, a mono signal collapses to a 45° line, a phase-inverted signal becomes a horizontal line.
Cursors and measurements
The cursor system places two vertical lines (X1, X2) and/or two horizontal lines (Y1, Y2) on the screen. The tool reads out the delta-time (Δt) between the X cursors and the delta-voltage (Δv) between the Y cursors — letting you measure period (place X cursors on consecutive peaks), pulse width, amplitude, overshoot, etc. Click anywhere on the screen to place the nearest unset cursor; subsequent clicks cycle through the four cursors.