SynthLab SDK
SynthLab::Exciter Class Reference

Special purpose object for use as Karplus Strong exciter. More...

#include <exciter.h>

Public Member Functions

 Exciter ()
 empty constructor
 
virtual ~Exciter ()
 empty constructor
 
bool reset (double _sampleRate)
 Reset the exciter iternal components. More...
 
double render (double coupledInput=0.0)
 Render the exciter: More...
 
void startExciter ()
 Start the exciter: More...
 
void setParameters (double attackTime_mSec, double holdTime_mSec, double releaseTime_mSec)
 Set the attack/hold/release time on the noiseEG object. More...
 

Protected Attributes

NoiseGenerator noiseGen
 noise maker
 
ExciterEG noiseEG
 EG to shape the noise.
 
DCRemovalFilter dcFilter
 DC removal for short term random bias.
 

Detailed Description

Special purpose object for use as Karplus Strong exciter.

  • does not use a base class or interface
  • custom designed for use with KS algorithm
Author
Will Pirkle http://www.willpirkle.com
Remarks
This object is included and described in further detail in Designing Software Synthesizer Plugins in C++ 2nd Ed. by Will Pirkle
Version
Revision : 1.0
Date
Date : 2021 / 04 / 26

Member Function Documentation

◆ render()

double SynthLab::Exciter::render ( double  coupledInput = 0.0)

Render the exciter:

  • generate noise
  • shape this noise with the EG
  • remove DC component
Returns
shaped noise blast

◆ reset()

bool SynthLab::Exciter::reset ( double  _sampleRate)

Reset the exciter iternal components.

Similar functions as SynthModule, only simpler

Returns
true if successfule

◆ setParameters()

void SynthLab::Exciter::setParameters ( double  attackTime_mSec,
double  holdTime_mSec,
double  releaseTime_mSec 
)

Set the attack/hold/release time on the noiseEG object.

Parameters
attackTime_mSecattack in mSec
holdTime_mSechold in mSec
releaseTime_mSecrelease in mSec

◆ startExciter()

void SynthLab::Exciter::startExciter ( )

Start the exciter:

  • init/start the noise maker

The documentation for this class was generated from the following files: