Patch dissection

perhaps a little more than just sharing video output I’d like to see people discussing/dissecting their patches

with the graphviz extension working on scanlines now things are about to get very interesting

So I’ll start out with a painting tutorial video using the LZX memory palace

here is a little flow chart using graphviz showing the basic setup

and here is a video going over the ideas behind the patch
this was essentially the same patch we used for of Vidicon presentation this year (a prismatic ray was used to modulate the threshold of the doorway additionally)

lets break things down

3 Likes

Here is a patch backbone we have only recently (the past week?) had the equipment to build that has granted access to a lot of really incredible feedback hyperplanes.

The idea is kind of to mix between several different “taps” of the same feedback loop. Each feedback path is using some kind of obstruction to inject information into the loop:

  • the key from the Memory Palace, either in warp or paint mode.
  • putting one or more synthesized patterns into the foreground layers of Color Chords, so they lie “on top of”† the VC expander → Color Chords background feedback image
  • physical objects / optical filters / other stuff in the camera feedback path. This one we have not really even begun to explore yet.
  • wipes between channels with the MX50 itself. The MX50 effects can do a ton of work in this patch, I’m especially fond of compression wipes and the Multi screen tiling.

†"You can not refer to image planes as in front of or behind, etc., that is just an illusory human perception. The Cathode Ray Tube knows nothing of this, I can prove it to you.” –Dan Sandin

2 Likes

I think it would be a great idea (for me personally and for the community at large) to go through the LZX 3 patch series and add some patch visualizations.

My goal would be eventually to spiral bind and laminate them for a physical LZX patch book

I’ll be adding pictures and more patches as I go :slight_smile:


Passage 3 Patches

Passage 3 patches video

Patch 1



Patch 2 dynamic keying


Patch 3 multi-dimensional pattern maker



Pendulum 3 Patches

Pendulum 3 patches video

Patch 1 Modulated crossfader


Patch 2 Shape synthesis

basic patch above^^
adding in videos below


Patch 3 More complicated shape synthesis



Staircase 3 Patches

Staircase 3 patches video

Patch 1 basic functionality

Basic patch


Full staircase colorization


Feedback excursion

Full staircase colorization w/ modulator


Patch 2 staircase as a voltage controlled oscillator

basic patch


adding in modulation


Patch 3 Processing External video



Color chords 3 Patches

Color chords 3 patches video


Patch 1 Basic use


Patch 2 Color chords as a matrix mixer


Patch 3 Combining Color Chords with Visual Cortex for precise color picking

variation using a multed luma out from the external video coming into visual cortex as a layer on color chords.



Doorway 3 Patches

Doorway 3 patches video


Basic example


Patch 1 Creating complex shapes

Summing PR and a V ramp through staircase

Step 1 - Setting up your shape

Step 2 - Creating a key

Step 3 - Adding modulation



Patch 2 Doorway as a simple VCO

Step 1 - Simple VCO


Step 2 - Creating different shapes


Step 3 - Adding movement


Step 4 - Using this setup as a VCO



Patch 3 Processing external video and making wipes

Step 1 - Processing external video

Step 2 - Setting up a wipe

Step 3 - combining both techniques
image key & wipe




Bridge 3 patches

Bridge 3 patches video


Patch 1 Working with TB 303 / CV & GATE instrument

Step 1 - Connecting a CV/Gate source


Step 2 - Using a fader to modulate a CV source


Step 3 - Using a mixer to modulate a Gate



Patch 2 Using crossfader and mixer to create more intricate patterns and shapes

Step 1 - setting up the fader

Step 2 - the modulation isn’t going to show too well as it is similar to the other ramps still.

Step 3 - adding modulation with additional passage channels


Step 4 - running into a staircase for extra complexity


Patch 3 Using bridge as a keyer

Step 1 - Setting up the key

Step 2 - Colorize for more fun

Step 3 - Add memory palace animation with fader

Step 4 - adding prismatic ray texture


Marble Index 3 patches

Marble Index 3 patches video


Patch 1 Basic starter

Step 1 - component video into the visual cortex then take the decoder output into marble index channel a and then into visual cortex channel a


Step 2 - Adding second source

Step 3 - Adding opacity modulation



Patch 2 Complex shape and pattern generation

Step 1 - simple pattern from staircase


Step 2 - Make key for opacity on marble index

Step 3 - Add second channel to marble index

Step 4 - Adding complexity with more modulation (opacity B, phase, Memory palace)



Patch 3 Combining 3 full color images with marble index

Step 1 - Getting an external video into marble index and patching that back into the visual cortex


Step 2 - Create pattern with staircase to use as background, including cross modulation from external video source (Y)


Step 3 - Memory palace to B RGB channel (MI), add key to opacity B


Step 4 - Y (MP) to opacity A (MI)




Prismatic Ray 3 patches

Prismatic Ray 3 patches video


Patch 1 Alternate sync sources

Step 1 - PR to VC


Step 2 - Second PR to Frequency modulate first PR


Step 3 - Using a H+V ramp to sync a PR

Step 4 - Adding modulation section for H+V ramp and second PR FMing first

