How to work with internal oversampling?
-
Re: Oversampling a One Pole Filter Limits Frequency Range?
Hi, I'm referring to this old post to clarify how to use internal oversampling when a filter is enabled in the fx chain. I wrote this line to ensure internal HISE oversampling within the entire project:
Engine.setMinimumSampleRate(96000.0);
But now, the notes sound an octave lower and the filter has a limited cutoff frequency extension.
Could you help me understand it and fix it?
-
@arcy Bump.
-
@arcy The bug is just visual
The playback engine should be at whatever sampling rate the interface is, so I wouldn't use that method.
If you need oversampling, do your effects in ScriptNode and use the oversample node.
-
@aaronventure My problem is not only visual but also with sound...and I can't use the oversampling node because I'm working on a polyphonic scriptnode fx...
-
Friendly bumb :-)
TLDR;
In Hise standalone when I set a different sample rate withEngine.setMinimumSampleRate(96000.0);
the LP filter shifts the cutoff down and the samples sound 1 octave lower.
-
@arcy The minimum sample rate method does not force the interface to run at that sample rate. It just forces the plugin to not go below that.
What you're experiencing is likely because the interface is running at 48k while your plugin is now running at 96k, essentially skipping every other sample.
So what might be a 1khz sine wave gets converted to analog as a 500hz sine wave because every other sample is skipped.
-
@aaronventure thanks...I thought...so the only way to oversample is using a scriptnode? because I'm using a polyphonic script fx to my Faust filter where oversampling node are not allowed...
-
@aaronventure the setMinimumSamplerate should also propagate the samplerate change to the filter graph but it might be possible that it gets stuck somewhere.