From ba5dd579b024a6228919db694e1cd324bf4c1afc Mon Sep 17 00:00:00 2001 From: Chris Date: Sat, 22 Jul 2023 11:14:46 +0200 Subject: [PATCH] added demo noise generator --- util/demo_noise.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 util/demo_noise.h diff --git a/util/demo_noise.h b/util/demo_noise.h new file mode 100644 index 0000000..d51ae47 --- /dev/null +++ b/util/demo_noise.h @@ -0,0 +1,38 @@ +#pragma once +#define _USE_MATH_DEFINES +#include +#include + +namespace trnr { +template +class demo_noise { +public: + void set_samplerate(double _samplerate) { + samplerate = _samplerate; + } + + void process_block(t_sample** samples, long sample_frames) { + + for (int s = 0; s < sample_frames; s++) { + demo_counter++; + + if (demo_counter == samplerate * 20) { + demo_counter = 0; + } + if (demo_counter > samplerate * 17) { + t_sample r1 = static_cast(rand()) / static_cast(RAND_MAX); + t_sample r2 = static_cast(rand()) / static_cast(RAND_MAX); + + t_sample noise = static_cast(sqrt(-2.0 * log(r1)) * cos(2.0 * M_PI * r2)); + + samples[0][s] = noise / 10.0; + samples[1][s] = noise / 10.0; + } + } + } + +private: + double samplerate = 44100; + int demo_counter = 0; +}; +} \ No newline at end of file