A SuperCollider quark for Bjorklund euclidean rhythms — patterns, beats, and a playable Pbind wrapper.
| Class | Purpose |
|---|---|
EuclideanRhythm |
Bjorklund pattern as Array, onset indices, beat-aligned seconds, post-window visualisation. |
Peuclidean |
Pattern subclass — yields the bit stream, composable with any Pbind input. |
EuclideanPbind |
Convenience constructor: bits → \note/\rest events. Passes any extra Pbind key through. |
EuclideanPresets |
Named rhythms: \tresillo, \cinquillo, \sonClave, \africanBell, \cumbia, \fourOnFloor, … |
// Tresillo on the default synth, 1/16 grid
EuclideanPbind(3, 8, (instrument: \default, dur: 0.25)).play;
// Cinquillo on a saw at 220 Hz
EuclideanPbind(5, 8, (instrument: \default, dur: 0.125, freq: 220)).play;
// Preset by name
EuclideanPbind.preset(\africanBell, (instrument: \default, dur: 0.1)).play;
// Modulate amp with the pattern bits
Pbind(\instrument, \default, \dur, 0.25,
\amp, Peuclidean(7, 12) * 0.6).play;Quarks.install("https://github.com/ramonsesma/EuclideanPbinds");Local dev: clone into downloaded-quarks/ and add the path to
sclang_conf.yaml.
Run from the repository root:
& 'C:\Program Files\SuperCollider-3.14.1\sclang.exe' -D -r -s --include-path 'Classes' --include-path 'tests' 'tests\RunEuclideanPbinds.scd'Or inside sclang after loading the Quark classes:
TestEuclideanPbinds.run;The Bjorklund implementation is identical to the one in our Studio Sesma
TypeScript bridge (supercollider-bridge/src/services/euclidean.ts) so
sclang and Node produce the same 1/0 sequences for any (pulses, steps, rotation) triple.
License: MIT.
