Non-B-Spline PolyBLEPs

DSP, Plug-in and Host development discussion.
urosh
KVRist
339 posts since 4 Oct, 2002

Post Sun Dec 05, 2021 6:10 am

mystran wrote:
Sat Dec 04, 2021 4:39 pm
I find that with 32-taps and 2x oversampling I can get the quality I want (where the 2x is more for allowing gradual transition in order to reduce IMD issues with further processing)
What would/do you use here? I'm assuming that IMD issue stem from time-domain behavior of antialiasing kernel, pretty much boiling down to overshoot. However, it seems to me that no matter how I window sinc, it will be wiggly in the end.

mystran
KVRAF
6722 posts since 12 Feb, 2006 from Helsinki, Finland

Post Sun Dec 05, 2021 7:30 am

urosh wrote:
Sun Dec 05, 2021 6:10 am
mystran wrote:
Sat Dec 04, 2021 4:39 pm
I find that with 32-taps and 2x oversampling I can get the quality I want (where the 2x is more for allowing gradual transition in order to reduce IMD issues with further processing)
What would/do you use here? I'm assuming that IMD issue stem from time-domain behavior of antialiasing kernel, pretty much boiling down to overshoot. However, it seems to me that no matter how I window sinc, it will be wiggly in the end.
That's the 2x oversampling part, so I can have a very gradual transition. :)
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

mystran
KVRAF
6722 posts since 12 Feb, 2006 from Helsinki, Finland

Post Sun Dec 05, 2021 8:27 am

mystran wrote:
Sun Dec 05, 2021 7:30 am
urosh wrote:
Sun Dec 05, 2021 6:10 am
mystran wrote:
Sat Dec 04, 2021 4:39 pm
I find that with 32-taps and 2x oversampling I can get the quality I want (where the 2x is more for allowing gradual transition in order to reduce IMD issues with further processing)
What would/do you use here? I'm assuming that IMD issue stem from time-domain behavior of antialiasing kernel, pretty much boiling down to overshoot. However, it seems to me that no matter how I window sinc, it will be wiggly in the end.
That's the 2x oversampling part, so I can have a very gradual transition. :)
Actually let me expand on this a bit..

The wiggles as such are not a huge issue if you're oversampling non-linearities sufficiently to avoid aliasing, but a steep cutoff can result in some ugly notches at slightly lower frequencies and highly resonant filters can do ugly stuff if you ever let their cutoff sweep past the oscillator cutoff..

So I kinda like to solve all the issues by generating the oscillators at 2x so that I can have a flat passband up to 22kHz, then a very gradual transition up to 44kHz and basically no actual aliasing.. but this involves putting the BLEP cutoff a bit lower, which means a longer BLEP, which makes it hard to get 16 taps to behave with higher order BLEPs .. and 32 taps is the next "full cache lines" up.

Oh.. and with oscillators at 2x additional oversampling for non-linearities doesn't need as steep kernels either.. and if there's some ugly notches or whatever nastyness that generally stays above the 22kHz limit so will get filtered out at the end of the signal path when we downsample to 44kHz. :)
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

urosh
KVRist
339 posts since 4 Oct, 2002

Post Sun Dec 05, 2021 9:16 am

mystran wrote:
Sun Dec 05, 2021 7:30 am
That's the 2x oversampling part, so I can have a very gradual transition. :)
Yeah, so my question is, how do I design "gradual transition" kernel? Windowing typically introduces notches in frequency response, so is there some window for sinc that is suitable or is there some other method to construct kernel?

mystran
KVRAF
6722 posts since 12 Feb, 2006 from Helsinki, Finland

Post Sun Dec 05, 2021 9:23 am

urosh wrote:
Sun Dec 05, 2021 9:16 am
mystran wrote:
Sun Dec 05, 2021 7:30 am
That's the 2x oversampling part, so I can have a very gradual transition. :)
Yeah, so my question is, how do I design "gradual transition" kernel? Windowing typically introduces notches in frequency response, so is there some window for sinc that is suitable or is there some other method to construct kernel?
Kaiser.. just bump alpha. :)
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

oskari
KVRer
22 posts since 11 Feb, 2003

Post Tue Dec 07, 2021 12:47 pm

yeah i'll bump it later

Return to “DSP and Plug-in Development”