voice spaces

This commit is contained in:
chriskiefer 2026-03-29 19:09:10 +01:00
parent 041b79c202
commit bae80fbd89
13 changed files with 886 additions and 71 deletions

View file

@ -12,6 +12,17 @@
#include <span> #include <span>
#include "../../voicespaces/VoiceSpaces.hpp" #include "../../voicespaces/VoiceSpaces.hpp"
#include "../../voicespaces/VerbFX/basic.hpp" #include "../../voicespaces/VerbFX/basic.hpp"
#include "../../voicespaces/VerbFX/resonant.hpp"
#include "../../voicespaces/VerbFX/soft.hpp"
#include "../../voicespaces/VerbFX/cathedral.hpp"
#include "../../voicespaces/VerbFX/shimmer.hpp"
#include "../../voicespaces/VerbFX/chamber.hpp"
#include "../../voicespaces/VerbFX/metallic.hpp"
#include "../../voicespaces/VerbFX/granular.hpp"
#include "../../voicespaces/VerbFX/diffuse.hpp"
#include "../../voicespaces/VerbFX/dark.hpp"
#include "../../voicespaces/VerbFX/bright.hpp"
#include "../../voicespaces/VerbFX/harmonic.hpp"
#include "../../src/memllib/synth/OnePoleSmoother.hpp" #include "../../src/memllib/synth/OnePoleSmoother.hpp"
#include "../../src/memllib/synth/maximilian.h" #include "../../src/memllib/synth/maximilian.h"
#include "../../src/daisysp/Effects/pitchshifter.h" #include "../../src/daisysp/Effects/pitchshifter.h"
@ -20,12 +31,12 @@
template<size_t NPARAMS=48> template<size_t NPARAMS=47>
class VerbFXAudioApp : public AudioAppBase<NPARAMS> class VerbFXAudioApp : public AudioAppBase<NPARAMS>
{ {
public: public:
static constexpr size_t kN_Params = NPARAMS; static constexpr size_t kN_Params = NPARAMS;
static constexpr size_t nVoiceSpaces=1; static constexpr size_t nVoiceSpaces=12;
std::array<VoiceSpace<NPARAMS>, nVoiceSpaces> voiceSpaces; std::array<VoiceSpace<NPARAMS>, nVoiceSpaces> voiceSpaces;
@ -71,10 +82,54 @@ public:
} }
VerbFXAudioApp() : AudioAppBase<NPARAMS>() { VerbFXAudioApp() : AudioAppBase<NPARAMS>() {
auto voiceSpaceDefault = [this](const std::array<float, NPARAMS>& params) { auto voiceSpaceDefault = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_DEFAULT_BODY VOICE_SPACE_VERBFX_DEFAULT_BODY
}; };
voiceSpaces[0] = {"Default", voiceSpaceDefault}; voiceSpaces[0] = {"Default", voiceSpaceDefault};
auto voiceSpaceResonant = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_RESONANT_BODY
};
voiceSpaces[1] = {"Resonant", voiceSpaceResonant};
auto voiceSpaceSoft = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_SOFT_BODY
};
voiceSpaces[2] = {"Soft", voiceSpaceSoft};
auto voiceSpaceCathedral = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_CATHEDRAL_BODY
};
voiceSpaces[3] = {"Cathedral", voiceSpaceCathedral};
auto voiceSpaceShimmer = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_SHIMMER_BODY
};
voiceSpaces[4] = {"Shimmer", voiceSpaceShimmer};
auto voiceSpaceChamber = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_CHAMBER_BODY
};
voiceSpaces[5] = {"Chamber", voiceSpaceChamber};
auto voiceSpaceMetallic = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_METALLIC_BODY
};
voiceSpaces[6] = {"Metallic", voiceSpaceMetallic};
auto voiceSpaceGranular = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_GRANULAR_BODY
};
voiceSpaces[7] = {"Granular", voiceSpaceGranular};
auto voiceSpaceDiffuse = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_DIFFUSE_BODY
};
voiceSpaces[8] = {"Diffuse", voiceSpaceDiffuse};
auto voiceSpaceDark = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_DARK_BODY
};
voiceSpaces[9] = {"Dark", voiceSpaceDark};
auto voiceSpaceBright = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_BRIGHT_BODY
};
voiceSpaces[10] = {"Bright", voiceSpaceBright};
auto voiceSpaceHarmonic = [this](const std::array<float, NPARAMS>& smoothParams) {
VOICE_SPACE_VERBFX_HARMONIC_BODY
};
voiceSpaces[11] = {"Harmonic", voiceSpaceHarmonic};
currentVoiceSpace = voiceSpaces[0].mappingFunction; currentVoiceSpace = voiceSpaces[0].mappingFunction;
queue_init(&controlMessageQueue, sizeof(controlMessages), 1); queue_init(&controlMessageQueue, sizeof(controlMessages), 1);
queue_init(&wetdryQueue, sizeof(float), 1); queue_init(&wetdryQueue, sizeof(float), 1);
@ -91,71 +146,7 @@ public:
smoother.Process(neuralNetOutputs.data(), smoothParams.data()); smoother.Process(neuralNetOutputs.data(), smoothParams.data());
//mapping //mapping
// wetdry_mix_ = (smoothParams[0] * 0.9f) + 0.1f; currentVoiceSpace(smoothParams);
lp0fb = smoothParams[1] * 0.9f;
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;
lp1fb = smoothParams[3] * 0.9f;
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;
lp2fb = smoothParams[5] * 0.9f;
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;
lp3fb = smoothParams[7] * 0.9f;
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;
lp4fb = smoothParams[9] * 0.9f;
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;
lp5fb = smoothParams[11] * 0.98f;
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;
lp6fb = smoothParams[13] * 0.9;
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;
lp7fb = smoothParams[15] * 0.9f;
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;
allp0fb = smoothParams[17] * 0.9f;
allp1fb = smoothParams[18] * 0.9f;
allp2fb = smoothParams[19] * 0.9f;
allp3fb = smoothParams[20] * 0.9f;
filterBankF0 = 40.f + (smoothParams[21] * 40.f);
filterBankF1 = 80.f + (smoothParams[22] * 80.f);
filterBankF2 = 160.f + (smoothParams[23] * 160.f);
filterBankF3 = 320.f + (smoothParams[24] * 320.f);
filterBankF4 = 640.f + (smoothParams[25] * 640.f);
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);
filterBankRes0 = 1.f + (smoothParams[29] * 19.f);
filterBankRes1 = 1.f + (smoothParams[30] * 19.f);
filterBankRes2 = 1.f + (smoothParams[31] * 19.f);
filterBankRes3 = 1.f + (smoothParams[32] * 19.f);
filterBankRes4 = 1.f + (smoothParams[33] * 19.f);
filterBankRes5 = 1.f + (smoothParams[34] * 19.f);
filterBankRes6 = 1.f + (smoothParams[35] * 19.f);
filterBankRes7 = 1.f + (smoothParams[36] * 19.f);
ddelayTime = 10.f + (smoothParams[37] * 16373.f);
ddelayFeedback = (smoothParams[38] * 0.98f);
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);
ddelayFeedback1 = (smoothParams[40] * 0.98f);
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);
ddelayFeedback2 = (smoothParams[42] * 0.98f);
verbVsDelayLevel = smoothParams[43];
delayToVerbLevel = smoothParams[44] * 0.99f;
filterBankDelayXFade = smoothParams[45];
delayMorph = smoothParams[46];
delayBlend = smoothParams[47];
//XFADE //XFADE
@ -277,10 +268,10 @@ public:
float v; float v;
if (queue_try_remove(&wetdryQueue, &v)) wetdryKnobValue = v; if (queue_try_remove(&wetdryQueue, &v)) wetdryKnobValue = v;
} }
currentVoiceSpace(params);
if (wetdryKnobValue >= 0.f) { if (wetdryKnobValue >= 0.f) {
wetdry_mix_ = wetdryKnobValue; wetdry_mix_ = wetdryKnobValue;
} }
neuralNetOutputs = params;
} }
@ -357,7 +348,7 @@ protected:
OnePoleSmoother<kN_Params> smoother{150.f, kSampleRate}; OnePoleSmoother<kN_Params> smoother{150.f, kSampleRate};
maxiDynamicsLite limiter; // maxiDynamicsLite limiter;
}; };

