synesthesia

synesthesia · hybrid · schema v1

Audio→video event processor modeled on the LZX Sensory Translator — two independent copies (A/B), each switchable between AUDIO and VIDEO mode. In AUDIO mode a copy splits its mono input into 4 MUSICAL spectral bands (bass 20–200 / low-mid 200–1k / high-mid 1k–4k / treble 4k+ Hz) so a drum kit lands cleanly across the bands (kick→band1, snare→band2/3, hats→band4). In VIDEO mode the 4 lanes become the R/G/B/Luma channels of a patched video frame (a_video_in / b_video_in cross-domain inputs): the card averages the frame to per-channel 0..1 levels (solid red maxes R, solid white maxes all incl. luma). In BOTH modes each lane derives a gained audio/CV tap, slow (500 ms) + fast (50 ms) envelope-follower CV (real ~2/40 ms attack so a kick onset hits the band CV hard + locked to the transient, without strobing video), boosted by a per-band CV makeup gain so a STRONG kick drives the bass CV to (near) full scale — patch it into a continuous CV input (e.g. OUTLINES rotation) and a strong kick runs the whole range. A hysteresis gate (keyed off the un-boosted envelope, so its timing + the gibribbon game feel are unchanged), a per-band BEAT TRIGGER (a ~10 ms pulse from a spectral-flux onset detector with an adaptive threshold + 80 ms debounce — fires once per kick/snare/hat, NOT continuously on a sustained tone), a 10-bar green→red VU meter, and a mono-video raster. Master gain (0.5–1.5×) sets the floor; per-band gain (1–2×) adds on top. A per-band ENV-OUTPUT DEPTH knob (8 = 2 copies × 4 bands, range 0..2, default 1× = unchanged) scales BOTH that band's env CV outputs (env_slow + env_fast) together — the source-side modulation-depth control: turn it down (0 = silenced) to tame a band's envelopes, or up (toward 2×, clamped at the 0..1 CV ceiling) so even a weak band reaches full modulation depth at the SOURCE. It only touches the two env CV outputs — gate / beat-trigger / band-audio / VU are unaffected. Patch a band trigger into a video switch/flash to cut video on the beat; patch the slow envelopes for smooth colour modulation.

SYNESTHESIA is a dual 4-band audio analyser + envelope/gate/trigger generator — an audio-reactive modulation source. It holds TWO independent copies (A and B); each takes a mono input and splits it into four MUSICAL bands (bass / low-mid / high-mid / treble). For every band of every copy it emits a rich fan of outputs: the isolated band audio, a SLOW (~500 ms) and a FAST (~50 ms) envelope-follower CV, a hysteresis GATE that opens while the band is loud, a beat TRIGGER fired on each spectral-flux onset in that band, and a mono-video RASTER of the band's waveform — 4 bands × 6 kinds × 2 copies = 48 outputs. Each copy can instead run in VIDEO mode, where the 4 lanes become R/G/B/Luma of a patched video frame (sampled card-side) and flow through the same envelope/gate/meter stage. Per-band GAIN, per-copy MASTER, an env-output DEPTH per band, and a UNIPOLAR/BIPOLAR polarity switch shape the modulation; a 10-bar VU meter per band is drawn on the card.

the faceplate

synesthesiaa_inaudiob_inaudioa_video_invideob_video_invideoa_band1_audioaudioa_band1_env_slowcva_band1_env_fastcva_band1_gategatea_band1_triggatea_band1_rastermono-videoa_band2_audioaudioa_band2_env_slowcva_band2_env_fastcva_band2_gategatea_band2_triggatea_band2_rastermono-videoa_band3_audioaudioa_band3_env_slowcva_band3_env_fastcva_band3_gategatea_band3_triggatea_band3_rastermono-videoa_band4_audioaudioa_band4_env_slowcva_band4_env_fastcva_band4_gategatea_band4_triggatea_band4_rastermono-videob_band1_audioaudiob_band1_env_slowcvb_band1_env_fastcvb_band1_gategateb_band1_triggateb_band1_rastermono-videob_band2_audioaudiob_band2_env_slowcvb_band2_env_fastcvb_band2_gategateb_band2_triggateb_band2_rastermono-videob_band3_audioaudiob_band3_env_slowcvb_band3_env_fastcvb_band3_gategateb_band3_triggateb_band3_rastermono-videob_band4_audioaudiob_band4_env_slowcvb_band4_env_fastcvb_band4_gategateb_band4_triggateb_band4_rastermono-videoaudiocvgatepitch
4 inputs · 48 outputs · 22 params

