Need help ! Feedback limiting (Flanger,Filter...)

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hello! I'm working on a flanger, and i'd like to limit the feedback path somehow. If the feedback is below 0.8 the sound is ok, there are no significant overshoots on the output signal. But the fun begins when the feedback is between 0-8 and 0.98...
Id like to get some deep flange/phaser effects.
I tryed limiting, with more than 3 different type of algorithms, but the result is to digital saturated.
I tryed to limit the output, and I tryed on the feedback path too. I tryed double sampling, limiting and filtering to reduce aliasing la la la... I still have to work on that. The results are not satisfying at all, and I think there are bugs on the code.
I would REALLY apreciate if you guys, could explain me how to make safe limiting, for a nice sound and also keep the CPU usage down as possible.
Cheers .... Attila.

Post

Hi there

A quick way that I did is to find out the general volume of the input before going into the flanger (using a volume follower), and the general volume of the flanger output . What you do then is normalize the output so the volume going out is the same as the volume going in , i.e.

Vin - volume of the input
Vout - volume of the output
X - value of the output

Normx - x* Vin / Vout

Of course you want to my sure that your not dividing by zero at any point as well . You might want to play around with different type of volume followers i.e. RMS etc

Hope this has been of some help

Cheers

Jon : ConcreteFX

Post

Highpass filter at the same frequency as the feedback in the actual feedback loop?
Stefan H Singer
Musician, coder and co-founder of We made you look Web agency

Post

stefancrs wrote:Highpass filter at the same frequency as the feedback in the actual feedback loop?
What I did try was a lowpass filter. But i think it had the opposite effect. Is it really important to use oversampling ?

Post

Lowpass would have the opposite effect yes. What you want to reduce here is something similar to instability in filter designs.
Stefan H Singer
Musician, coder and co-founder of We made you look Web agency

Post

stefancrs wrote:Lowpass would have the opposite effect yes. What you want to reduce here is something similar to instability in filter designs.
I was wondering ...what methods are used in those analog emulation synths, because they sound so fat and also clean (not distorted).

Post

stefancrs wrote:Highpass filter at the same frequency as the feedback in the actual feedback loop?
What you mean is to set the cutoff frequency of the highpass filter to the same freq as the comb filter ?
If I recall right :
comb filter freq = 2/delay ?

Thanks.
A.F.

Post

Digital saturation ?
It's logical to have saturation if the input sound is at 0.8, the global gain is, say, 1 and the feedback loop is 0.3, then the sum in worst case is 1.1, which is truncated to 1 or overflown to -0.9
So the problem is what concretefx said : normalizing the output - or the input... -.
Get the max amplitude in 1sec, divide by it and that's all. The amplitude is varying, remember ;) it must be processed at EVERY moment if you want a dynamic change. For a static thing, use the formula I began to explain in the first part.
I said 1sec so as the spectrum is not much changed in the process.

Post

Miles1981 wrote:Digital saturation ?
It's logical to have saturation if the input sound is at 0.8, the global gain is, say, 1 and the feedback loop is 0.3, then the sum in worst case is 1.1, which is truncated to 1 or overflown to -0.9
So the problem is what concretefx said : normalizing the output - or the input... -.
Get the max amplitude in 1sec, divide by it and that's all. The amplitude is varying, remember ;) it must be processed at EVERY moment if you want a dynamic change. For a static thing, use the formula I began to explain in the first part.
I said 1sec so as the spectrum is not much changed in the process.
But than there is a problem again. If there are large amplitude differences in sound, the output will be normalised to that peak, and the level of the sound will suffer.
I mean : I have the average level of my sound at -12 dB, and than a 0 dB occures (from feedback for eg.), than the output will be -12 dB. So I guess it's not enough to normalise, right ?

Post

Hi there

I seem what you mean , the feedback would dominate the sound. So you could try , volume normalizing just the wet signal to the volume of the input ,i.e. if the input volume was -18db then this wet signal would be normalized to -18db. You then would mix in the dry signal (unnormalized). I haven't tried this out in code, but you never know it might even work :)


Cheers

Jon : ConcreteFX

Post

Concretefx wrote:Hi there

I seem what you mean , the feedback would dominate the sound. So you could try , volume normalizing just the wet signal to the volume of the input ,i.e. if the input volume was -18db then this wet signal would be normalized to -18db. You then would mix in the dry signal (unnormalized). I haven't tried this out in code, but you never know it might even work :)
Cheers
Jon : ConcreteFX
Interesting ! I will try that too.
Thanks.

Post

tranceinstitute wrote:But than there is a problem again. If there are large amplitude differences in sound, the output will be normalised to that peak, and the level of the sound will suffer.
I mean : I have the average level of my sound at -12 dB, and than a 0 dB occures (from feedback for eg.), than the output will be -12 dB. So I guess it's not enough to normalise, right ?
Exactly, sorry, I didn't think about that - and it was this eays to remember that :?

Post Reply

Return to “DSP and Plugin Development”