memlnaut-nisps/voicespaces/VoiceSpaceQuadDetune.hpp

59 lines
1.6 KiB
C++
Raw Normal View History

2025-11-04 18:18:20 +01:00
#ifndef __VOICE_SPACE_QUAD_DETUNE_HPP__
#define __VOICE_SPACE_QUAD_DETUNE_HPP__
// VoiceSpaceQuadDetune - Ellipticacacia
// Macro to generate the voice space lambda body inline
#define VOICE_SPACE_QUAD_DETUNE_BODY \
p0Gain=1.f; \
p1Gain=1.f; \
p2Gain=1.f; \
p3Gain=0.8f; \
\
const float factor = 1.f + (params[17] * 0.2f); \
detune1 = 1.f * factor; \
detune2 = detune1 * factor; \
detune3 = detune2 * factor; \
\
paf0_cf = (params[0] * 1.0f); \
paf1_cf = (params[0] * 2.0f); \
paf2_cf = (params[1] * 3.0f); \
paf3_cf = (params[1] * 5.0f); \
\
paf0_bw = 10.f + (params[2] * 500.f); \
paf1_bw = 10.f + (params[3] * 500.f); \
paf2_bw = 10.f + (params[4] * 500.f); \
paf3_bw = 10.f + (params[5] * 2000.f); \
\
paf0_vib = (params[18] * params[18] * 0.05f); \
paf1_vib = paf0_vib; \
paf2_vib = 0.f; \
paf3_vib = 0.f; \
\
paf0_vfr = (params[19] * params[19] * 15.f); \
paf1_vfr = paf0_vfr; \
paf2_vfr = 0.f; \
paf3_vfr = 0.f; \
\
paf0_shift=0.f; \
paf1_shift=0.f; \
paf2_shift=0.f; \
paf3_shift = -40.f + (params[9] * 80.f); \
\
dl1mix = 0.f; \
\
dlfb = 0.f; \
\
env.setup(1.f+(params[10] * 20.f) , 1.f + (params[11] * 200.f), params[12] * 0.4f, 10.f + (params[13] * 300.f), sampleRatef ); \
\
sineShapeGain = params[14] * params[14] * 0.2f; \
sineShapeASym = params[15] * 0.05f; \
sineShapeMix = params[16] * 0.3f; \
\
rmGain = 0.f; \
feedbackGain = 0.0f; \
\
delayMax=1000; \
fbSmoothAlpha=0.f;
#endif // __VOICE_SPACE_QUAD_DETUNE_HPP__