SuperCollider's Pbind pattern system is comprehensive but hard to read and manipulate live, motivating constrained live-coding languages
SuperCollider’s pattern system uses Pbind to bind named keys (\midinote, \dur, \instrument) to Pattern objects such as Pseq, Prand, and Pshuf that generate values per key. It is comprehensive and flexible — almost any synth parameter can be patterned — and it can be nudged toward live use with PatternProxy, Pdef/Pdefn, and array methods (a.reverse, a.scramble) reintroduced into a running pattern’s source. But parallel pitch/duration arrays are hard to read at a glance, and the syntax is not well suited to live manipulation. Magnusson and McLean use SuperCollider as the ‘before’ case to motivate ixi lang and TidalCycles: what is gained by deliberately constraining the system for real-time performance?
Examples
Pbind(\instrument,\piano,\midinote,Pseq([60,62,64],inf),\dur,0.25): readable enough small, but pitches and durations live in separate lists that don’t visually align as one musical gesture.
Assessment
Describe Pbind’s role in SuperCollider’s pattern system and state the readability and live-performance tradeoffs that motivate constrained languages like ixi lang and TidalCycles.