From bae80fbd890afa496e7e852d8755ec5c8e873e10 Mon Sep 17 00:00:00 2001 From: chriskiefer Date: Sun, 29 Mar 2026 19:09:10 +0100 Subject: [PATCH] voice spaces --- modes/AudioApps/VerbFXAudioApp.hpp | 131 ++++++++++++++--------------- voicespaces/VerbFX/basic.hpp | 66 ++++++++++++++- voicespaces/VerbFX/bright.hpp | 69 +++++++++++++++ voicespaces/VerbFX/cathedral.hpp | 69 +++++++++++++++ voicespaces/VerbFX/chamber.hpp | 69 +++++++++++++++ voicespaces/VerbFX/dark.hpp | 69 +++++++++++++++ voicespaces/VerbFX/diffuse.hpp | 69 +++++++++++++++ voicespaces/VerbFX/granular.hpp | 69 +++++++++++++++ voicespaces/VerbFX/harmonic.hpp | 69 +++++++++++++++ voicespaces/VerbFX/metallic.hpp | 69 +++++++++++++++ voicespaces/VerbFX/resonant.hpp | 70 +++++++++++++++ voicespaces/VerbFX/shimmer.hpp | 69 +++++++++++++++ voicespaces/VerbFX/soft.hpp | 69 +++++++++++++++ 13 files changed, 886 insertions(+), 71 deletions(-) create mode 100644 voicespaces/VerbFX/bright.hpp create mode 100644 voicespaces/VerbFX/cathedral.hpp create mode 100644 voicespaces/VerbFX/chamber.hpp create mode 100644 voicespaces/VerbFX/dark.hpp create mode 100644 voicespaces/VerbFX/diffuse.hpp create mode 100644 voicespaces/VerbFX/granular.hpp create mode 100644 voicespaces/VerbFX/harmonic.hpp create mode 100644 voicespaces/VerbFX/metallic.hpp create mode 100644 voicespaces/VerbFX/resonant.hpp create mode 100644 voicespaces/VerbFX/shimmer.hpp create mode 100644 voicespaces/VerbFX/soft.hpp diff --git a/modes/AudioApps/VerbFXAudioApp.hpp b/modes/AudioApps/VerbFXAudioApp.hpp index 172c12b..7be3782 100644 --- a/modes/AudioApps/VerbFXAudioApp.hpp +++ b/modes/AudioApps/VerbFXAudioApp.hpp @@ -12,6 +12,17 @@ #include #include "../../voicespaces/VoiceSpaces.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/maximilian.h" #include "../../src/daisysp/Effects/pitchshifter.h" @@ -20,12 +31,12 @@ -template +template class VerbFXAudioApp : public AudioAppBase { public: static constexpr size_t kN_Params = NPARAMS; - static constexpr size_t nVoiceSpaces=1; + static constexpr size_t nVoiceSpaces=12; std::array, nVoiceSpaces> voiceSpaces; @@ -71,10 +82,54 @@ public: } VerbFXAudioApp() : AudioAppBase() { - auto voiceSpaceDefault = [this](const std::array& params) { + auto voiceSpaceDefault = [this](const std::array& smoothParams) { VOICE_SPACE_VERBFX_DEFAULT_BODY }; voiceSpaces[0] = {"Default", voiceSpaceDefault}; + auto voiceSpaceResonant = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_RESONANT_BODY + }; + voiceSpaces[1] = {"Resonant", voiceSpaceResonant}; + auto voiceSpaceSoft = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_SOFT_BODY + }; + voiceSpaces[2] = {"Soft", voiceSpaceSoft}; + auto voiceSpaceCathedral = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_CATHEDRAL_BODY + }; + voiceSpaces[3] = {"Cathedral", voiceSpaceCathedral}; + auto voiceSpaceShimmer = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_SHIMMER_BODY + }; + voiceSpaces[4] = {"Shimmer", voiceSpaceShimmer}; + auto voiceSpaceChamber = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_CHAMBER_BODY + }; + voiceSpaces[5] = {"Chamber", voiceSpaceChamber}; + auto voiceSpaceMetallic = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_METALLIC_BODY + }; + voiceSpaces[6] = {"Metallic", voiceSpaceMetallic}; + auto voiceSpaceGranular = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_GRANULAR_BODY + }; + voiceSpaces[7] = {"Granular", voiceSpaceGranular}; + auto voiceSpaceDiffuse = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_DIFFUSE_BODY + }; + voiceSpaces[8] = {"Diffuse", voiceSpaceDiffuse}; + auto voiceSpaceDark = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_DARK_BODY + }; + voiceSpaces[9] = {"Dark", voiceSpaceDark}; + auto voiceSpaceBright = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_BRIGHT_BODY + }; + voiceSpaces[10] = {"Bright", voiceSpaceBright}; + auto voiceSpaceHarmonic = [this](const std::array& smoothParams) { + VOICE_SPACE_VERBFX_HARMONIC_BODY + }; + voiceSpaces[11] = {"Harmonic", voiceSpaceHarmonic}; currentVoiceSpace = voiceSpaces[0].mappingFunction; queue_init(&controlMessageQueue, sizeof(controlMessages), 1); queue_init(&wetdryQueue, sizeof(float), 1); @@ -91,71 +146,7 @@ public: smoother.Process(neuralNetOutputs.data(), smoothParams.data()); //mapping - // wetdry_mix_ = (smoothParams[0] * 0.9f) + 0.1f; - - 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]; + currentVoiceSpace(smoothParams); //XFADE @@ -277,10 +268,10 @@ public: float v; if (queue_try_remove(&wetdryQueue, &v)) wetdryKnobValue = v; } - currentVoiceSpace(params); if (wetdryKnobValue >= 0.f) { wetdry_mix_ = wetdryKnobValue; } + neuralNetOutputs = params; } @@ -357,7 +348,7 @@ protected: OnePoleSmoother smoother{150.f, kSampleRate}; - maxiDynamicsLite limiter; + // maxiDynamicsLite limiter; }; diff --git a/voicespaces/VerbFX/basic.hpp b/voicespaces/VerbFX/basic.hpp index fc1b92b..bdf8f94 100644 --- a/voicespaces/VerbFX/basic.hpp +++ b/voicespaces/VerbFX/basic.hpp @@ -2,6 +2,70 @@ #define __VOICE_SPACE_VERBFX_BASIC_HPP__ #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 diff --git a/voicespaces/VerbFX/bright.hpp b/voicespaces/VerbFX/bright.hpp new file mode 100644 index 0000000..dccd341 --- /dev/null +++ b/voicespaces/VerbFX/bright.hpp @@ -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 diff --git a/voicespaces/VerbFX/cathedral.hpp b/voicespaces/VerbFX/cathedral.hpp new file mode 100644 index 0000000..bb304b8 --- /dev/null +++ b/voicespaces/VerbFX/cathedral.hpp @@ -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 diff --git a/voicespaces/VerbFX/chamber.hpp b/voicespaces/VerbFX/chamber.hpp new file mode 100644 index 0000000..511819a --- /dev/null +++ b/voicespaces/VerbFX/chamber.hpp @@ -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 diff --git a/voicespaces/VerbFX/dark.hpp b/voicespaces/VerbFX/dark.hpp new file mode 100644 index 0000000..a24cc63 --- /dev/null +++ b/voicespaces/VerbFX/dark.hpp @@ -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 diff --git a/voicespaces/VerbFX/diffuse.hpp b/voicespaces/VerbFX/diffuse.hpp new file mode 100644 index 0000000..cb72c8e --- /dev/null +++ b/voicespaces/VerbFX/diffuse.hpp @@ -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 diff --git a/voicespaces/VerbFX/granular.hpp b/voicespaces/VerbFX/granular.hpp new file mode 100644 index 0000000..63a7ce0 --- /dev/null +++ b/voicespaces/VerbFX/granular.hpp @@ -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 diff --git a/voicespaces/VerbFX/harmonic.hpp b/voicespaces/VerbFX/harmonic.hpp new file mode 100644 index 0000000..d80816b --- /dev/null +++ b/voicespaces/VerbFX/harmonic.hpp @@ -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 diff --git a/voicespaces/VerbFX/metallic.hpp b/voicespaces/VerbFX/metallic.hpp new file mode 100644 index 0000000..d71b917 --- /dev/null +++ b/voicespaces/VerbFX/metallic.hpp @@ -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 diff --git a/voicespaces/VerbFX/resonant.hpp b/voicespaces/VerbFX/resonant.hpp new file mode 100644 index 0000000..65e87ad --- /dev/null +++ b/voicespaces/VerbFX/resonant.hpp @@ -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 diff --git a/voicespaces/VerbFX/shimmer.hpp b/voicespaces/VerbFX/shimmer.hpp new file mode 100644 index 0000000..ec448e1 --- /dev/null +++ b/voicespaces/VerbFX/shimmer.hpp @@ -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 diff --git a/voicespaces/VerbFX/soft.hpp b/voicespaces/VerbFX/soft.hpp new file mode 100644 index 0000000..640d334 --- /dev/null +++ b/voicespaces/VerbFX/soft.hpp @@ -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