rasterize

rasterize · utilities · schema v1

Audio -> video raster mapper. Each video frame paints a fixed run of audio samples (samples/frame, ~800 at 48k/60fps) as voltage-per-pixel into the 640x480 frame in raster order; a scan cursor drifts + wraps through the frame. Faithful raster mapping (NOT an oscilloscope trace) - a steady tone paints drifting horizontal bands whose spacing tracks the audio frequency vs the line/frame rate. Fully untamed: no limiter, no anti-alias.

An audio→video raster mapper — it crosses the streams by writing your audio signal directly into a video frame as voltage-per-pixel. Every video frame it takes a fixed run of audio samples and paints them, in raster (left-to-right, top-to-bottom) scan order, into the 640×480 frame: each sample's value becomes a pixel's brightness, and a scan cursor advances and wraps through the frame across frames. This is the FAITHFUL raster mapping (like an analog scan-converter), NOT an oscilloscope trace — a steady tone paints horizontal bands whose spacing and drift track the audio frequency against the line/frame rate, and anything noisy paints texture. It is deliberately untamed: no limiter, no anti-aliasing, no feedback guard — the only ceiling is the 8-bit pixel saturation. The audio also passes through clean (THRU), so RASTERIZE can sit inline on a signal chain while feeding a video module from its OUT.

the faceplate

rasterizeinaudiocursorcvsamplesPerFramecvgaincvwrapcvthruaudiooutmono-videoaudiocvgatepitch
5 inputs · 2 outputs · 4 params

inputs

idcablewhat it does
inaudioThe audio signal to rasterize — its samples are painted as pixel brightness into the video frame.
audio signal
cursorcvCV that displaces the SCAN cursor (the pixel offset where painting starts each frame), so you can scrub the running scan position with an envelope or LFO.
control voltage (CV); modulates cursor (summed directly (the destination DSP scales it))
samplesPerFramecvCV that displaces the SAMP/F control (how many samples are painted per frame), modulating how fast the scan sweeps the frame.
control voltage (CV); modulates samplesPerFrame (summed directly (the destination DSP scales it))
gaincvCV that displaces the GAIN applied to each sample before the brightness map, so a modulator can swing the image from dim to blown-out.
control voltage (CV); modulates gain (summed directly (the destination DSP scales it))
wrapcvCV that toggles the WRAP mode (accumulate-and-wrap vs. clear-on-wrap) under gate control.
control voltage (CV); modulates wrap (summed directly (the destination DSP scales it))

outputs

idcablewhat it does
thruaudioClean audio passthrough — the input signal unchanged (the raster path is non-destructive), so RASTERIZE can sit inline in an audio chain.
audio signal
outmono-videoThe painted raster frame as a mono video texture for downstream video modules.
mono video stream

params

idlabelrangedefaultcurve
cursorScan0..?px0linear
samplesPerFrameSamp/F16..8000800log
gainGain0..81log
wrapWrap0..10discrete

controls

controlwhat it does
ScanSCAN — the starting pixel offset of the scan cursor into the 640×480 frame; move it to scrub where painting begins, or leave it and let the cursor drift on its own.
GainGAIN — a linear gain applied to each sample before it's mapped to pixel brightness; raise it to brighten/clip the image, lower it to darken (0–8).
Samp/FSAMP/F — how many audio samples are painted per video frame (16–8000, default ~800 ≈ one-and-a-quarter scanlines at 48k/60fps); higher values sweep the frame faster and pack more signal per frame.
WrapWRAP — what happens when the scan cursor reaches the end of the frame: 0 wraps around and keeps accumulating (toroidal drift), 1 clears on wrap for a clean top-to-bottom repaint sweep.

source

rasterize.ts on GitHub.

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