Step 5 - Adding 3rd PR via passage

Step 6 - Adding complexity to the sync source


Patch 2 PR gradients with doorway and staircase, pedestal and multiply PR modulation

Step 1 - initial shape generator

Step 2 - adding doorway for keying, 3rd PR for modulation


Step 3 - Add PR mult out and ramp for modulation


Step 4 - Additional PR output to Color chords



Patch 3 mixing oscillators before going into staircase/doorway

Step 1 - combine oscillators via passage then view them each on different layers of color chords


Step 2 - Sync oscillators via ramps




Escher sketch 3 patches

Escher sketch 3 patches video


Patch 1 basic Escher sketch painting with memory palace

Step 1 - basic paint patch with memory palace



Step 2 -



Patch 2 More complex use for escher sketch and memory palace

Step 1 - Using a still on memory palace along with the RGB inputs

Step 2 - Adding Escher Sketch



Patch 3 More complex use for escher sketch and memory palace

Step 1 - Using Escher sketch without a Memory palace

Step 2 - Adding in Escher sketch




Fortress 6 patches

Fortress 3 patches video 1 (patches 1-3)
Fortress 3 patches video 2 (patches 4-6)


Patch 1 Basics of Fortress oscillators

Step 1 - Basic understanding of the oscillator outputs on fortress

H out looking at the B channel on the Visual cortex

switching through count setting

V out

switching through count setting

LF not shown as it is at strobe rates and wouldn’t come through via a picture.


Patch 2 Using oscillators with other modules

Step 1 - combining modules with fortress


different mode



Patch 3 Combining the 3 ADC with external signals

Step 1 - H+V to ADC 1


Step 2 - adding staircase modulation

shift register mode

cellular autonoma

Linear feedback shift register

Step 3 - filling the last ADC



Patch 4 External video into fortress

Step 1 - Basic colorizer


RGB shift register mode

feedback shift register mode

cellular autonoma mode

Step 2 - Processing 2nd mult with additional ADC


Step 3 - Adding a key to opacity



Patch 5 Adjusting the RGB output of fortress

Step 1 - Setting up the basic patch

Step 2 - RGB color picking with color chords


Step 3 - Adding modulation
using different areas on the XY pad of escher sketch as color presets

Step 4 - Fortress DAC as a key for MI opacity, additional color input



Patch 6 Complex fortress colorizer


Diver 3 patches

Diver 3 patches video


Patch 1 Using diver as a ramp generator



Patch 2 Audio -> 2d ramp

Step 1 Setting up your basic shape

withouth V ramp from VC


with V ramp from VC



Patch 3 Using external audio into diver

Step 1 Sample using wave input (audio input mode)




Orion series 3 patches

Orion series 3 patches video


Patch 1 Basic orion


Patch 2 Another base patch


Patch 3 MP Paint based




Navigator 3 patches

Navigator 3 patches video


Patch 1 Basic shape creation



Patch 2 More complex shape creation


Step 2 Using the key we just setup


Patch 3 Using Diver for more complex H,V ramps to process



Shapechanger 3 patches

Shapechanger 3 patches video


Patch 1 Taking several outs from shapechanger



Patch 2 Shapechanger -> navigator



Patch 3 Shapechanger processing external video



Sensory Translator 3 patches

Sensory Translator 3 patches video


Patch 1 Sensory translator into Memory palace



Patch 2 Using all the Sensory translator envelope outputs


Patch 3 External video into Sensory translator



Topogram 3 patches

Topogram 3 patches video


Patch 1 Basic topogram use



Patch 2 Processing CV rate signals with topogram

“4 module patch” haha…


Patch 3 6 band external video colorizer




Polar Fringe 3 patches

Polar fringe 3 patches video


Patch 1 Basic use

Memory palace

Fortress



Patch 2 Polar fringe as a shape generator



Patch 3 Combining ramps and other sources with Polar fringe



Arch 3 patches

Arch 3 patches video


Patch 1 Square based pattern generator with background



Patch 2 More complex shape generator


Patch 3 Arch based colorizer



Curtain 3 patches

Curtain 3 patches video


Patch 1 Basic use



Patch 2 More complex pattern generator



Patch 3 External images into Curtain



Mapper 3 patches

Mapper 3 patches video


Patch 1 Basic colorizer



Patch 2 More complex colorizer



Patch 3 Ramp processing




Memory palace 3 patches
patch 1


patch 2

patch 3

fkg3 3 patches
patch 1


patch 2


patch 3

SMX3 3 Patches
Patch 1

patch 2

Patch 3

DSG3 3 Patches
Patch 1

Patch 2

Patch 3

DWO 3 patches
patch 1

patch 2

patch 3

Swatch 3 patches
patch 1a

patch 1b

patch 1 C

patch 2

patch 3

Proc 3 patches
patch 1

patch 2

patch 3


Stairs 3 patches
patch 1

patch 2

patch 3


Keychain 3 patches
patch 1

patch 2

window key


patch 3

Angles 3 Patches
patch 1

patch 2

patch 3

Contour 3 patches
patch 1

patch 2

patch 3

2 Likes

EDIT: done with the 3 patches videos

