67 _rng_engine(rngEngine), _dist(0.0, stddev), _stddev(stddev)
79 std::reference_wrapper<std::mt19937> _rng_engine;
80 std::normal_distribution<> _dist;
98 _rng_engine(rngEngine), _dist(k, 1.0)
110 std::reference_wrapper<std::mt19937> _rng_engine;
111 std::gamma_distribution<> _dist;
147 void reset() noexcept;
152 std::reference_wrapper<std::mt19937> _rng_engine;
161 void createTree(
RealType fAlpha,
int fInt,
unsigned branches);
185 const std::vector<RealType>& inWeights,
RealType frequency,
RealType phaseOffset,
186 RealType freqOffset,
int branches)
noexcept;
212 [[nodiscard]]
bool enabled()
const;
215 std::reference_wrapper<std::mt19937> _rng_engine;
216 std::vector<std::unique_ptr<MultirateGenerator>> _generators;
217 std::vector<RealType> _weights;
221 std::size_t _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.
RealType getSample() override
Generates a multirate noise sample.
void skipSamples(std::size_t samples) noexcept
Skips a number of samples in the noise sequence.
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.