From 720ecf9b00def3c3dcb4f31ebf38cbe7cafeab51 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Sun, 9 Aug 2020 12:53:44 +0200 Subject: [PATCH] Allow wavetable alias above 20 kHz --- src/sfizz/Config.h | 1 + src/sfizz/Wavetables.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sfizz/Config.h b/src/sfizz/Config.h index 03f7f378..4f5dc7d5 100644 --- a/src/sfizz/Config.h +++ b/src/sfizz/Config.h @@ -95,6 +95,7 @@ namespace config { constexpr int maxEffectBuses { 256 }; // Wavetable constants; amplitude values are matched to reference static constexpr unsigned tableSize = 1024; + static constexpr double tableRefSampleRate = 44100.0 * 1.1; // +10% aliasing permissivity static constexpr double amplitudeSine = 0.625; static constexpr double amplitudeTriangle = 0.625; static constexpr double amplitudeSaw = 0.515; diff --git a/src/sfizz/Wavetables.h b/src/sfizz/Wavetables.h index b57feeb0..87cd72aa 100644 --- a/src/sfizz/Wavetables.h +++ b/src/sfizz/Wavetables.h @@ -214,7 +214,9 @@ public: // the reference sample rate is the minimum value accepted by the DSP // system (most defavorable wrt. aliasing) static WavetableMulti createForHarmonicProfile( - const HarmonicProfile& hp, double amplitude, unsigned tableSize = config::tableSize, double refSampleRate = 44100.0); + const HarmonicProfile& hp, double amplitude, + unsigned tableSize = config::tableSize, + double refSampleRate = config::tableRefSampleRate); // get a tiny silent wavetable with null content for use with oscillators static const WavetableMulti* getSilenceWavetable();