scope

scope · utilities · schema v1

2-channel passthrough oscilloscope. Inputs flow unchanged to outputs while an AnalyserNode samples for display.

A two-channel oscilloscope for SEEING your signals — it passes audio straight through untouched while drawing the waveform on an on-card screen, so you can patch it inline as a probe without altering the sound. Each channel has its own vertical SCALE, Y OFFSET, and RANGE mode (bipolar audio ±1 or unipolar CV), and a shared TIME knob sets how wide a window of the waveform fills the screen. An XY mode plots channel 1 against channel 2 (Lissajous figures, stereo phase) instead of two stacked traces, and an INTENSITY knob adds phosphor-style persistence from a single moving dot up to a glowing trail. Because it visualizes anything, the signal inputs also accept CV, pitch, and gate cables (not just audio). Every knob has a matching CV input, and the whole trace is also exported as a video output you can patch into the video domain. Display-only — none of the controls touch the audio path.

the faceplate

scopech1audioch2audiotimeMscvch1Scalecvch1Offsetcvch1Rangecvch2Scalecvch2Offsetcvch2Rangecvmodecvintensitycvch1_outaudioch2_outaudiooutmono-videoaudiocvgatepitch
11 inputs · 3 outputs · 9 params

inputs

idcablewhat it does
ch1audioChannel-1 probe: the signal drawn on the upper trace (or the X axis in XY mode), and passed through cleanly to CH1 OUT. Typed audio but also accepts CV, pitch, and gate so you can scope LFOs, envelopes, pitch CV, and gates.
audio signal; also accepts: control voltage (CV), V/oct pitch CV, gate / trigger
ch2audioChannel-2 probe: the lower trace (or the Y axis in XY mode), passed through to CH2 OUT. Also accepts CV/pitch/gate.
audio signal; also accepts: control voltage (CV), V/oct pitch CV, gate / trigger
timeMscvCV that modulates the TIME timebase knob — sweep how much of the waveform fits on screen.
control voltage (CV); modulates timeMs (summed directly (the destination DSP scales it))
ch1ScalecvCV that modulates channel 1's vertical SCALE — zoom the trace's amplitude in or out.
control voltage (CV); modulates ch1Scale (summed directly (the destination DSP scales it))
ch1OffsetcvCV that modulates channel 1's Y OFFSET — slide the trace up or down on screen.
control voltage (CV); modulates ch1Offset (summed directly (the destination DSP scales it))
ch1RangecvCV that modulates channel 1's RANGE mode (≥ 0.5 toggles bipolar↔unipolar display scaling).
control voltage (CV); modulates ch1Range (summed directly (the destination DSP scales it))
ch2ScalecvCV that modulates channel 2's vertical SCALE.
control voltage (CV); modulates ch2Scale (summed directly (the destination DSP scales it))
ch2OffsetcvCV that modulates channel 2's Y OFFSET.
control voltage (CV); modulates ch2Offset (summed directly (the destination DSP scales it))
ch2RangecvCV that modulates channel 2's RANGE mode.
control voltage (CV); modulates ch2Range (summed directly (the destination DSP scales it))
modecvCV that toggles the display MODE (≥ 0.5 switches into XY plot, below stays time-domain) — e.g. a gate can flip the scope into XY view.
control voltage (CV); modulates mode (summed directly (the destination DSP scales it))
intensitycvCV that modulates the beam INTENSITY / persistence.
control voltage (CV); modulates intensity (summed directly (the destination DSP scales it))

outputs

idcablewhat it does
ch1_outaudioClean passthrough of the channel-1 input — the scope adds no processing, so you can chain it inline.
audio signal
ch2_outaudioClean passthrough of the channel-2 input.
audio signal
outmono-videoA video output carrying the same waveform image the on-card screen shows — patch it into the video domain (OUTPUT, a video mixer) to put the trace on screen.
mono video stream

params

idlabelrangedefaultcurve
timeMsTime1..200ms20log
ch1ScaleCh1 Sc0.1..101log
ch1OffsetCh1 Y-1..10linear
ch1RangeCh1 R0..10discrete
ch2ScaleCh2 Sc0.1..101log
ch2OffsetCh2 Y-1..10linear
ch2RangeCh2 R0..10discrete
modeXY0..10discrete
intensityInten0..10.5linear

controls

controlwhat it does
Ch1 YChannel-1 vertical position (-1 to +1, default 0): nudges the trace up or down so two channels don't overlap.
Ch1 RChannel-1 display range: 0 = bipolar (±1, audio convention), 1 = unipolar/CV (±5 scaling) so a multi-octave pitch CV sweep is readable without re-zooming.
Ch1 ScChannel-1 vertical zoom (0.1× to 10×, log, default 1): magnifies a quiet signal or shrinks a loud one to fit the screen.
Ch2 YChannel-2 vertical position (-1 to +1, default 0).
Ch2 RChannel-2 display range: 0 = bipolar audio, 1 = unipolar/CV.
Ch2 ScChannel-2 vertical zoom (0.1× to 10×, log, default 1).
IntenPhosphor beam persistence (0 to 1, default 0.5): at 0 the trace is a single moving dot, at 0.5 a full-brightness single-screen trace, toward 1 a ~2-screen glowing persistence trail. Visual feel only.
XYDisplay mode: 0 = two stacked time-domain traces, 1 = XY (channel 1 vs channel 2 — Lissajous / stereo phase plot).
TimeThe time window drawn across the screen width (1 to 200 ms, log, default 20): smaller values zoom in on a few cycles, larger values show a longer slice. The TIME CV input modulates this.

source

scope.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo