home/ atoms/ sc-bus-node-ordering

In SuperCollider, effects buses require correct node ordering so the effect Synth reads the source Synth's output

SuperCollider’s server processes Synth nodes in a tree order. When using effects (reverb, distortion), the source Synth must write to an audio bus (Out.ar(effectBus, signal)) and the effect Synth must read from that bus (In.ar(effectBus)) and write to the hardware output. Crucially, the effect Synth must run after the source Synths in the node tree — otherwise it reads from the bus before the source writes, producing silence or stale data. This ordering is controlled by target groups and addAction arguments when creating Synths. Understanding group management (Group, addToHead, addToTail, addAfter, addBefore) is essential for any patch with global effects sends.

Examples

// Create effect group after instrument group
g = Group.new; // default group
e = Group.after(g); // effect runs after
Synth(\reverb, target: e);
Synth(\lead, [\out, ~fxBus], target: g);

Assessment

Set up a two-group patch: a melody SynthDef writing to bus 4, and a reverb SynthDef reading bus 4. Verify you can hear reverb on the melody. Then swap the group order and describe what you hear.

“Execution order is critical here and you will need to understand 6.3 to achieve this.”
corpus · nick-collins-supercollider-tutorial-12-week-course · chunk 1