36 SingWave( std::string fileName,
bool raw =
false );
42 void reset(
void ) { wave_.reset(); lastFrame_[0] = 0.0; };
48 void normalize( StkFloat peak ) { wave_.normalize( peak ); };
60 void setRandomGain( StkFloat gain ) { modulator_.setRandomGain( gain ); };
66 void setGainRate( StkFloat rate ) { envelope_.setRate( rate ); };
69 void setGainTarget( StkFloat target ) { envelope_.setTarget( target ); };
72 void noteOn(
void ) { envelope_.keyOn(); };
75 void noteOff(
void ) { envelope_.keyOff(); };
78 StkFloat
lastOut(
void )
const {
return lastFrame_[0]; };
81 StkFloat
tick(
void );
104inline StkFloat SingWave :: tick(
void )
107 StkFloat newRate = pitchEnvelope_.
tick();
108 newRate += newRate * modulator_.tick();
109 wave_.setRate( newRate );
111 lastFrame_[0] = wave_.tick();
112 lastFrame_[0] *= envelope_.tick();
114 return lastFrame_[0];
119#if defined(_STK_DEBUG_)
120 if ( channel >= frames.
channels() ) {
121 oStream_ <<
"SingWave::tick(): channel and StkFrames arguments are incompatible!";
126 StkFloat *samples = &frames[channel];
127 unsigned int hop = frames.
channels();
128 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop )
STK linear line envelope class.
Definition Envelope.h:23
StkFloat tick(void)
Compute and return one output sample.
Definition Envelope.h:89
STK file looping / oscillator class.
Definition FileLoop.h:27
Generator(void)
Class constructor.
Definition Generator.h:25
STK periodic/random modulator.
Definition Modulate.h:24
~SingWave(void)
Class destructor.
void setRandomGain(StkFloat gain)
Set the random-ness amount.
Definition SingWave.h:60
StkFloat tick(void)
Compute and return one output sample.
Definition SingWave.h:104
void setVibratoGain(StkFloat gain)
Set the vibrato gain.
Definition SingWave.h:57
SingWave(std::string fileName, bool raw=false)
Class constructor taking filename argument.
void setGainRate(StkFloat rate)
Set the gain rate.
Definition SingWave.h:66
void reset(void)
Reset file to beginning.
Definition SingWave.h:42
void setVibratoRate(StkFloat rate)
Set the vibrato frequency in Hz.
Definition SingWave.h:54
void noteOn(void)
Start a note.
Definition SingWave.h:72
void setSweepRate(StkFloat rate)
Set the sweep rate.
Definition SingWave.h:63
StkFloat lastOut(void) const
Return the last computed output value.
Definition SingWave.h:78
void setGainTarget(StkFloat target)
Set the gain target value.
Definition SingWave.h:69
void noteOff(void)
Stop a note.
Definition SingWave.h:75
void setFrequency(StkFloat frequency)
Set looping parameters for a particular frequency.
void normalize(void)
Normalize the file to a maximum of +-1.0.
Definition SingWave.h:45
void normalize(StkFloat peak)
Normalize the file to a maximum of +- peak.
Definition SingWave.h:48
An STK class to handle vectorized audio data.
Definition Stk.h:279
unsigned int channels(void) const
Return the number of channels represented by the data.
Definition Stk.h:416
unsigned int frames(void) const
Return the number of sample frames represented by the data.
Definition Stk.h:419
static void handleError(const char *message, StkError::Type type)
Static function for error reporting and handling using c-strings.
The STK namespace.
Definition ADSR.h:6