Thanks for pointing that out and the audio demo. I come to the conclusion that my BLEP's and BLAMP's maybe don't have the same delay (maybe an error in the calculation) or maybe the BLAMP isn't accurate enough.aciddose wrote:I use distinct buffers for different orders because I'm using minimum phase. This means each order has a unique delay.
(Removed technical rant about why not.)
So I can't tell you that it does work, but I can say that I have absolutely no reason to believe there is any technical reason that it wouldn't work. It works perfectly now, so simply rearranging the delay and mixing into a single buffer wouldn't change anything of any significance. There is just no benefit to doing so.
Or did you mean that not literally? Yes I use both types (and more, I've experimented with up to 4th order) in the waveforms I posted the graphs for. For example both 1st and 2nd order are used in the 2x pulse * ramp waveform because the delta switches between 0 and 1. Sync works perfectly in all these waveforms and is used when switching waveform. This is why you can see the initial 1st and 2nd order kernels at the beginning of some of the waves.
https://soundcloud.com/xhip/osc-b-demo
This is a clip of the oscillator including those 2nd order waveforms running with sync and PWM in a stereo unison. Several waveforms are demonstrated including pulse, ramp, triangle, 4pt cos, 8pt cos, z ramp, dual ramp, pulse2x chopped ramp and variable width ramp (adjustable slope ramp/triangle).
It looks like while the BLAMP does a perfect job with 32 times oversampling but the quality gets massive low with x128 oversampling. How did you generate the higher order bleps?