SynthLab SDK
|
The SynthLab-KS example demonstrates physical models of plucked and picked string instruments using the Karplus-Strong algorithm. As with the VA synth, there is only a single core and in this case there are three algorithms: nylong string guitar, bass guitar and distorted electric guitar. All are based on the same modified Karplus-Strong algorithm that is outlined and detailed in the synth book.
The modulation matrix is formatted as a "pin programmable" control, reminiscent of the EMS VCS3. Note that the ModulationMatrix C++ object is designed for a variety of different interfaces with intensity controls and internal switches that will work with practially any mod matrix scheme. For all SynthLab examples, the filterEG -> filter fc routings are pre-enabled and the source and destination intensities are set to 0.75 so that you will hear the effects in the first patch. This panel also includes the ping-pong delay controls.
Figure 1. SynthLab-KS Interface
There are three algorithms to choose from that are detailed in the synth book. However, these oscillator blocks are unique in their construction as they require setting attributes for the exciter – a short duration noise blast – that forces energy into the resonator, where it decays away over time. Among the several approaches for creating the excitation signal, I am using an AHR (attack-hold-release) EG to shape the noise blast. The default setting of attack = 1 mSec, hold = 30 mSec, release = 1 mSec produces a short square pulse of noise that creates the classic plucked string sound. Increasing the attack time to high values produces an effect that simulates a bowed string (cello or violin) without the added complexities of those models. These three EG controls are crucial to the algorithm and can produce a nearly infinite set of variations on a relatively fixed algorithm.
The Decay, Bite and Pluck Pos(ition) controls affect the resonator portion of the algorithm. See the synth book for implementation details. The pluck position control adjusts the virtual location of the musician's plucking finger or pick, referenced as a percentage of the string length. At the lowest (counter clockwise) setting, the virtual pluck position is 1/10th (10%) the distance from the nut to the bridge. At the highest (clockwise) setting, the position is at 1/2 the string length (50%), over the 12th fret on a guitar or bass. Most guitarists play with the plucking hand around 1/5 the string length and over the pickups (electric) or sound hole (acoustic) of the instrument.
Figure 2: the KS algorithm selection, exciter noise shaping, and resonator filtering
Figure 3 shows the modulatiom matrix panel, which is fundamentally identical across all SynthLab synths (there are minor differences for the DX and WS varieties). The destinations are columns and sources are rows. Each source and destination features a single intensity control (see the synth book for alternate modulation matrix schemes). Routings are enabled by pressing the buttons that connect rows and columns. For the KS synth, the unique modulation is pan-mod. In Figure 3, you can see that LFO2 has been chosen as a modulation source for the "unique modulation" destination and source/destination intensities have been adjusted for operation.
Figure 3: SynthLab-KS modulation matrix panel with LFO2 selected for the oscillator unique modulation