home/ atoms/ sc-additive-synthesis

Additive synthesis builds complex timbres by summing sine waves at chosen frequencies and amplitudes

Additive synthesis models a sound as a sum of sine partials, each with its own frequency and amplitude. Classical waveforms follow Fourier recipes: a sawtooth sums all harmonics (1/n amplitude, alternating sign); a square uses odd harmonics only (1/n); a triangle uses odd harmonics at 1/n² falloff. In SuperCollider, Mix() combines an array of SinOsc UGens. Real instruments can be approximated by tuning multipliers and per-partial amplitudes — bell synthesis uses inharmonic multipliers like 0.5, 1, 1.19, 1.56. Additive is computationally expensive at high partial counts but gives full control over spectral content, making it ideal for timbres that cannot be filtered from simple waveforms.

Examples

// Bell: inharmonic partials with individual amplitudes
{Mix(SinOsc.ar(500*[0.5,1,1.19,1.56,2,2.51,2.66,3.01,4.1],
    0, 0.1*[0.25,1,0.8,0.5,0.9,0.4,0.3,0.6,0.1]))}.scope

Assessment

Implement a square wave using additive synthesis (5 odd harmonics), compare its spectrum visually against Pulse.ar, and add one even harmonic — describe what changes in the sound.

“we can start with simple building blocks and add many of them together to create more involved sounds”