1 Like

i dont have even have any lzx and loving every one of these ! :heart_eyes_cat:

2 Likes

thank you so much!

I have a page in my patch notebook that is dedicated to recur setups that I love. I’m excited to get this kind of setup mapped as well

A collection of just our patches. We will do a full patch book treatment starting pretty soon. I’ll make a version for the web that includes video and pictures along with some patch notes as well as an offline version to print that will have everything but the video.


toon filter riff
digraph structs {node [shape=record]; { dsg:omio -> "DSG_self_out" "DSG_self_in" -> dsg:thi dsg:omao -> sta:ri dsg:tmio -> sta:gi dsg:tao -> key:rki key:ro -> pass:tbi key:go -> pass:bi pass:bo -> smx:ari key:bo -> smx:bri dsg:tmao -> smx:cri sta:to -> pass:tgi baj:do -> pass:gi pass:go -> "mod_mix_out" "mod_mix_in" -> pass:ri pass:ro -> "mod_final_out" "mod_final_in" -> key:rci smx:rgbo -> esg:rgbi esg:co -> "main out" esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component } } } "]; smx [label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R }| { <rgbo> RGB} } } "]; dsg [label="DSG3|{ { <thi> 2 H }| { <omio> 1 MIN | <omao> MAX | <tmio> 2 MIN | <tao> ABS | <tmao> MAX} } } "]; key [label="Keychain |{ { <rki> Key 1 | <rci> CV 1 } | { <ro> Out 1 | <go> 2 | <bo> 3} } } "]; pass [label="Passage |{ { <ri> In 1 | |<gi> 2 | <tgi> Thru 2 | <tbi> 3 | <bi> In 3} | { <ro> Out 1 | <go> 2 | <bo> 3} } } "]; sta [label="Stairs |{ { <ri> R | <gi> G }| { <to> /2} } } "]; baj [label="Baja |{ { <do> 0 } } } "]; }}

Lumia type patch
digraph structs {node [shape=record]; { dsg:oao -> “self_modulation_out” “self_modulation_in” -> dsg:thi dsg:tmio -> mult:i mult:ro -> sta:ri mult:bo -> key:rki mult:go -> fkg:kri fkg:ro -> smx:ari sta:tho -> smx:bri key:ro -> smx:cri smx:rgbo -> fkg2:bgrgbi dsg:omao -> fkg2:kri dsg:omio -> fkg2:kgi dsg:oso -> fkg2:kbi fkg2:rgbo -> esg:rgbi esg:co -> "main out" esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component } } } "]; smx [label="SMX3|{ { <bri> B R | <ari> A R | <cri> C R }| { <rgbo> RGB} } } "]; dsg [label="DSG3|{ { <thi> 2 H }| { <omao> 1 MAX | <omio> MIN | <oso> SUM | <oao> 2 ABS | <tmio> MIN } } } "]; key [label="Keychain |{ { <rci> CV 1 | <rki> Key 1 } | { <ro> Out 1 } } } "]; mult [label="mult |{ { <i> In} | { <ro> Out 1 | <go> 2 | <bo> 3} } } "]; sta [label="Stairs |{ { <si> Steps | <ri> R }| { <tho> /32 } } } "]; fkg [label="FKG3|{ { <kri> Key R | <ti> Thresh }| { <ro> R } } } "]; fkg2 [label="FKG3|{ { <kri> Key R | <kgi> G | <kbi> B | <ti> Thresh | <bgrgbi> FG RGB }| { <rgbo> RGB } } } "]; }}

dsg tricks 2

dsg tricks 2

digraph structs {node [shape=record]; { dsg:oso -> key:rki dsg:tao -> fkg:kri dsg:omao -> sta:ri con:ro -> smx:ari key:go -> smx:bri sta:eo -> smx:cri key:ro -> con:ri con:bo -> "filter_modulation_out" "filter_modulation_in" -> fkg:ti con:go -> “filter_feedback_out” “filter_feedback_in” -> con:rci fkg:ro -> "DSG_key_out" "DSG_key_in" -> dsg:ovi "baja_1" -> key:rci "baja_2" -> sta:pi "baja_3" -> fkg:si smx:rgbo -> esg:rgbi esg:co -> "main out" esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component } } } "]; smx [label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R }| { <rgbo> RGB} } } "]; dsg [label="DSG3|{ { <ovi> 1 V }| { <oso> 1 SUM | <omao> MAX | <tao> 2 ABS } } } "]; key [label="Keychain |{ { <rci> CV 1 | <rki> Key 1} | { <ro> Out 1 | <go> 2 } } } "]; sta [label="Stairs |{ { <ri> R | <pi> Phase }| { <eo> /8 } } } "]; fkg [label="FKG3|{ { <kri> Key R | <ti> Thresh | <si> Soft }| { <ro> R } } } "]; con [label="Contour |{ { <rci> CV 1 | <ri> Filter 1 } | { <go> Out 2 | <bo> 3 | <ro> 1 } } } "]; }}

triple shape DSG
digraph structs {node [shape=record]; { dsg:oso -> sta:ri dsg:omao -> fkg:kri dsg:tao -> fkg2:kri sta:to -> key:bki sta:so -> key:rki key:ro -> con:ri key:bo -> fkg:fgri con:ro -> smx:ari key:go -> smx:bri fkg:ro -> smx:cri smx:rgbo -> fkg2:fgrgbi fkg2:rgbo -> esg:rgbi esg:co -> "main out" esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component } } } "]; smx [label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R }| { <rgbo> RGB} } } "]; dsg [label="DSG3|{ { <oso> 1 SUM | <omao> MAX | <tao> 2 ABS } } } "]; key [label="Keychain |{ { <rci> CV 1 | <rki> Key 1 | <bki> 3} | { <ro> Out 1 | <go> 2 | <bo> 3} } } "]; sta [label="Stairs |{ { <si> Steps | <pi> Phase | <ri> R}| { <so> /16 | <to> /2 } } } "]; fkg [label="FKG3|{ { <fgri> FG R | <kri> Key R | <ti> Thresh | <si> Soft }| { <ro> R } } } "]; fkg2 [label="FKG3|{ { <fgrgbi> FG RGB | <kri> Key R | <ti> Thresh | <si> Soft }| { <rgbo> RGB } } } "]; con [label="Contour |{ { <rci> CV 1 | <ri> Filter 1 } | { <ro> Out 1 } } } "]; }}

stairs + submixer shape get workflow 1
digraph structs {node [shape=record]; { dsg:omao -> fkg:bgri dsg:omio -> sta:ri sta:fo -> con:ri con:ro -> fkg:kri "baja_120" -> sta:si "baja_180" -> sta:pi sta:eo -> sub:tli sta:so -> sub:tri sta:tho -> sub:bli sta:sxo -> sub:bri sub:fo -> fkg:fgri sub:bo -> fkg:fggi sub:po -> fkg:fgbi fkg:ro -> smx:ari fkg:go -> smx:bri fkg:bo -> smx:cri smx:rgbo -> esg:rgbi esg:co -> "main out" con [label="Contour |{ { <ri> Filter 1 } | { <ro> Out 1 } } } "]; dsg [label="DSG3|{ { <omao> MAX | <omio> 1 MIN } } } "]; esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component } } } "]; fkg [label="FKG3|{ { <bgri> BG R | <fgri> FG R | <fggi> G | <fgbi> B | <kri> Key R }| { <ro> R | <go> G | <bo> B } } } "]; smx [label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R }| { <rgbo> RGB } } } "]; sta [label="Stairs |{ { <ri> R | <si> Steps | <pi> Phase }| { <eo> /8 | <so> /16 | <tho> /32 | <sxo> /64 | <fo> /4 } } } "]; sub [label="Submixer |{ { <tli> TL | <tri> TR | <bli> BL | <bri> BR } | { <fo> Fold | <bo> Bottom | <po> + } } "]; }}

Noise

this one is built up to a noise with some density type controls via the DWO and DWO freq CV knob
but there is a very nice colorizer hidden in there too that patch is below

digraph structs {node [shape=record]; { dwo [label="DWO3|{ { <ofi> 1 Freq CV }| { <oso> 1 Sin }}} "]; pro [ label="Proc |{ { <bri> B 1 | <bgi> 2 } | { <ro> Out 1 | <go> 2 }}}"]; swa [ label="Swatch |{ { <rgbi> RGB | <ipi> I+ | <qpi> Q+ }| { <crgbo> Clamp RGB }}}"]; sta [ label="Stairs |{ { <rgbi> RGB }| { <eo> /8 | <fo> /4 | <sxo> /64 | <tho> /32 }}}"]; dsg [label="DSG3|{ { <ovi> 1 V | <ohi>1 H }| { <oso> 1 SUM }}} "]; fkg [label="FKG3|{ { <fgrgbi> FG RGB | <kri> Key R | <ti> Thresh }| { < ro> R | <go> G }}}"]; esg [ label="ESG3|{ { <ri> R }| { <co> Component }}}"]; tbc [ label="TBC2 |{ { <brgbo> B RGB | <aro> A R | <ago> G | <abo> B }}}"]; smx [ label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R } | { <rgbo> RGB }}}"]; tbc:aro -> smx:ari tbc:ago -> smx:bri tbc:abo -> smx:cri smx:rgbo -> sta:rgbi sta:tho -> fkg:ti sta:sxo -> fkg:kri sta:eo -> pro:bri sta:fo -> pro:bgi pro:ro -> swa:ipi pro:go -> swa:qpi dwo:oso -> dsg:ohi fkg:ro -> dsg:ovi fkg:go -> dwo:ofi dsg:oso -> esg:ri tbc:brgbo -> swa:rgbi swa:crgbo -> fkg:fgrgbi esg:co -> "main out" }}

