We’ve explored additive oscillators in a subtractive architecture. Now let’s build a proper, if simplified, additive signal path with no filters and multiple envelope generators. For this, we’ll use KarmaFX Synth.
Whereas subtractive synths start with a harmonically complex waveform and whittle it away with filters, an additive synth builds up complex sounds by piling on loads of simple waveforms. A full additive system offers individual pitch and amplitude envelopes for each sine wave. Complex, to say the least.
But fear not, we've created this simple guide to additive synthesis in KarmaFX's synth modular to get you started.
Step 1: Start with the CMBasic preset, which can be downloaded from here. Right-click in an empty and choose Add Module > Generator > Additive.
Step 2: Click the middle button just to the right of the Monics knob. Now reduce the value of the Monics knob until the left display reads Harmonics: 32. It’s not many, but it’s a start. To hear it, we must route it to the Amplifier, but first, we’ll right-click in an empty area and select Add Module > Modulator > ADSR.
Step 3: Let’s now right-click on Amplifier1’s title bar and choose Generator1 as its input. Next, we’ll right-click on Amplifier1’s Amp knob and select Modulator1 as that knob’s input. We can then adjust our ADSR knobs. Increase Decay and Release. If we now trigger some notes, we hear the rather plain waveform produced by the Additive oscillator.
Step 4: Ideally we’d have an amp envelope for every harmonic, but that would take ages to patch. Instead, let’s control the harmonics in blocks of eight. We’ll reduce all but the first eight harmonics in our Additive Oscillator to nil, and tweak the levels of the remaining eight. Let’s add another ADSR, this time lashed to the Additive Osc’s Out slider.
Step 5: Let’s add a second Additive Generator, also with the Monics knob set to 32. We’ll reduce all but Harmonics 9-16 to nil and tweak those remaining. We’ll once again add an ADSR and patch it to the new Additive Oscillator’s Out slider. Now, we’ll adjust all three ADSRs so that the values of Attack, Decay, Sustain, and Release differ.
Step 6: Finally, let’s reduce the onscreen clutter by minimising our oscillators and ADSRs. Then, fill the remaining space with another two additive oscillators – one with only Harmonics 17-24, the other with only Harmonics 25-32 – and tie an ADSR each to their Out sliders. A few tweaks later, we’ve got an interesting timbre… without a filter in sight!