View file

@ -2,6 +2,70 @@
#define __VOICE_SPACE_VERBFX_BASIC_HPP__ #define __VOICE_SPACE_VERBFX_BASIC_HPP__
#define VOICE_SPACE_VERBFX_DEFAULT_BODY \ #define VOICE_SPACE_VERBFX_DEFAULT_BODY \
neuralNetOutputs = params; \ filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = smoothParams[1] * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = smoothParams[3] * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = smoothParams[5] * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = smoothParams[7] * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = smoothParams[9] * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = smoothParams[11] * 0.98f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = smoothParams[13] * 0.9;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = smoothParams[15] * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = smoothParams[17] * 0.9f;\
allp1fb = smoothParams[18] * 0.9f;\
allp2fb = smoothParams[19] * 0.9f;\
allp3fb = smoothParams[20] * 0.9f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + (smoothParams[29] * 19.f);\
filterBankRes1 = 1.f + (smoothParams[30] * 19.f);\
filterBankRes2 = 1.f + (smoothParams[31] * 19.f);\
filterBankRes3 = 1.f + (smoothParams[32] * 19.f);\
filterBankRes4 = 1.f + (smoothParams[33] * 19.f);\
filterBankRes5 = 1.f + (smoothParams[34] * 19.f);\
filterBankRes6 = 1.f + (smoothParams[35] * 19.f);\
filterBankRes7 = 1.f + (smoothParams[36] * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = (smoothParams[38] * 0.98f);\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = (smoothParams[40] * 0.98f);\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = (smoothParams[42] * 0.98f);\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif #endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_BRIGHT_HPP__
#define __VOICE_SPACE_VERBFX_BRIGHT_HPP__
#define VOICE_SPACE_VERBFX_BRIGHT_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = smoothParams[1] * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.1f;\
\
lp1fb = smoothParams[3] * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.1f;\
\
lp2fb = smoothParams[5] * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.1f;\
\
lp3fb = smoothParams[7] * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.1f;\
\
lp4fb = smoothParams[9] * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.1f;\
\
lp5fb = smoothParams[11] * 0.9f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.1f;\
\
lp6fb = smoothParams[13] * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.1f;\
\
lp7fb = smoothParams[15] * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.1f;\
\
allp0fb = smoothParams[17] * 0.9f;\
allp1fb = smoothParams[18] * 0.9f;\
allp2fb = smoothParams[19] * 0.9f;\
allp3fb = smoothParams[20] * 0.9f;\
\
filterBankF0 = 40.f + (sqrtf(smoothParams[21]) * 40.f);\
filterBankF1 = 80.f + (sqrtf(smoothParams[22]) * 80.f);\
filterBankF2 = 160.f + (sqrtf(smoothParams[23]) * 160.f);\
filterBankF3 = 320.f + (sqrtf(smoothParams[24]) * 320.f);\
filterBankF4 = 640.f + (sqrtf(smoothParams[25]) * 640.f);\
filterBankF5 = 1280.f + (sqrtf(smoothParams[26]) * 1280.f);\
filterBankF6 = 2560.f + (sqrtf(smoothParams[27]) * 2560.f);\
filterBankF7 = 5120.f + (sqrtf(smoothParams[28]) * 5120.f);\
\
filterBankRes0 = 1.f + ((smoothParams[29] * smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + ((smoothParams[30] * smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + ((smoothParams[31] * smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + ((smoothParams[32] * smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + (sqrtf(smoothParams[33]) * 25.f);\
filterBankRes5 = 1.f + (sqrtf(smoothParams[34]) * 25.f);\
filterBankRes6 = 1.f + (sqrtf(smoothParams[35]) * 25.f);\
filterBankRes7 = 1.f + (sqrtf(smoothParams[36]) * 25.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = smoothParams[38] * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = smoothParams[40] * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = smoothParams[42] * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_CATHEDRAL_HPP__
#define __VOICE_SPACE_VERBFX_CATHEDRAL_HPP__
#define VOICE_SPACE_VERBFX_CATHEDRAL_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = sqrtf(smoothParams[1]) * 0.98f;\
lp0cutoff = (smoothParams[2] * 0.3f) + 0.02f;\
\
lp1fb = sqrtf(smoothParams[3]) * 0.98f;\
lp1cutoff = (smoothParams[4] * 0.3f) + 0.02f;\
\
lp2fb = sqrtf(smoothParams[5]) * 0.98f;\
lp2cutoff = (smoothParams[6] * 0.3f) + 0.02f;\
\
lp3fb = sqrtf(smoothParams[7]) * 0.98f;\
lp3cutoff = (smoothParams[8] * 0.3f) + 0.02f;\
\
lp4fb = sqrtf(smoothParams[9]) * 0.98f;\
lp4cutoff = (smoothParams[10] * 0.3f) + 0.02f;\
\
lp5fb = sqrtf(smoothParams[11]) * 0.98f;\
lp5cutoff = (smoothParams[12] * 0.3f) + 0.02f;\
\
lp6fb = sqrtf(smoothParams[13]) * 0.98f;\
lp6cutoff = (smoothParams[14] * 0.3f) + 0.02f;\
\
lp7fb = sqrtf(smoothParams[15]) * 0.98f;\
lp7cutoff = (smoothParams[16] * 0.3f) + 0.02f;\
\
allp0fb = sqrtf(smoothParams[17]) * 0.9f;\
allp1fb = sqrtf(smoothParams[18]) * 0.9f;\
allp2fb = sqrtf(smoothParams[19]) * 0.9f;\
allp3fb = sqrtf(smoothParams[20]) * 0.9f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + (smoothParams[29] * 19.f);\
filterBankRes1 = 1.f + (smoothParams[30] * 19.f);\
filterBankRes2 = 1.f + (smoothParams[31] * 19.f);\
filterBankRes3 = 1.f + (smoothParams[32] * 19.f);\
filterBankRes4 = 1.f + (smoothParams[33] * 19.f);\
filterBankRes5 = 1.f + (smoothParams[34] * 19.f);\
filterBankRes6 = 1.f + (smoothParams[35] * 19.f);\
filterBankRes7 = 1.f + (smoothParams[36] * 19.f);\
\
ddelayTime = 10.f + (sqrtf(smoothParams[37]) * 16373.f);\
ddelayFeedback = sqrtf(smoothParams[38]) * 0.98f;\
\
ddelayTime1 = 10.f + (sqrtf(smoothParams[39]) * 2037.f);\
ddelayFeedback1 = sqrtf(smoothParams[40]) * 0.98f;\
\
ddelayTime2 = 10.f + (sqrtf(smoothParams[41]) * 501.f);\
ddelayFeedback2 = sqrtf(smoothParams[42]) * 0.98f;\
\
verbVsDelayLevel = smoothParams[43] * smoothParams[43];\
delayToVerbLevel = sqrtf(smoothParams[44]) * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_CHAMBER_HPP__
#define __VOICE_SPACE_VERBFX_CHAMBER_HPP__
#define VOICE_SPACE_VERBFX_CHAMBER_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = (smoothParams[1] * smoothParams[1]) * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.1f;\
\
lp1fb = (smoothParams[3] * smoothParams[3]) * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.1f;\
\
lp2fb = (smoothParams[5] * smoothParams[5]) * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.1f;\
\
lp3fb = (smoothParams[7] * smoothParams[7]) * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.1f;\
\
lp4fb = (smoothParams[9] * smoothParams[9]) * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.1f;\
\
lp5fb = (smoothParams[11] * smoothParams[11]) * 0.9f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.1f;\
\
lp6fb = (smoothParams[13] * smoothParams[13]) * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.1f;\
\
lp7fb = (smoothParams[15] * smoothParams[15]) * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.1f;\
\
allp0fb = (smoothParams[17] * smoothParams[17]) * 0.9f;\
allp1fb = (smoothParams[18] * smoothParams[18]) * 0.9f;\
allp2fb = (smoothParams[19] * smoothParams[19]) * 0.9f;\
allp3fb = (smoothParams[20] * smoothParams[20]) * 0.9f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + ((smoothParams[29] * smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + ((smoothParams[30] * smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + ((smoothParams[31] * smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + ((smoothParams[32] * smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + ((smoothParams[33] * smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + ((smoothParams[34] * smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + ((smoothParams[35] * smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + ((smoothParams[36] * smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + ((smoothParams[37] * smoothParams[37]) * 16373.f);\
ddelayFeedback = (smoothParams[38] * smoothParams[38]) * 0.98f;\
\
ddelayTime1 = 10.f + ((smoothParams[39] * smoothParams[39]) * 2037.f);\
ddelayFeedback1 = (smoothParams[40] * smoothParams[40]) * 0.98f;\
\
ddelayTime2 = 10.f + ((smoothParams[41] * smoothParams[41]) * 501.f);\
ddelayFeedback2 = (smoothParams[42] * smoothParams[42]) * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_DARK_HPP__
#define __VOICE_SPACE_VERBFX_DARK_HPP__
#define VOICE_SPACE_VERBFX_DARK_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = smoothParams[1] * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.3f) + 0.02f;\
\
lp1fb = smoothParams[3] * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.3f) + 0.02f;\
\
lp2fb = smoothParams[5] * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.3f) + 0.02f;\
\
lp3fb = smoothParams[7] * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.3f) + 0.02f;\
\
lp4fb = smoothParams[9] * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.3f) + 0.02f;\
\
lp5fb = smoothParams[11] * 0.9f;\
lp5cutoff = (smoothParams[12] * 0.3f) + 0.02f;\
\
lp6fb = smoothParams[13] * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.3f) + 0.02f;\
\
lp7fb = smoothParams[15] * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.3f) + 0.02f;\
\
allp0fb = smoothParams[17] * 0.9f;\
allp1fb = smoothParams[18] * 0.9f;\
allp2fb = smoothParams[19] * 0.9f;\
allp3fb = smoothParams[20] * 0.9f;\
\
filterBankF0 = 40.f + ((smoothParams[21] * smoothParams[21]) * 40.f);\
filterBankF1 = 80.f + ((smoothParams[22] * smoothParams[22]) * 80.f);\
filterBankF2 = 160.f + ((smoothParams[23] * smoothParams[23]) * 160.f);\
filterBankF3 = 320.f + ((smoothParams[24] * smoothParams[24]) * 320.f);\
filterBankF4 = 640.f + ((smoothParams[25] * smoothParams[25]) * 640.f);\
filterBankF5 = 1280.f + ((smoothParams[26] * smoothParams[26]) * 1280.f);\
filterBankF6 = 2560.f + ((smoothParams[27] * smoothParams[27]) * 2560.f);\
filterBankF7 = 5120.f + ((smoothParams[28] * smoothParams[28]) * 5120.f);\
\
filterBankRes0 = 1.f + (sqrtf(smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + (sqrtf(smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + (sqrtf(smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + (sqrtf(smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + ((smoothParams[33] * smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + ((smoothParams[34] * smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + ((smoothParams[35] * smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + ((smoothParams[36] * smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = smoothParams[38] * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = smoothParams[40] * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = smoothParams[42] * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_DIFFUSE_HPP__
#define __VOICE_SPACE_VERBFX_DIFFUSE_HPP__
#define VOICE_SPACE_VERBFX_DIFFUSE_BODY \
filterBankDelayXFade = sqrtf(smoothParams[0]); \
\
lp0fb = smoothParams[1] * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = smoothParams[3] * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = smoothParams[5] * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = smoothParams[7] * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = smoothParams[9] * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = smoothParams[11] * 0.9f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = smoothParams[13] * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = smoothParams[15] * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = sqrtf(smoothParams[17]) * 0.95f;\
allp1fb = sqrtf(smoothParams[18]) * 0.95f;\
allp2fb = sqrtf(smoothParams[19]) * 0.95f;\
allp3fb = sqrtf(smoothParams[20]) * 0.95f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + ((smoothParams[29] * smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + ((smoothParams[30] * smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + ((smoothParams[31] * smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + ((smoothParams[32] * smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + ((smoothParams[33] * smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + ((smoothParams[34] * smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + ((smoothParams[35] * smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + ((smoothParams[36] * smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = sqrtf(smoothParams[38]) * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = sqrtf(smoothParams[40]) * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = sqrtf(smoothParams[42]) * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_GRANULAR_HPP__
#define __VOICE_SPACE_VERBFX_GRANULAR_HPP__
#define VOICE_SPACE_VERBFX_GRANULAR_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = (smoothParams[1] * smoothParams[1]) * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = (smoothParams[3] * smoothParams[3]) * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = (smoothParams[5] * smoothParams[5]) * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = (smoothParams[7] * smoothParams[7]) * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = (smoothParams[9] * smoothParams[9]) * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = (smoothParams[11] * smoothParams[11]) * 0.9f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = (smoothParams[13] * smoothParams[13]) * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = (smoothParams[15] * smoothParams[15]) * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = (smoothParams[17] * smoothParams[17]) * 0.9f;\
allp1fb = (smoothParams[18] * smoothParams[18]) * 0.9f;\
allp2fb = (smoothParams[19] * smoothParams[19]) * 0.9f;\
allp3fb = (smoothParams[20] * smoothParams[20]) * 0.9f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + ((smoothParams[29] * smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + ((smoothParams[30] * smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + ((smoothParams[31] * smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + ((smoothParams[32] * smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + ((smoothParams[33] * smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + ((smoothParams[34] * smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + ((smoothParams[35] * smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + ((smoothParams[36] * smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = (smoothParams[38] * smoothParams[38]) * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = (smoothParams[40] * smoothParams[40]) * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = sqrtf(smoothParams[42]) * 0.98f;\
\
verbVsDelayLevel = sqrtf(smoothParams[43]);\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45] * smoothParams[45];\
delayBlend = sqrtf(smoothParams[46]);
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_HARMONIC_HPP__
#define __VOICE_SPACE_VERBFX_HARMONIC_HPP__
#define VOICE_SPACE_VERBFX_HARMONIC_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = smoothParams[1] * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = smoothParams[3] * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = smoothParams[5] * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = smoothParams[7] * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = smoothParams[9] * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = smoothParams[11] * 0.98f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = smoothParams[13] * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = smoothParams[15] * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = smoothParams[17] * 0.9f;\
allp1fb = smoothParams[18] * 0.9f;\
allp2fb = smoothParams[19] * 0.9f;\
allp3fb = smoothParams[20] * 0.9f;\
\
filterBankF0 = 80.f + (smoothParams[21] * 40.f);\
filterBankF1 = 180.f + (smoothParams[22] * 40.f);\
filterBankF2 = 280.f + (smoothParams[23] * 40.f);\
filterBankF3 = 380.f + (smoothParams[24] * 40.f);\
filterBankF4 = 480.f + (smoothParams[25] * 40.f);\
filterBankF5 = 580.f + (smoothParams[26] * 40.f);\
filterBankF6 = 680.f + (smoothParams[27] * 40.f);\
filterBankF7 = 780.f + (smoothParams[28] * 40.f);\
\
filterBankRes0 = 1.f + (sqrtf(smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + (sqrtf(smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + (sqrtf(smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + (sqrtf(smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + (sqrtf(smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + (sqrtf(smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + (sqrtf(smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + (sqrtf(smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = smoothParams[38] * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = smoothParams[40] * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = smoothParams[42] * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_METALLIC_HPP__
#define __VOICE_SPACE_VERBFX_METALLIC_HPP__
#define VOICE_SPACE_VERBFX_METALLIC_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = smoothParams[1] * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = smoothParams[3] * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = smoothParams[5] * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = smoothParams[7] * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = smoothParams[9] * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = smoothParams[11] * 0.9f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = smoothParams[13] * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = smoothParams[15] * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = sqrtf(smoothParams[17]) * 0.95f;\
allp1fb = sqrtf(smoothParams[18]) * 0.95f;\
allp2fb = sqrtf(smoothParams[19]) * 0.95f;\
allp3fb = sqrtf(smoothParams[20]) * 0.95f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + (sqrtf(smoothParams[29]) * 25.f);\
filterBankRes1 = 1.f + ((smoothParams[30] * smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + (sqrtf(smoothParams[31]) * 25.f);\
filterBankRes3 = 1.f + ((smoothParams[32] * smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + (sqrtf(smoothParams[33]) * 25.f);\
filterBankRes5 = 1.f + ((smoothParams[34] * smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + (sqrtf(smoothParams[35]) * 25.f);\
filterBankRes7 = 1.f + ((smoothParams[36] * smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = smoothParams[38] * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = smoothParams[40] * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = smoothParams[42] * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,70 @@
#ifndef __VOICE_SPACE_VERBFX_RESONANT_HPP__
#define __VOICE_SPACE_VERBFX_RESONANT_HPP__
#define VOICE_SPACE_VERBFX_RESONANT_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = smoothParams[1] * 0.99f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = smoothParams[3] * 0.99f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = smoothParams[5] * 0.99f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = smoothParams[7] * 0.99f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = smoothParams[9] * 0.99f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = smoothParams[11] * 0.99f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = smoothParams[13] * 0.99;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = smoothParams[15] * 0.99f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = smoothParams[17] * 0.99f;\
allp1fb = smoothParams[18] * 0.99f;\
allp2fb = smoothParams[19] * 0.99f;\
allp3fb = smoothParams[20] * 0.99f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + (sqrtf(smoothParams[29]) * 25.f);\
filterBankRes1 = 1.f + (sqrtf(smoothParams[30]) * 25.f);\
filterBankRes2 = 1.f + (sqrtf(smoothParams[31]) * 25.f);\
filterBankRes3 = 1.f + (sqrtf(smoothParams[32]) * 25.f);\
filterBankRes4 = 1.f + (sqrtf(smoothParams[33]) * 25.f);\
filterBankRes5 = 1.f + (sqrtf(smoothParams[34]) * 25.f);\
filterBankRes6 = 1.f + (sqrtf(smoothParams[35]) * 25.f);\
filterBankRes7 = 1.f + (sqrtf(smoothParams[36]) * 25.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = (smoothParams[38] * 0.99f);\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = (smoothParams[40] * 0.99f);\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = (smoothParams[42] * 0.99f);\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_SHIMMER_HPP__
#define __VOICE_SPACE_VERBFX_SHIMMER_HPP__
#define VOICE_SPACE_VERBFX_SHIMMER_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = sqrtf(smoothParams[1]) * 0.98f;\
lp0cutoff = (smoothParams[2] * 0.4f) + 0.05f;\
\
lp1fb = sqrtf(smoothParams[3]) * 0.98f;\
lp1cutoff = (smoothParams[4] * 0.4f) + 0.05f;\
\
lp2fb = sqrtf(smoothParams[5]) * 0.98f;\
lp2cutoff = (smoothParams[6] * 0.4f) + 0.05f;\
\
lp3fb = sqrtf(smoothParams[7]) * 0.98f;\
lp3cutoff = (smoothParams[8] * 0.4f) + 0.05f;\
\
lp4fb = sqrtf(smoothParams[9]) * 0.98f;\
lp4cutoff = (smoothParams[10] * 0.4f) + 0.05f;\
\
lp5fb = sqrtf(smoothParams[11]) * 0.98f;\
lp5cutoff = (smoothParams[12] * 0.4f) + 0.05f;\
\
lp6fb = sqrtf(smoothParams[13]) * 0.98f;\
lp6cutoff = (smoothParams[14] * 0.4f) + 0.05f;\
\
lp7fb = sqrtf(smoothParams[15]) * 0.98f;\
lp7cutoff = (smoothParams[16] * 0.4f) + 0.05f;\
\
allp0fb = sqrtf(smoothParams[17]) * 0.99f;\
allp1fb = sqrtf(smoothParams[18]) * 0.99f;\
allp2fb = sqrtf(smoothParams[19]) * 0.99f;\
allp3fb = sqrtf(smoothParams[20]) * 0.99f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + (sqrtf(smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + (sqrtf(smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + (sqrtf(smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + (sqrtf(smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + (sqrtf(smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + (sqrtf(smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + (sqrtf(smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + (sqrtf(smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = sqrtf(smoothParams[38]) * 0.95f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = sqrtf(smoothParams[40]) * 0.95f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = sqrtf(smoothParams[42]) * 0.95f;\
\
verbVsDelayLevel = smoothParams[43] * smoothParams[43];\
delayToVerbLevel = sqrtf(smoothParams[44]) * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif

View file

@ -0,0 +1,69 @@
#ifndef __VOICE_SPACE_VERBFX_SOFT_HPP__
#define __VOICE_SPACE_VERBFX_SOFT_HPP__
#define VOICE_SPACE_VERBFX_SOFT_BODY \
filterBankDelayXFade = smoothParams[0]; \
\
lp0fb = (smoothParams[1] * smoothParams[1]) * 0.9f;\
lp0cutoff = (smoothParams[2] * 0.5f) + 0.05f;\
\
lp1fb = (smoothParams[3] * smoothParams[3]) * 0.9f;\
lp1cutoff = (smoothParams[4] * 0.5f) + 0.05f;\
\
lp2fb = (smoothParams[5] * smoothParams[5]) * 0.9f;\
lp2cutoff = (smoothParams[6] * 0.5f) + 0.05f;\
\
lp3fb = (smoothParams[7] * smoothParams[7]) * 0.9f;\
lp3cutoff = (smoothParams[8] * 0.5f) + 0.05f;\
\
lp4fb = (smoothParams[9] * smoothParams[9]) * 0.9f;\
lp4cutoff = (smoothParams[10] * 0.5f) + 0.05f;\
\
lp5fb = (smoothParams[11] * smoothParams[11]) * 0.98f;\
lp5cutoff = (smoothParams[12] * 0.5f) + 0.05f;\
\
lp6fb = (smoothParams[13] * smoothParams[13]) * 0.9f;\
lp6cutoff = (smoothParams[14] * 0.5f) + 0.05f;\
\
lp7fb = (smoothParams[15] * smoothParams[15]) * 0.9f;\
lp7cutoff = (smoothParams[16] * 0.5f) + 0.05f;\
\
allp0fb = (smoothParams[17] * smoothParams[17]) * 0.9f;\
allp1fb = (smoothParams[18] * smoothParams[18]) * 0.9f;\
allp2fb = (smoothParams[19] * smoothParams[19]) * 0.9f;\
allp3fb = (smoothParams[20] * smoothParams[20]) * 0.9f;\
\
filterBankF0 = 40.f + (smoothParams[21] * 40.f);\
filterBankF1 = 80.f + (smoothParams[22] * 80.f);\
filterBankF2 = 160.f + (smoothParams[23] * 160.f);\
filterBankF3 = 320.f + (smoothParams[24] * 320.f);\
filterBankF4 = 640.f + (smoothParams[25] * 640.f);\
filterBankF5 = 1280.f + (smoothParams[26] * 1280.f);\
filterBankF6 = 2560.f + (smoothParams[27] * 2560.f);\
filterBankF7 = 5120.f + (smoothParams[28] * 5120.f);\
\
filterBankRes0 = 1.f + ((smoothParams[29] * smoothParams[29]) * 19.f);\
filterBankRes1 = 1.f + ((smoothParams[30] * smoothParams[30]) * 19.f);\
filterBankRes2 = 1.f + ((smoothParams[31] * smoothParams[31]) * 19.f);\
filterBankRes3 = 1.f + ((smoothParams[32] * smoothParams[32]) * 19.f);\
filterBankRes4 = 1.f + ((smoothParams[33] * smoothParams[33]) * 19.f);\
filterBankRes5 = 1.f + ((smoothParams[34] * smoothParams[34]) * 19.f);\
filterBankRes6 = 1.f + ((smoothParams[35] * smoothParams[35]) * 19.f);\
filterBankRes7 = 1.f + ((smoothParams[36] * smoothParams[36]) * 19.f);\
\
ddelayTime = 10.f + (smoothParams[37] * 16373.f);\
ddelayFeedback = (smoothParams[38] * smoothParams[38]) * 0.98f;\
\
ddelayTime1 = 10.f + (smoothParams[39] * 2037.f);\
ddelayFeedback1 = (smoothParams[40] * smoothParams[40]) * 0.98f;\
\
ddelayTime2 = 10.f + (smoothParams[41] * 501.f);\
ddelayFeedback2 = (smoothParams[42] * smoothParams[42]) * 0.98f;\
\
verbVsDelayLevel = smoothParams[43];\
delayToVerbLevel = smoothParams[44] * 0.99f;\
\
delayMorph = smoothParams[45];\
delayBlend = smoothParams[46];
#endif