SynthLab SDK
Fixed Module/Core & GUI

As stated previously, the SynthModules and ModuleCores are already setup in a hard-wired format right out of the box. However, you have the ability to set the specific cores for each module at the top of the synthvoice.h file, after the #define statements above. This lets you cusomtize the architecture somewhat as it allows you to mix (or not) the various cores across the module objects. I've written some code that will let you define this architecture. First, you need to know the different options for each set of modules in the voice architecture. Examine the table below and you can see the options for the different cores for the various modules.

SynthModule ModuleCores
SynthLFO LFOCore: all the classic waveforms
FMLFOCore: FM waveforms
EnvelopeGenerator AnalogEGCore: analog EG emulation
DXEGCore: similar to the Yamaha DX synth EGs
LinearEGCore: used as a starting point for your own designs, or for the morphing wavetable where it works very well
SynthFilter VAFilterCore: virtual analog filters
BQFilterCore: biquadratic filters
WTOscillator ClassicWTCore: 16 interesting waveforms
MorphWTCore: morphing wavetables
DrumWTCore: wavetables of electronic drum samples
SFXCore: one shot sound effects
FourierWTCore: waveforms using Fourier synthesis, created at load-time
PCMOscillator PCMLegacyCore: PCM samples from the 1st edition synth book
MellotronCore: samples of long analog tape loops from the original Mellotron synth
WavesliceCore: PCM samples taken as slices out of a source WAV file using Aubio
KSOscillator KSOCore: classic Karplus-Strong models for guitar and bass
FMOperator FMOCore: a single sinusoidal waveform plus the DXEG on its output, begging for more waveforms
VAOscillator VACore: classic virtual analog oscillator with saw and square waves

For the SynthLab projects, you may select different cores for each of the voice's module subcomponents. You can select from more than one core for the following

  • LFO-1, LFO-2
  • amp-EG, filter-EG, aux-EG
  • filter-1, filter-2
  • any of the four wavetable oscillators
  • any of the four PCM sample oscillators

The KSOscillator, VAOscillator, and FMOperator only include one stock ModuleCore (clearly, there is room for you to add your own cores to them!) so there is nothing to setup with them.

Fixed Core Procedures/strong>


synthlab_4.png