66 _rng_engine(rngEngine), _dist(0.0, stddev), _stddev(stddev)
78 std::reference_wrapper<std::mt19937> _rng_engine;
79 std::normal_distribution<> _dist;
97 _rng_engine(rngEngine), _dist(k, 1.0)
109 std::reference_wrapper<std::mt19937> _rng_engine;
110 std::gamma_distribution<> _dist;
146 void reset() noexcept;
151 std::reference_wrapper<std::mt19937> _rng_engine;
160 void createTree(
RealType fAlpha,
int fInt,
unsigned branches);
184 const std::vector<RealType>& inWeights,
RealType frequency,
RealType phaseOffset,
185 RealType freqOffset,
int branches)
noexcept;
211 [[nodiscard]]
bool enabled()
const;
214 std::reference_wrapper<std::mt19937> _rng_engine;
215 std::vector<std::unique_ptr<MultirateGenerator>> _generators;
216 std::vector<RealType> _weights;
220 unsigned long _count = 0;
Generates noise using a clock model with multiple rates.
Class responsible for generating fractional and integer noise components.
Generates Gamma-distributed noise.
RealType getSample() noexcept override
Generates a sample of Gamma noise.
GammaGenerator(std::mt19937 &rngEngine, const RealType k) noexcept
Constructor to initialize the Gamma generator with a shape parameter.
Generates multirate noise using a hierarchical tree structure.
void reset() noexcept
Resets the noise generator state.
void skipSamples(long long samples) noexcept
Skips a number of samples in the noise sequence.
RealType getSample() override
Generates a multirate noise sample.
Abstract base class for noise generators.
NoiseGenerator(NoiseGenerator &&)=delete
NoiseGenerator & operator=(const NoiseGenerator &)=delete
NoiseGenerator & operator=(NoiseGenerator &&)=delete
NoiseGenerator(const NoiseGenerator &)=delete
virtual ~NoiseGenerator()=default
virtual RealType getSample()=0
Pure virtual method to generate a noise sample.
Generates white Gaussian noise.
WgnGenerator(std::mt19937 &rngEngine, const RealType stddev=1.0) noexcept
Constructor to initialize the WGN generator with a given standard deviation.
RealType getSample() noexcept override
Generates a sample of white Gaussian noise.
Global configuration file for the project.
double RealType
Type for real numbers.
Implementation of the FAlphaBranch class for noise generation.