colorizer
digraph structs {node [shape=record]; { pro [ label="Proc |{ { <bri> B 1 | <bgi> 2 } | { <ro> Out 1 | <go> 2 }}}"]; swa [ label="Swatch |{ { <rgbi> RGB | <ipi> I+ | <qpi> Q+ }| { <crgbo> Clamp RGB }}}"]; sta [ label="Stairs |{ { <rgbi> RGB }| { <eo> /8 | <fo> /4 }}}"]; esg [ label="ESG3|{ { <rgbi> RGB }| { <co> Component }}}"]; tbc [ label="TBC2 |{ { <brgbo> B RGB | <aro> A R | <ago> G | <abo> B }}}"]; smx [ label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R } | { <rgbo> RGB }}}"]; tbc:aro -> smx:ari tbc:ago -> smx:bri tbc:abo -> smx:cri smx:rgbo -> sta:rgbi sta:eo -> pro:bri sta:fo -> pro:bgi pro:ro -> swa:ipi pro:go -> swa:qpi tbc:brgbo -> swa:rgbi swa:crgbo -> esg:rgbi esg:co -> "main out" }}

ect vibes

DWO range 1 knob in position 3 for locked Vertical
DWO range 2 knob in position 1 for locked Horizontal

FREQ knobs set at max on DWO

dial in the associate RST knobs on submixer to get desired effect

playing with threshold and softness on FKG really bring in and out the bars

FKG threshold mode = window

FKG keyer source = Key

FKG keyer mode = Luma

digraph structs {node [shape=record]; { dwo [label="DWO3|{ { <ofci> 1 Freq CV | <tfci> 2 Freq CV | <ori> 1 Rst | <tri> 2 Rst }| { <two> 2 Saw | <owo> 1 Saw }}} "]; esg [ label="ESG3|{ { <rgbi> RGB }| { <co> Component }}}"]; fkg [label= "FKG3|{ { <fgrgbi> FG RGB | <kri> Key R | <kgi> Key G }| { <rgbo> RGB }}}"]; tbc [label="TBC2 |{ { <brgbo> B RGB | <byo> B Y }}}"]; sub [label="Submixer |{ { <tli> TL | <bri> BR } | { <po> + | <mo> - | <bo> Bottom | <lo> Left | <to> Top }}"]; fkg:rgbo -> esg:rgbi tbc:brgbo -> fkg:fgrgbi tbc:byo -> sub:tli sub:to -> "mult out" "mult in" -> sub:bri sub:bo -> dwo:ori sub:lo -> dwo:tri sub:po -> dwo:ofci sub:mo -> dwo:tfci dwo:two -> fkg:kri dwo:owo -> fkg:kgi esg:co -> "main out" }}

Switcher PiPiP cross
digraph structs {node [shape=record]; { swi [label="Switcher|{ { <frgbi> 4 RGB | <orgbi> 1 RGB | <trgbi> 2 RGB | <thri> 3 R | <thgi> G | <thbi> B | <bai> Select B0 | <bbi> Select B1 }| { <brgbo> B RGB | <aro> A R } } } "]; swib [label="Switcher|{ { <aai> Select A0 | <abi> Select A1 | <bdi> B Disable } } } "]; rib [label="Ribbons |{ { <adci> ADC }| { <daco> DAC | <do> D0-2 } } } "]; stk [label="stacker |{ { <hti> H 2 | <vthi> V 3 | <hoi> H 1 | <voi> V 1 } | { <koo> Out 1 | <kto> 2 | <ktho> 3} } } "]; tbc [label="TBC2 |{ { <byo> B Y | <argbo> A RGB | <brgbo> B RGB | <ayo> A Y }}}"]; sta [label="Stairs |{ { <ri> R }| { <to> /2 | <eo> /8 | <so> /16 }}}"]; pro [label="Proc |{ { <bri> B 1 | <bgi> 2} | { <ro> Out 1 | <go > 2 }}"]; dwo [label="DWO3|{ { <oso > 1 Sin | <oto> 1 Tri }}} "]; dsg [label="DSG3| { { <ovi> 1 V }| { <oso> 1 SUM | <omao> MAX }}} "]; key [label="Keychain |{ { <rki> Key 1 | <rci> CV 1 } | { <ro> Out 1 | <go> 2 | <bo> 3}}}"]; cro [label="Crossfader |{ { <ci> CV | <argbi> A RGB | <bri> B R | <bgi> B G | <bbi> B B } | { <rgbo> RGB | <lo> Luma }}"]; ang [label="Angles|{ { <co> 45 | <io> 135 | <ao> 15 | <go> 105 } } } "]; sub [label="Submixer |{ { <tli> TL | <tri> TR } | { <fo> Fold }} "]; esg [label="ESG3| { { <rgbi> RGB }| { <co> Component }}}"]; list [label=" { { <r> TBC2 }| { <c> DWO3 }| { <c> Angles }| { <c> Ribbons }| { <c> keychain }| { <c> DSG3 }| { <c> Proc }| { <c> Switcher }| { <c> Stacker }| { <c> Stairs }| { <c> Crossfade }| { <c> ESG3 }| { <c> Submixer } }}}"]; tbc:argbo -> swi:orgbi tbc:brgbo -> swi:trgbi tbc:ayo -> key:rki key:ro -> swi:thri key:go -> swi:thgi key:bo -> swi:thbi tbc:byo -> rib:adci rib:do -> swi:frgbi swi:aro -> sta:ri sta:to -> cro:bri sta:eo -> cro:bgi sta:so -> cro:bbi swi:brgbo -> cro:argbi rib:daco -> cro:ci ang:ao -> stk:hoi ang:go -> stk:voi ang:co -> pro:bri ang:io -> pro:bgi pro:ro -> stk:hti pro:go -> stk:vthi stk:koo -> swib:aai stk:kto -> swib:abi dwo:oso -> key:rci dwo:oto -> dsg:ovi dsg:oso -> swi:bbi dsg:omao -> sub:tri cro:lo -> sub:tli sub:fo -> fold_out Fold_in -> swi:bai cro:rgbo -> esg:rgbi stk:ktho -> swib:bdi esg:co -> "main out" }}