inputs

idcablewhat it does
a_inaudioCopy A audio input — the mono signal copy A splits into its 4 spectral bands (in AUDIO mode).
audio signal
b_inaudioCopy B audio input — the mono signal copy B splits into its 4 spectral bands (in AUDIO mode).
audio signal
a_video_invideoCopy A video input — used only when copy A is in VIDEO mode: the card reads this frame's pixels, averages them to R/G/B/Luma levels, and feeds those through copy A's 4 lanes (the frame handoff happens card-side, not as an audio edge).
RGB video stream
b_video_invideoCopy B video input — the VIDEO-mode frame source for copy B (same card-side handoff as copy A).
RGB video stream

outputs

idcablewhat it does
a_band1_audioaudioCopy A band 1 AUDIO — the isolated bass (20–200 Hz) band of copy A's input (post gain). Patch it as a band-split audio signal.
audio signal
a_band1_env_slowcvCopy A band 1 SLOW envelope CV — a ~500 ms envelope-follower tracking the bass (20–200 Hz) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band1_env_fastcvCopy A band 1 FAST envelope CV — a ~50 ms envelope-follower on the bass (20–200 Hz) band; snappier modulation that tracks transients. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band1_gategateCopy A band 1 GATE — goes high while the bass (20–200 Hz) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
a_band1_triggateCopy A band 1 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the bass (20–200 Hz) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
a_band1_rastermono-videoCopy A band 1 RASTER — a mono-video output painting the bass (20–200 Hz) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
a_band2_audioaudioCopy A band 2 AUDIO — the isolated low-mid (200 Hz–1 kHz) band of copy A's input (post gain). Patch it as a band-split audio signal.
audio signal
a_band2_env_slowcvCopy A band 2 SLOW envelope CV — a ~500 ms envelope-follower tracking the low-mid (200 Hz–1 kHz) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band2_env_fastcvCopy A band 2 FAST envelope CV — a ~50 ms envelope-follower on the low-mid (200 Hz–1 kHz) band; snappier modulation that tracks transients. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band2_gategateCopy A band 2 GATE — goes high while the low-mid (200 Hz–1 kHz) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
a_band2_triggateCopy A band 2 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the low-mid (200 Hz–1 kHz) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
a_band2_rastermono-videoCopy A band 2 RASTER — a mono-video output painting the low-mid (200 Hz–1 kHz) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
a_band3_audioaudioCopy A band 3 AUDIO — the isolated high-mid (1–4 kHz) band of copy A's input (post gain). Patch it as a band-split audio signal.
audio signal
a_band3_env_slowcvCopy A band 3 SLOW envelope CV — a ~500 ms envelope-follower tracking the high-mid (1–4 kHz) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band3_env_fastcvCopy A band 3 FAST envelope CV — a ~50 ms envelope-follower on the high-mid (1–4 kHz) band; snappier modulation that tracks transients. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band3_gategateCopy A band 3 GATE — goes high while the high-mid (1–4 kHz) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
a_band3_triggateCopy A band 3 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the high-mid (1–4 kHz) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
a_band3_rastermono-videoCopy A band 3 RASTER — a mono-video output painting the high-mid (1–4 kHz) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
a_band4_audioaudioCopy A band 4 AUDIO — the isolated treble (4 kHz+) band of copy A's input (post gain). Patch it as a band-split audio signal.
audio signal
a_band4_env_slowcvCopy A band 4 SLOW envelope CV — a ~500 ms envelope-follower tracking the treble (4 kHz+) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band4_env_fastcvCopy A band 4 FAST envelope CV — a ~50 ms envelope-follower on the treble (4 kHz+) band; snappier modulation that tracks transients. Polarity set by copy A's POLARITY.
control voltage (CV)
a_band4_gategateCopy A band 4 GATE — goes high while the treble (4 kHz+) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
a_band4_triggateCopy A band 4 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the treble (4 kHz+) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
a_band4_rastermono-videoCopy A band 4 RASTER — a mono-video output painting the treble (4 kHz+) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
b_band1_audioaudioCopy B band 1 AUDIO — the isolated bass (20–200 Hz) band of copy B's input (post gain). Patch it as a band-split audio signal.
audio signal
b_band1_env_slowcvCopy B band 1 SLOW envelope CV — a ~500 ms envelope-follower tracking the bass (20–200 Hz) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band1_env_fastcvCopy B band 1 FAST envelope CV — a ~50 ms envelope-follower on the bass (20–200 Hz) band; snappier modulation that tracks transients. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band1_gategateCopy B band 1 GATE — goes high while the bass (20–200 Hz) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
b_band1_triggateCopy B band 1 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the bass (20–200 Hz) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
b_band1_rastermono-videoCopy B band 1 RASTER — a mono-video output painting the bass (20–200 Hz) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
b_band2_audioaudioCopy B band 2 AUDIO — the isolated low-mid (200 Hz–1 kHz) band of copy B's input (post gain). Patch it as a band-split audio signal.
audio signal
b_band2_env_slowcvCopy B band 2 SLOW envelope CV — a ~500 ms envelope-follower tracking the low-mid (200 Hz–1 kHz) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band2_env_fastcvCopy B band 2 FAST envelope CV — a ~50 ms envelope-follower on the low-mid (200 Hz–1 kHz) band; snappier modulation that tracks transients. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band2_gategateCopy B band 2 GATE — goes high while the low-mid (200 Hz–1 kHz) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
b_band2_triggateCopy B band 2 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the low-mid (200 Hz–1 kHz) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
b_band2_rastermono-videoCopy B band 2 RASTER — a mono-video output painting the low-mid (200 Hz–1 kHz) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
b_band3_audioaudioCopy B band 3 AUDIO — the isolated high-mid (1–4 kHz) band of copy B's input (post gain). Patch it as a band-split audio signal.
audio signal
b_band3_env_slowcvCopy B band 3 SLOW envelope CV — a ~500 ms envelope-follower tracking the high-mid (1–4 kHz) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band3_env_fastcvCopy B band 3 FAST envelope CV — a ~50 ms envelope-follower on the high-mid (1–4 kHz) band; snappier modulation that tracks transients. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band3_gategateCopy B band 3 GATE — goes high while the high-mid (1–4 kHz) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
b_band3_triggateCopy B band 3 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the high-mid (1–4 kHz) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
b_band3_rastermono-videoCopy B band 3 RASTER — a mono-video output painting the high-mid (1–4 kHz) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream
b_band4_audioaudioCopy B band 4 AUDIO — the isolated treble (4 kHz+) band of copy B's input (post gain). Patch it as a band-split audio signal.
audio signal
b_band4_env_slowcvCopy B band 4 SLOW envelope CV — a ~500 ms envelope-follower tracking the treble (4 kHz+) band's level; smooth modulation that rides the band's overall energy. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band4_env_fastcvCopy B band 4 FAST envelope CV — a ~50 ms envelope-follower on the treble (4 kHz+) band; snappier modulation that tracks transients. Polarity set by copy B's POLARITY.
control voltage (CV)
b_band4_gategateCopy B band 4 GATE — goes high while the treble (4 kHz+) band's level is above a hysteresis threshold and low when it falls below; a level-sensitive gate that follows energy in that band.
gate / trigger
b_band4_triggateCopy B band 4 TRIGGER — a short ~10 ms pulse on each spectral-flux onset (beat) detected in the treble (4 kHz+) band (LZX-Sensory-Translator style). Patch into envelopes/drum voices to fire on that band's hits.
gate / trigger
b_band4_rastermono-videoCopy B band 4 RASTER — a mono-video output painting the treble (4 kHz+) band's live waveform as a raster (audio→video), for patching into video destinations.
mono video stream

