frac32 in semitones
None
static const uint32_t LENGTHPOW = 4;
static const uint32_t LENGTH = 1 << LENGTHPOW;
static const uint32_t LENGTHMASK = (1 << LENGTHPOW) - 1;
static const uint32_t BITS = 32;
static const uint32_t GAIN = 0;
int32_t array[LENGTH];
int i;
for (i = 0; i < LENGTH; i++) {
array[i] = 0;
}
int32_t f0 = mtof48k_ext_q31(inlet_detune + (24 << 21));
// hammond gear ratios
const float ref_E = 0.5f * 67.f / 69.f;
static const int32_t intervals[] = {
(int32_t)((1ll << 31) * 85.f * ref_E / 104.f),
(int32_t)((1ll << 31) * 71.f * ref_E / 82.f),
(int32_t)((1ll << 31) * 67.f * ref_E / 73.f),
(int32_t)((1ll << 31) * 70.f * ref_E / 72.f),
(int32_t)((1ll << 31) * 69.f * ref_E / 67.f),
(int32_t)((2ll << 31) * 54.f * ref_E / 99.f),
(int32_t)((2ll << 31) * 37.f * ref_E / 64.f),
(int32_t)((2ll << 31) * 49.f * ref_E / 80.f),
(int32_t)((2ll << 31) * 48.f * ref_E / 74.f),
(int32_t)((2ll << 31) * 66.f * ref_E / 96.f),
(int32_t)((2ll << 31) * 67.f * ref_E / 92.f),
(int32_t)((2ll << 31) * 54.f * ref_E / 70.f),
};
int i;
for (i = 0; i < 12; i++) {
array[i] = ___SMMUL(f0, intervals[i]);
}