Switcher PiPiP cross 2 main
digraph structs {node [shape=record]; { ang [ label="Angles|{ { <ai> A | <bi> B }| { <hro> H | <vro> V | <hrio> Inverted H | <vrio> inverted V | <ao> 0 | <go> 90 } } } "]; pro [label="Proc |{ { <abi> A 3 | <bbi> B 3 | <ari > A 1 | <agi> A 2 | < bri> B 1 | <bgi> B 2 } | { <bo> 3 | <ro> Out 1 | <go> 2 }}}" ] ; prob [label="Proc 2 |{ { <bri> B 1 | <bgi> 2 } | { <ro> Out 1 | < go> 2 }}}"]; dwo [label="DWO3|{ { <oso> 1 Sin | <tso> 2 Sin }}} "]; dsg [label="DSG3|{ { <ohi>1 H | <ovi> 1 V }| { <oso> 1 SUM }}} "]; key [label="Keychain | { { <rki> Key 1 | <gci> CV 2 | <bki> CV 3} | { <ro> Out 1 | <go> 2 | <bo> 3}}}"]; rib [label="Ribbons |{ { <adci> ADC }| { <daco> DAC | <do> D0-2} } } "]; con [label="Contour |{ { <ri> Filter 1 | <rci> CV 1 } | { <rgbo> RGB }}}"]; dis [label="Dist|{ { <rgbi> RGB}| { <orgbo> 1 RGB | <trgbo> 2 RGB }}}"]; stk [label="stacker |{ { <rhi> H 1 | <rvi> V 1 } | { <bko> 3 } } } "]; sta [label="Stairs |{ { <rgbi> RGB | <si> Steps }| { <to> /2 | <eo> /8 | <so> /16 }}"]; swi [label="Switcher|{ { <bai> Select B0 | <bbi> Select B1 | <frgbi> 4 RGB | <trgbi> 2 RGB | <orgbi> 1 RGB | <thrgbi> 3 RGB | <bdi> B Disable }| { <brgbo> B RGB } } } "]; cro [label="Crossfader |{ { <ci> CV | <argbi> A RGB | <bri> B R | <bgi> B G | <bbi> B B } | { <rgbo> RGB | <lo> Luma }}"]; tbc [label="TBC2 |{ { <ayo> A Y | <byo> B Y | <argbo> A RGB | <brgbo> B RGB}}}"]; esg [label="ESG3| { { <rgbi> RGB }| { <co> Component }}}"]; ang:hro -> pro:bri ang:vro -> pro:bgi pro:ro -> H_Ramp_out pro:go -> V_Ramp_out H_Ramp_in -> ang:ai V_Ramp_in -> ang:bi ang:ao -> PiP_H_out PiPP_H_in -> swi:bai ang:go -> PiP_V_out PiP_V_in -> swi:bbi ang:hrio -> prob:bri ang:vrio -> prob:bgi mult_H1_in -> stk:rhi mult_V1_in -> stk:rvi stk:bko -> swi:bdi prob:ro -> mult_H_out prob:go -> mult_V_out mult_H2_in -> dsg:ohi mult_V2_in -> dsg:ovi dsg:oso -> key:rki key:ro -> dsg_key_out dsg_key_in -> pro:abi DUMMY -> pro:bbi pro:bo -> window_key_out window_key_in -> key:gci key:go -> dsg_window_key_out dsg_window_key_in -> cro:ci tbc:ayo -> key:bki key:bo -> con:ri rib:daco -> con:rci con:rgbo -> swi:frgbi tbc:byo -> rib:adci rib:do -> swi:trgbi dwo:oso -> pro:ari dwo:tso -> pro:agi tbc:argbo -> swi:orgbi tbc:brgbo -> swi:thrgbi swi:brgb -> dis:rgbi dis:orgbo -> cro:argbi dis:trgbo -> sta:rgbi sta:to -> cro:bri sta:eo -> cro:bgi sta:so -> cro:bbi cro:lo -> sta:si cro:rgbo -> esg:rgbi esg:co -> "main out" }}

