// Euclidean rhythms — Bjorklund patterns drive 2-3 percussion voices in interlocking cycles. // Run: node examples/euclidean.js 120 16 3,5,7 20s // Run: node examples/euclidean.js tempo=120 steps=16 pulses=3,5,7 -d 20s // Keys: q quit import { AudioContext } from 'web-audio-api' import { init } from './graphs/euclidean.js' import { args, sec, keys, clearLine, help } from './utils.js' help({ description: 'drive percussion voices from Bjorklund Euclidean rhythms', usage: ['', '[tempo] [steps] [pulses] [duration]', 'tempo=120 steps=16 pulses=3,5,7 dur=20s'], options: [ ['tempo=', 'step tempo (default: 120)'], ['steps=', 'steps per cycle (default: 16)'], ['pulses=', 'pulses per voice, comma-separated (default: 3,5,7)'], ['-d, --duration