25#ifndef SBL_DSP_MATH_EXP_MOD_HPP_
26#define SBL_DSP_MATH_EXP_MOD_HPP_
50inline float exp_mod(
float base,
float mod,
float depth,
51 float lo = 20.0f,
float hi = 20000.0f) {
53 if (freq < lo) freq = lo;
54 if (freq > hi) freq = hi;
72 float base,
float depth,
73 float lo = 20.0f,
float hi = 20000.0f) {
74 for (uint16_t i = 0; i < n; ++i) {
75 freq_out[i] =
exp_mod(base, mod[i], depth, lo, hi);
Fast analytical approximations (Audio Stack — Atoms)
Cross-cutting math used at every audio layer.
void exp_mod_block(const float *mod, float *freq_out, uint16_t n, float base, float depth, float lo=20.0f, float hi=20000.0f)
float fast_exp2f(float x)
float exp_mod(float base, float mod, float depth, float lo=20.0f, float hi=20000.0f)