Switcher PiPiP cross 2 variation
digraph structs {node [shape=record]; { ang [ label="Angles|{ { <ai> A | <bi> B }| { <hro> H | <vro> V | <hrio> Inverted H | <vrio> inverted V | <ao> 0 | <go> 90 } } } "]; pro [label="Proc |{ { <abi> A 3 | <bbi> B 3 | <ari > A 1 | <agi> A 2 | < bri> B 1 | <bgi> B 2 } | { <bo> 3 | <ro> Out 1 | <go> 2 }}}" ] ; prob [label="Proc 2 |{ { <bri> B 1 | <bgi> 2 } | { <ro> Out 1 | < go> 2 }}}"]; dwo [label="DWO3|{ { <oso> 1 Sin | <tso> 2 Sin }}} "]; dsg [label="DSG3|{ { <ohi>1 H | <ovi> 1 V }| { <oso> 1 SUM }}} "]; key [label="Keychain | { { <rki> Key 1 | <gci> CV 2 | <bki> CV 3} | { <ro> Out 1 | <bo> 3 | <go> 2 }}}"]; rib [label="Ribbons |{ { <di> Disable | <adci> ADC }| { <daco> DAC | <do> D0-2} } } "]; con [label="Contour |{ { <ri> Filter 1 | <rci> CV 1 } | { <rgbo> RGB }}}"]; dis [label="Dist|{ { <rgbi> RGB}| { <trgbo> 2 RGB | <orgbo> 1 RGB }}}"]; stk [label="stacker |{ { <rhi> H 1 | <rvi> V 1 } | { <gko> 2 | <bko> 3 } } } "]; sta [label="Stairs |{ { <si> Steps | <rgbi> RGB }| { <to> /2 | <eo> /8 | <so> /16 }}"]; swi [label="Switcher|{ { <bai> Select B0 | <bbi> Select B1 | <frgbi> 4 RGB | <trgbi> 2 RGB | <orgbi> 1 RGB | <thrgbi> 3 RGB | <bdi> B Disable }| { <brgbo> B RGB } } } "]; cro [label="Crossfader |{ { <bri> B R | <bgi> B G | <bbi> B B | <argbi> A RGB | <ci> CV } | { <lo> Luma | <rgbo> RGB }}"]; tbc [label="TBC2 |{ { <ayo> A Y | <byo> B Y | <argbo> A RGB | <brgbo> B RGB}}}"]; esg [label="ESG3| { { <rgbi> RGB }| { <co> Component }}}"]; ang:hro -> pro:bri ang:vro -> pro:bgi pro:ro -> H_Ramp_out pro:go -> V_Ramp_out H_Ramp_in -> ang:ai V_Ramp_in -> ang:bi ang:ao -> swi:bai ang:go -> swi:bbi ang:hrio -> prob:bri ang:vrio -> prob:bgi mult_H1_in -> stk:rhi mult_V1_in -> stk:rvi stk:bko -> cro:ci stk:gko -> swi:bdi stk:gko -> swi:bdi prob:ro -> mult_H_out prob:go -> mult_V_out mult_H2_in -> dsg:ohi mult_V2_in -> dsg:ovi dsg:oso -> key:rki key:ro -> pro:abi DUMMY -> pro:bbi pro:bo -> window_key_out window_key_in -> key:gci key:go -> rib:di tbc:ayo -> key:bki key:bo -> con:ri rib:daco -> con:rci con:rgbo -> swi:frgbi tbc:byo -> rib:adci rib:do -> swi:trgbi dwo:oso -> pro:ari dwo:tso -> pro:agi tbc:argbo -> swi:orgbi tbc:brgbo -> swi:thrgbi swi:brgb -> dis:rgbi dis:orgbo -> cro:argbi dis:trgbo -> sta:rgbi sta:to -> cro:bri sta:eo -> cro:bgi sta:so -> cro:bbi cro:lo -> Luma_fdbk_out Luma_fdbk_in -> sta:si cro:rgbo -> esg:rgbi esg:co -> "main out" }}

reinterpret
digraph structs {node [shape=record]; { tbc [label="TBC2 |{ { <argbo> A RGB }}}"]; sta [label="Stairs |{ { <ri> R }| { <fo> /4 }}}"]; rib [label="Ribbons |{ { <adci> ADC }| { <idaco> Inverted DAC } } } "]; swa [label="Swatch |{ { <rgbi > RGB | <yi> Y }| { <crgbo>Clamp RGB | <yo> Y }}}"]; esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component }}}"]; tbc:argbo -> swa:rgbi swa:yo -> sta:ri sta:fo -> rib:adci rib:idaco -> processed_luma_out processed_luma_in -> swa:yi swa:crgbo -> esg:rgbi esg:co -> "main out" }}

new 23 colorizer
digraph structs {node [shape=record]; { tbc [label=" TBC2 |{ { <ayrgbo> A YRGB }}}"]; dist [label="Dist|{ { <yrgbi> YRGB }| { <oyo> Y | <orgbo> 1 RGB | <twrgbo> 2 RGB | <twyo> Y | <thyo> Y }}}"]; rib [label=" Ribbons |{ { <adci> ADC }| { <daco> DAC } } } " ]; fac [label="Factors |{ { <rgbi> RGB | <cvrgbi> CV RGB } | { <rgbo> RGB}}}"]; pro [label= "Proc |{ { <bri> B 1 | <ari> A 1 } | { <ro> Out 1 }}}"]; key [label="Keychain |{ { <rgbi> RGB | <rci> CV 1 } | { <rgbo> RGB}}}"]; cro [label="Crossfader |{ { <bri> B R | <argbi> A RGB } | { <rgbo> RGB }}"]; esg [label="ESG3|{ { <rgbi> RGB }| { <co> Component }}}"]; tbc:ayrgbo -> dist:yrgbi dist:orgbo -> fac:rgbi dist:twrgbo -> key:rgbi key:rgbo -> fac:cvrgbi dist:thyo -> rib:adci dist:twyo -> pro:bri rib:daco -> pro:ari pro:ro -> key:rci fac:rgbo -> cro:argbi dist:oyo -> cro:bri cro:rgbo -> esg:rgbi esg:co -> "main out" }}

