Feat: add noise wave generation

Refs: #9
gen-noise
rkcf 2023-02-28 11:50:03 -06:00
parent 3905ef9e1c
commit 60f379031e
2 changed files with 22 additions and 0 deletions

View File

@ -1,4 +1,6 @@
#include <cmath>
#include <random>
#include "common.h"
#include "generators.h"
#include "wave.h"
@ -84,3 +86,18 @@ sample_table_t gen_isaw()
return isaw_vals;
}
sample_table_t gen_noise()
{
// setup RNG for floats in [-1, 1]
std::default_random_engine generator;
std::uniform_real_distribution<float_t> distribution(-1, 1);
sample_table_t noise_vals = {};
// Set first and last value to 0
noise_vals[0] = 0;
noise_vals[DEFAULT_N_SAMPLES - 1] = 0;
for (uint16_t i = 1; i < DEFAULT_N_SAMPLES - 1; i++) {
noise_vals[i] = distribution(generator);
}
return noise_vals;
}

View File

@ -31,4 +31,9 @@ sample_table_t gen_isaw();
*/
sample_table_t gen_tri();
/*! Generate noise wave data
@return a table of values
*/
sample_table_t gen_noise();
#endif // GENERATORS_H_