Oscillator antialiasing (BLEP, polyBLEP, oversampling ,...)

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

I know it has been a while for this thread, but I can't work out how you choose the saw-wave for step and parabola for first derivative :
mystran wrote:
ideally you have the initial "large buffer" to be periodic (ie. saw-wave for step, parabola for first derivative, and so on; you'll remove the low frequencies so this works fine)
I have got a working BLEP/BLAMP oscillator, but have used the trapezoidal method of integration to fill my tables before constructing the residuals. I would like to try/use the method of FFT/IFFT, but struggle with the choice of waves to FFT in the first place.

Can you explain why I would choose the saw-wave and parabola for the buffer? Why not square/triangle? (is it because there are two discontinuities?). Saw-wave is just as periodic as square to me and a parabola is not periodic at all (unless I have the wrong shape in mind)

The rest of it all makes sense.

Post

markburrell wrote: Thu Nov 30, 2023 3:23 pm I know it has been a while for this thread, but I can't work out how you choose the saw-wave for step and parabola for first derivative :
mystran wrote:
ideally you have the initial "large buffer" to be periodic (ie. saw-wave for step, parabola for first derivative, and so on; you'll remove the low frequencies so this works fine)
So this is an old thread.. and I would not necessarily recommend this approach anymore, rather I'd just integrate a regular low-pass and subtract step from that... but basically the idea with this method was that you choose a waveform that is polynomial with a single discontinuity at the wrap-around such that the desired type of discontinuity occurs.

If we take a step, then add a linear slope, we get a saw-wave. The linear slope has constant derivative, hence there's just the straight step discontinuity. Similarly a parabola which is C0 continuous (no step) only has a discontinuity in 1st derivative... and so on.
I have got a working BLEP/BLAMP oscillator, but have used the trapezoidal method of integration to fill my tables before constructing the residuals. I would like to try/use the method of FFT/IFFT, but struggle with the choice of waves to FFT in the first place.
Use that method, it's better.
Can you explain why I would choose the saw-wave and parabola for the buffer? Why not square/triangle? (is it because there are two discontinuities?).
Exactly. The idea was to only have one discontinuity. With large enough buffer you could probably use these too, just taking half buffer to window.. but like really if you have trapezoidal integration of a regular low-pass kernel working, that's the method I recommend today.

Post Reply

Return to “DSP and Plugin Development”