home/ atoms/ chuck-gain-summing-no-limiter

ChucK sums every UGen chucked to `dac` with no master limiter, so stacked voices clip

Many UGens chucked to dac are summed together, and ChucK provides no master limiter on the output. Stacking several voices at full gain therefore clips the output hard. The remedy is gain-staging: keep each voice’s .gain modest (roughly 0.1–0.3) and/or route the sum through a Gain bus or a Dyno.limit() before dac. This is the same headroom discipline as any mixer — the number of summed sources sets how much per-voice level you can afford.

Examples

SinOsc a => dac; SinOsc b => dac; // sum; both at 1.0 clips 0.2 => a.gain; 0.2 => b.gain; // gain-staged a => Dyno d => dac; d.limit(); // bus limiter

Assessment

Three oscillators are each chucked directly to dac at gain 1.0 and the output distorts. Explain why, and give two ways to fix the level.

“Gain stacking / no limiter.** Many UGens `=> dac` **sum**; there is no master limiter. Keep per-voice `.gain` modest (0.1–0.3) and/or route through a `Gain`/`Dyno.limit()` bus, or you clip.”
context/ · L1-instruments/chuck/gotchas.md · chunk 1