scrolls gen3 shape position and scale
digraph structs {node [shape=record]; { scr [label="Scrolls|{ { <ofci> Freq CV | <tfci> 2 Freq CV }| { <tbmo> 2 B mod | <oamo> 1 A mod | <obmo> 1 B mod | <tamo> 2 A mod | <oto> 1 tri | <tto> 2 tri }}} "]; fac [label="Factors |{ { <ri> In 1 | <gi> 2 | <cvri> CV 1 | <cvgi > 2 } | { <ro > Out 1 | <go > 2 }}}"]; pro [label="Proc |{ { <ari> A 1 | <agi> 2 | <bri > B 1 | <bgi> 2 } | { <ro> Out 1 | <go> 2 }}}" ]; ang [label="Angles|{ { <ai> A | < bi> B }| { <mo> 180 | <no> 195 | <oo> 210 | <so> 270 | <to> 285 | <uo> 300 | <po> 225 | <vo> 315 } } } "]; stk [label="stacker |{ { <hoi> H 1 | < hti> H 2 | <hthi> H 3 | <voi> V 1 | <vti> V 2 | <vthi> V 3} | { <koo> Key 1 | <kto> 2 | <ktho> 3} } } "] ; smx [label="SMX3|{ { <ari> A R | <bri> B R | <cri> C R }| { <rgbo> RGB}}}"]; swi [label="Switcher|{ { <argbi > 1 RGB | <bri> 2 R | <aai> Select A0 }| { <argbo> A RGB } } } "]; cro [label="Crossfader |{ { <argbi> A RGB } | { <rgbo> RGB | <lo> Luma }}"]; esg [label="ESG3|{ { <rgbi> RGB }| { < co> Component }}}"]; key [label="Keychain |{ { <rci> CV 1 | <rki> Key 1 } | { <ro> Out 1 }}}"]; con [label="Contour |{ { <rci > CV 1 | <gci> 2 | <bci> 3 | <ri> Filter 1 | <gi> 2 | <bi> 3} | { <ro> Out 1 | <go> 2 | <bo> 3 }}}"]; rib [label="Ribbons |{ { <adci> ADC }| { <daco> DAC } } } "]; dsg [label="DSG3|{ { <ohi> 1 H | <ovi> 1 V }| { <oso> 1 SUM }}} "]; sta [label="Stairs |{ { <ri> R }| { <fo> /4 }}}"]; dwo [label="DWO3|{ { <oto> 1 Tri | <tto> 2 Tri }}} "]; dwob [label="DWO3 B|{ { <oto> 1 Tri | <tto> 2 Tri }}} "]; scr:oamo -> con:rci scr:tamo -> con:bci scr:obmo -> con:gci scr:tbmo -> "scrolls mod out" "scrolls mod in" -> key:rci scr:oto -> fac:ri scr:tto -> fac:gi fac:ro -> pro:ari fac:go -> pro:agi pro:ro -> ang:ai pro:go -> ang:bi ang:mo -> stk:hoi ang:so -> stk:voi ang:no -> stk:hti ang:to -> stk:vti ang:oo -> stk:hthi ang:uo -> stk:vthi ang:po -> dsg:ohi ang:vo -> dsg:ovi dsg:oso -> sta:ri sta:fo -> rib:adci rib:daco -> key:rki key:ro -> swi:aai dwo:oto -> pro:bri dwo:tto -> pro:bgi dwob:oto -> fac:cvri dwob:tto -> fac:cvgi stk:koo -> con:ri stk:kto -> con:gi stk:ktho -> con:bi con:ro -> smx:ari con:go -> smx:bri con:bo -> smx:cri smx:rgbo -> swi:argbi swi:argbo -> cro:argbi cro:rgbo -> esg:rgbi cro:lo -> "luma_feedback_out" "luma_feedback_in" -> swi:bri esg:co -> "main out" }}

2 Likes

current working patching

3 Likes

thanks very much for these, I will try them soon!

1 Like

I’m making some basic templates that I can use to speed up some workflows I find myself coming back to depending on what the desired result is.

I have these built as multi actions on the Elgato stream deck so that I can just press a button and the full patch gets built then I can patch from there.


gen3 basic positionable shape gen

Scrolls gen3 basic base

Scrolls gen3 expanded base

Scrolls gen3 basic base dual ribbons

Scrolls gen3 expanded base dual ribbons

Triple Scrolls gen3 base

TBC2 base full

1 Like