Tutorial 14:Karplus Strong Synthesis Basics

with this synthesis, we can create plucked strings - like sounds. compared to other synthesis it’s different because not the usual OSCs are involved here; instead, a noise feedback loop with a delay is triggered by a short impulse. the pitch is defined by the delaytime: the shorter the delaytime, the higher the pitch. and that’s the more tricky part of this tutorial patch, because there is no module which computes the exact pitch over the whole keyboard range. but I think its ok for a first impression.
AdernFlexor has two modules which provide perfect implementations of the KarplusStrong string model (StringSimple and StringVariable).
more about KarplusStrong: wikipedia, cnx, A.-M. Burns.

this patch uses the following modules: MVC A, ADSR envelope, AD envelope, esyncAdd2, 2xLinVCA, , polyOut, and:


(OSC/Noise)a noise generating module with adjustable bandpass filter. I have included two of them to have more control on the sound.


(Effects/Delay/Delay200M-noFB)- a short impules of noise has to be delayed and fed back afterwards to get the desired effect.

6dB Lp

(Filter/Lowpass) - changes the “strings” sound from bright to hollow


(Modifier/Converter) required when a FB loop is wanted


(Modifier/Constant) goes to...


(Modifier/Pitch) , which transposes the incoming Freq value provided by the MVC.


(Mix/Modifier) because higher Freq values result in higher pitch, higher delayTime values on the other hand result in lower pitch, we need an inverter module, unfortunately producing negative values that have to be transformed into positive values, by a...


(Mix/Modifier) module, so that the Delay modulation input can interpret them.


-adjusting the delayTime (=pitch) by tweaking constVal, pitchModifier ExpM, Del2000M modRange or modOffset
-using other ADenvelope times / slope settings
-changing the BPF cutoff settings
-changing the cutoff freq of the 6dB LP filter
-using other ADSRenvelope times / slope settings


tut01-basic mono patch
tut02-basic poly patch
tut03-basic Drum OSC patch
tut04-basic seq patch (async)
tut05-PS32 seq remote
tut06-basic seq patch (sync)
tut07-basic CWM morph patch
tut08-Modular as Fx device
tut09-subtractive synthesis basics
tut10-additive synthesis basics
tut11-FM synthesis basics
tut12-AM + RingMod synthesis basics
tut13-Phase modulation basics
tut14-KarplusStrong synthesis basics
tut15-Vector synthesis basics