Loss of low-end while Oversampling

If you set up and use the oversampling correctly, you should not hear a low cut. Just load your plugin into Plugindoctor with oversampling only. Here is what I got:

  • I haven’t used addOversamplingStage before. If you want different oversampling rates, try this:
        for (size_t i = 0; i < numSamplers; ++i) {
            overSamplers[i] = std::make_unique<juce::dsp::Oversampling<FloatType >>(
                    spec.numChannels, i,
                    juce::dsp::Oversampling<FloatType>::filterHalfBandFIREquiripple, true,
                    true);
            overSamplers[i]->initProcessing(spec.maximumBlockSize);
  • I would suggest using useIntegerLatency=true to make your life easier (setLatencySamples only accepts integers!). And don’t forget to report the latency after changing oversampling rates.
  • You should also pay attention to the processSamplesUp and processSamplesDown. See the discussion here
2 Likes