# Loss of low-end while Oversampling

**URL:** <https://forum.juce.com/t/loss-of-low-end-while-oversampling/59160>\
**Category:** Audio Plugins\
**Created:** [December 13, 2023, 6:52am UTC](https://forum.juce.com/t/loss-of-low-end-while-oversampling/59160 "2023-12-13T06:52:27Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![zsliu98](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/zsliu98/32/22502_2.png) [@zsliu98](https://forum.juce.com/u/zsliu98)\
**Post date:** [December 14, 2023, 12:42pm UTC](https://forum.juce.com/t/loss-of-low-end-while-oversampling/59160/4 "2023-12-14T12:42:53Z")

</div>

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:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/juce/original/3X/b/d/bd1607759399f22cc14bddb9cce350c16ad1b88b.jpeg)

- I haven’t used `addOversamplingStage` before. If you want different oversampling rates, try this:

```c++
        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

> [@Advice needed on when and where to dynamically change the oversampling factor, is this code OK..?](https://forum.juce.com/t/advice-needed-on-when-and-where-to-dynamically-change-the-oversampling-factor-is-this-code-ok/58162):
>
> This is my first time implementing oversampling. I am dynamically changing the oversampling factor at the beginning of the processBlock(). I’m just looking for confirmation that I am doing things right. PluginProcessor.h private: std::unique\_ptr\<juce::dsp::Oversampling\<float\>\> oversamplingmodule; preparetoplay() if (oversamplingmodule) { oversamplingmodule-\>initProcessing(samplesPerBlock); } processBlock() juce::dsp::AudioBlock\<float\> block(buffer); //if user has …

---

_[View the full topic](https://forum.juce.com/t/loss-of-low-end-while-oversampling/59160)._
