assigns incoming triggers to playback voices under static polyphony constraints. determines which voice plays each event using rules like round-robin, priority, or weighted selection.
works with any trigger stream — whether from grid
(metrical) or field
(non-metrical) — and is independent of timing structure. voice logic operates purely on trigger order and allocation strategy.
id 0 round-robin
description: cycles through available voices in fixed order
real-world analogy: evenly distributing workload
notes:
a sets starting voice offset (0 = first voice, 1 = last voice)
b sets stride (0 = sequential, 1 = skip every other)
deterministic, non-stealing
id 1 weighted round-robin
description: chooses voices according to static weight proportions
real-world analogy: assigning emphasis or prominence to certain voices
notes:
a sets spread of weights (0 = uniform, 1 = extreme imbalance)
b sets reseed rate (0 = static weights, 1 = reweight every cycle)
useful for patterned or dynamic texture across voices
id 2 max-poly limit
description: enforces a hard cap on simultaneous voices; excess triggers are dropped or reassigned
real-world analogy: hardware voice limits, stylistic sparsity
notes:
a sets drop/steal rule (0 = drop newest, 1 = drop oldest)
b sets fade-out time for interrupted voices
ensures control over polyphonic density
round-robin
a: starting voice index
b: stride (0 = sequential, 1 = skip voices)
weighted round-robin
a: weight spread
b: reseed rate per cycle
max-poly limit
a: drop rule (newest vs oldest)
b: release fade time
each form is static, deterministic, and fully compatible with any onset source. together they span the core strategies of voice assignment without requiring runtime state or feedback.
voicing
governs how sounds are distributed across voices, independent of how or when triggers arrive. compatible with both grid
and field
, these forms offer robust, parametric control over voice allocation in any sonic context. fully precomputed and repeatable, they ensure that every event knows exactly who will play it.