params

idlabelrangedefaultcurve
a_modeA Mode0..10discrete
b_modeB Mode0..10discrete
a_bipolarA Polarity0..10discrete
b_bipolarB Polarity0..10discrete
a_masterA Mas0.5..1.51linear
b_masterB Mas0.5..1.51linear
a_gain1A11..21linear
a_gain2A21..21linear
a_gain3A31..21linear
a_gain4A41..21linear
b_gain1B11..21linear
b_gain2B21..21linear
b_gain3B31..21linear
b_gain4B41..21linear
a_envdepth1a1 dpt0..21linear
a_envdepth2a2 dpt0..21linear
a_envdepth3a3 dpt0..21linear
a_envdepth4a4 dpt0..21linear
b_envdepth1b1 dpt0..21linear
b_envdepth2b2 dpt0..21linear
b_envdepth3b3 dpt0..21linear
b_envdepth4b4 dpt0..21linear

controls

controlwhat it does
A PolarityCopy A env POLARITY — UNIPOLAR (env CV outputs run 0..1, the default) vs BIPOLAR (−1..+1, so a strong onset sweeps a destination's FULL range through a knob-centred CV→video bridge). Toggle on the card.
a1 dptCopy A band 1 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy A's bass (20–200 Hz) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
a2 dptCopy A band 2 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy A's low-mid (200 Hz–1 kHz) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
a3 dptCopy A band 3 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy A's high-mid (1–4 kHz) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
a4 dptCopy A band 4 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy A's treble (4 kHz+) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
A1Copy A band 1 GAIN (1×..2×) — boosts the bass (20–200 Hz) band's level for copy A (affects its audio tap + how hard it drives the envelopes/gate/meter).
A2Copy A band 2 GAIN (1×..2×) — boosts the low-mid (200 Hz–1 kHz) band's level for copy A (affects its audio tap + how hard it drives the envelopes/gate/meter).
A3Copy A band 3 GAIN (1×..2×) — boosts the high-mid (1–4 kHz) band's level for copy A (affects its audio tap + how hard it drives the envelopes/gate/meter).
A4Copy A band 4 GAIN (1×..2×) — boosts the treble (4 kHz+) band's level for copy A (affects its audio tap + how hard it drives the envelopes/gate/meter).
A MasCopy A MASTER gain (0.5×..1.5×, unity at noon) — raises or lowers the floor of all four of copy A's bands together.
A ModeCopy A MODE — AUDIO (analyse the audio input into 4 spectral bands) vs VIDEO (the 4 lanes become R / G / B / Luma of the patched a_video_in frame, sampled card-side). Toggle on the card.
B PolarityCopy B env POLARITY — UNIPOLAR (env CV outputs run 0..1, the default) vs BIPOLAR (−1..+1, so a strong onset sweeps a destination's FULL range through a knob-centred CV→video bridge). Toggle on the card.
b1 dptCopy B band 1 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy B's bass (20–200 Hz) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
b2 dptCopy B band 2 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy B's low-mid (200 Hz–1 kHz) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
b3 dptCopy B band 3 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy B's high-mid (1–4 kHz) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
b4 dptCopy B band 4 ENV DEPTH (0×..2×, unity at noon) — scales BOTH env CV outputs (slow + fast) for copy B's treble (4 kHz+) band; 0 silences that band's modulation, 2 doubles it (clamped to the CV ceiling).
B1Copy B band 1 GAIN (1×..2×) — boosts the bass (20–200 Hz) band's level for copy B (affects its audio tap + how hard it drives the envelopes/gate/meter).
B2Copy B band 2 GAIN (1×..2×) — boosts the low-mid (200 Hz–1 kHz) band's level for copy B (affects its audio tap + how hard it drives the envelopes/gate/meter).
B3Copy B band 3 GAIN (1×..2×) — boosts the high-mid (1–4 kHz) band's level for copy B (affects its audio tap + how hard it drives the envelopes/gate/meter).
B4Copy B band 4 GAIN (1×..2×) — boosts the treble (4 kHz+) band's level for copy B (affects its audio tap + how hard it drives the envelopes/gate/meter).
B MasCopy B MASTER gain (0.5×..1.5×, unity at noon) — raises or lowers the floor of all four of copy B's bands together.
B ModeCopy B MODE — AUDIO (analyse the audio input into 4 spectral bands) vs VIDEO (the 4 lanes become R / G / B / Luma of the patched b_video_in frame, sampled card-side). Toggle on the card.

source

synesthesia.ts on GitHub.

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