Eurorack patch diagram renderer. Patchbook-compatible notation to skeuomorphic SVG block diagrams.
The diagrams below are regenerated on every push to main — they reflect the current output of the library.
MATHS:
* CH 1: Cycle ON
* CH 2: Attenuverter ~2 o'clock
- MATHS.CH 1 (OUT) >> MATHS.CH 2 (In)
- MATHS.CH 2 (Out) >> MATHS.CH 1 (Fall CV) // shortens fall each cycle
MATHS:
* CH 1: Cycle OFF, Rise + Fall matched
* CH 4: Cycle OFF, Rise + Fall matched
- MATHS.CH 1 (EOR) g> MATHS.CH 4 (Trig)
- MATHS.CH 4 (EOC) g> MATHS.CH 1 (Trig)
- MATHS.CH 1 (OUT) >> Filter (Cutoff)
- MATHS.CH 4 (OUT) >> VCA (CV)
- Oscillator (Out) -> Filter (In)
- Envelope (Out) >> Filter (Cutoff)
- Filter (Out) -> VCA (In)
- LFO (Out) >> VCA (CV)
VOICE 1:
- Osc1 (Out) -> Mixer (In1)
- Env1 (Out) >> VCA1 (CV)
VOICE 2:
- Osc2 (Out) -> Mixer (In2)
- Env2 (Out) >> VCA2 (CV)
- Mixer (Out) -> Filter (In)
- Filter (Out) -> Output (In)
npm install @ogabrielluiz/patchflowimport { render } from '@ogabrielluiz/patchflow';
const svg = render(`
MATHS:
* CH 1: Cycle ON
* CH 2: Attenuverter ~2 o'clock
- MATHS.CH 1 (OUT) >> MATHS.CH 2 (In)
- MATHS.CH 2 (Out) >> MATHS.CH 1 (Fall CV) // shortens fall each cycle
`);| Operator | Signal Type |
|---|---|
-> |
Audio |
>> |
CV |
p> |
Pitch / 1V/oct |
g> |
Gate |
t> |
Trigger |
c> |
Clock |
render(notation, options?)— notation to SVG stringparse(notation)— notation to PatchGraphlayout(graph, options?)— PatchGraph to LayoutResultrenderSvg(layoutResult, theme)— LayoutResult + Theme to SVGcreateTheme(overrides)— factory with deep partial merge
MIT