58 void noteOn( StkFloat frequency, StkFloat amplitude );
61 void noteOff( StkFloat amplitude );
67 StkFloat
tick(
unsigned int channel = 0 );
79 void setBlowPressure( StkFloat val );
80 void setVibratoGain( StkFloat val );
81 void setVibratoFrequency( StkFloat val );
82 void setNoiseGain( StkFloat val );
83 void setBreathCutoff( StkFloat val );
84 void setSoftness( StkFloat val );
90 Iir radiation_filter_;
92 Iir visco_out_filter_;
103 StkFloat vibratoGain_;
105 StkFloat breathCutoff_;
106 StkFloat outputGain_;
140 unsigned int nChannels = lastFrame_.
channels();
141 #if defined(_STK_DEBUG_) 142 if ( channel > frames.
channels() - nChannels ) {
143 oStream_ <<
"Recorder::tick(): channel and StkFrames arguments are incompatible!";
148 StkFloat *samples = &frames[channel];
149 unsigned int j, hop = frames.
channels() - nChannels;
150 if ( nChannels == 1 ) {
151 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop )
155 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop ) {
157 for ( j=1; j<nChannels; j++ )
158 *samples++ = lastFrame_[j];
STK general infinite impulse response filter class.
Definition: Iir.h:34
void stopBlowing(StkFloat rate)
Decrease breath velocity with given rate of decrease.
static void handleError(const char *message, StkError::Type type)
Static function for error reporting and handling using c-strings.
void noteOff(StkFloat amplitude)
Stop a note with the given amplitude (speed of decay).
void clear(void)
Reset and clear all internal state.
unsigned int frames(void) const
Return the number of sample frames represented by the data.
Definition: Stk.h:407
STK sinusoid oscillator class.
Definition: SineWave.h:25
Recorder(void)
Class constructor.
The STK namespace.
Definition: ADSR.h:6
void setFrequency(StkFloat val)
Set instrument parameters for a particular frequency.
~Recorder(void)
Class destructor.
STK linear interpolating delay line class.
Definition: DelayL.h:27
unsigned int channels(void) const
Return the number of channels represented by the data.
Definition: Stk.h:404
void noteOn(StkFloat frequency, StkFloat amplitude)
Start a note with the given frequency and amplitude.
void controlChange(int number, StkFloat value)
Perform the control change specified by number and value (0.0 - 128.0).
void startBlowing(StkFloat amplitude, StkFloat rate)
Apply breath velocity to instrument with given amplitude and rate of increase.
STK ADSR envelope class.
Definition: ADSR.h:24
StkFloat tick(unsigned int channel=0)
Compute and return one output sample.
An STK class to handle vectorized audio data.
Definition: Stk.h:275
A recorder / flute physical model.
Definition: Recorder.h:36
STK instrument abstract base class.
Definition: Instrmnt.h:19
STK noise generator.
Definition: Noise.h:21