Noise Cancelling
-
I'm trying to implement a routing system to eliminate the self noise of the ShapeFX Module.
I know @Christoph-Hart, I know it's below a certain dB value and shouldn't be a concern, but I can't help it, I have to get rid of it ;)So what I want to do, is simple - route the shape fx noise (without a signal) to a separate path via the routing matrix, flip the phase and mix it back with the signal that runs through the shape fx module. In theory that should result in a distorted signal without the Shape fx noise.
Now, I can't think of a way to route the isolated noise before the signal hits the module. So, the only way would be to run a second shape fx module without any signal, flip the phase and mix it with the first shape fx (which is used for the signal). But those two modules have different "noise profiles" I guess.
Any suggestions?
-
What self noise? The algorithm has no non-deterministic component it‘s just predictable input-output modification so there is no noise that you could reduce.
It‘s way more likely that you mess up the phase and create comb filter artifacts at your attempt to remove noise which isn‘t there.
-
That's the analysis of the tanh function of the shapefx:
That's the analysis of the tanh function of the result I'm trying to get:
I'm not complaining about anything, just trying to figure out why the analysis differs so much from the second picture. Maybe I'm getting something wrong, sorry for being annoying :)
-
How did you create the second signal?
-
It’s a distortion plugin from another developer for reference. Not sure how they achieved this. Maybe it’s another dsp algorithm
-
It's actually the filter in the shaper that causes this noise floor (it's impossible for the tanh function to generate noise as long as the system library implementation of this function doesn't throw in a random generator for no reason).
This might be related:
https://forum.juce.com/t/dsp-module-iir-filter-causing-low-freq-noise/34416
However I am also strongly on the -100db doesn't matter side. But please try scriptnode, you'll get a pure tanh function as node there.
-
I understand, thank you @Christoph-Hart
Yeah, normally I'm on the -100db doesn't matter side as well, but not while developing complex distortion fx with multiple stages. I will try the scriptnode tanh for that
-
@clumsybear I am currently developing my own FX library using scriptnode, but for distortion, I don't know where to begin... Do you have any advice on what I should do/read? Again, I am using scriptnode only so I'm no C++ guy, unfortunately :)
-
If you don't go into analogue circuit modelling, the basic building blocks of distortion are oversampling, filtering and all kinds of wave shaping.