File particle.h¶
File List > DaisySP > Source > Noise > particle.h
Go to the documentation of this file
Source Code¶
#pragma once
#ifndef DSY_PARTICLE_H
#define DSY_PARTICLE_H
#include "Filters/svf.h"
#include <stdint.h>
#include <cstdlib>
#ifdef __cplusplus
namespace daisysp
{
class Particle
{
public:
Particle() {}
~Particle() {}
void Init(float sample_rate);
float Process();
float GetNoise();
void SetFreq(float frequency);
void SetResonance(float resonance);
void SetRandomFreq(float freq);
void SetDensity(float density);
void SetGain(float gain);
void SetSpread(float spread);
void SetSync(bool sync);
private:
static constexpr float kRandFrac = 1.f / (float)RAND_MAX;
static constexpr float kRatioFrac = 1.f / 12.f;
float sample_rate_;
float aux_, frequency_, density_, gain_, spread_, resonance_;
bool sync_;
float rand_phase_;
float rand_freq_;
float pre_gain_;
Svf filter_;
};
} // namespace daisysp
#endif
#endif