Home Information Classes Download Usage Mail List Requirements Links FAQ Tutorial
STK noise generator. More...
#include <Noise.h>
Public Member Functions | |
Noise (unsigned int seed=0) | |
Default constructor that can also take a specific seed value. | |
void | setSeed (unsigned int seed=0) |
Seed the random number generator with a specific seed value. | |
StkFloat | lastOut (void) const |
Return the last computed output value. | |
StkFloat | tick (void) |
Compute and return one output sample. | |
StkFrames & | tick (StkFrames &frames, unsigned int channel=0) |
Fill a channel of the StkFrames object with computed outputs. |
STK noise generator.
Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another.
by Perry R. Cook and Gary P. Scavone, 1995-2011.
stk::Noise::Noise | ( | unsigned int | seed = 0 |
) |
Default constructor that can also take a specific seed value.
If the seed value is zero (the default value), the random number generator is seeded with the system time.
void stk::Noise::setSeed | ( | unsigned int | seed = 0 |
) |
Seed the random number generator with a specific seed value.
If no seed is provided or the seed value is zero, the random number generator is seeded with the current system time.
Fill a channel of the StkFrames object with computed outputs.
The channel
argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.
Implements stk::Generator.
00064 { 00065 #if defined(_STK_DEBUG_) 00066 if ( channel >= frames.channels() ) { 00067 oStream_ << "Noise::tick(): channel and StkFrames arguments are incompatible!"; 00068 handleError( StkError::FUNCTION_ARGUMENT ); 00069 } 00070 #endif 00071 00072 StkFloat *samples = &frames[channel]; 00073 unsigned int hop = frames.channels(); 00074 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) 00075 *samples = (StkFloat) ( 2.0 * rand() / (RAND_MAX + 1.0) - 1.0 ); 00076 00077 lastFrame_[0] = *(samples-hop); 00078 return frames; 00079 }
The Synthesis ToolKit in C++ (STK) |
©1995-2011 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |