29 #ifndef INCLUDE_Basic_FM_Instrument_H
30 #define INCLUDE_Basic_FM_Instrument_H
46 virtual void setParameter(
unsigned selector,
int argc,
void **argv,
const char *types);
48 void parseArgs(
int argc,
void **argv,
const char *types);
49 virtual void playOSC(
int argc,
void **argv,
const char *types);
51 void playNote(
float dur = 1,
float ampl = 1,
52 float c_fr = 110,
float m_fr = 110,
float ind = 1,
float pos = 0,
53 float att = 0.1,
float dec = 0.1,
float sus = 0.5,
float rel = 0.1,
54 float i_att = 0.1,
float i_dec = 0.1,
float i_sus = 0.5,
float i_rel = 0.1);
55 void playMIDI(
float dur,
int chan,
int key,
int vel);
72 void setParameter(
unsigned selector,
int argc,
void **argv,
const char *types);
73 void playOSC(
int argc,
void **argv,
const char *types);
74 void playMIDI(
float dur,
int chan,
int key,
int vel);
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
void setParameter(unsigned selector, int argc, void **argv, const char *types)
Plug functions.
virtual void setParameter(unsigned selector, int argc, void **argv, const char *types)
Plug functions.
FancyFMInstrument()
Constructor.
void parseArgs(int argc, void **argv, const char *types)
Play functions.
White noise – equal power per frequency.
Butter mChFilter
chiff filter
virtual void playOSC(int argc, void **argv, const char *types)
WhiteNoise mChiff
chiff noise
Osc mVibrato
sine oscillator for vibrato
ADSR mIEnv
amplitude & modulation index envelopes
CSL port of the public domain Freeverb reverberator.
ADSR = 4-segment attack/decay/sustain/release envelope class.
Instrument class (abstract)
FancyFMInstrument - FM with vibrato (with AR-envelope), attack chiff (filtered noise with AR-envelope...
void playMIDI(float dur, int chan, int key, int vel)
These are the additional UGens of the DSP graph (i.e., the FM instrument)
Butterworth IIR (2nd order recursive) filter.
Osc mMod
2 sine oscillators, carrier and modulator
void playNote(float dur=1, float ampl=1, float c_fr=110, float m_fr=110, float ind=1, float pos=0, float att=0.1, float dec=0.1, float sus=0.5, float rel=0.1, float i_att=0.1, float i_dec=0.1, float i_sus=0.5, float i_rel=0.1)
FMInstrument()
Constructor.
The CSL mono-to-stereo L/R panner class.
Panner mPanner
stereo panner
void playMIDI(float dur, int chan, int key, int vel)
These are the UGens of the DSP graph (i.e., the FM instrument)
Envelope mVibEnv
vibrato envelope
ADSR mChiffEnv
attack-chiff envelope
Envelope: a collection of LineSegments; may have an input (scale) and act like a processor, or have no input and act like a control UGen. I inherit Scalable setScale, setOffset for inputs.
void playOSC(int argc, void **argv, const char *types)