Login / Register  0 items | $0.00 NewWhat is KVR? Submit News Advertise
User avatar
Chris-S
KVRAF
 
2050 posts since 10 Nov, 2013, from Germany

Postby Chris-S; Fri Jan 10, 2014 1:29 pm Re: Tutorial: BLEPs (using PolyBLEPs but extensible)

FFT comparison (1000 hz saw):
Image
mystran
KVRAF
 
4480 posts since 11 Feb, 2006, from Helsinki, Finland

Postby mystran; Fri Jan 10, 2014 4:11 pm Re: Re:

Tale wrote:
mystran wrote:Well, mm.. don't have a picture to post, but basically a bit cleaner than DPW.

Well, I do:


Thanks for the pictures. Yeah, you can trade-off different functions. The one you propose (0.5*x^2) amounts to treating the step as a linear segment rather than a smooth-step. The choice makes some sense, but for whatever reason the one I used appears to be popular in literature.

Anyway, I don't really have an opinion on particular step-functions to use, I just picked something that worked reasonably well. Normally I'd use longer tabulated BLEPs (usually 16 taps or so). Really should extend the code above to illustrate how to do this exactly.
Image <- plugins | forum
User avatar
aciddose
KVRAF
 
11051 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Fri Jan 10, 2014 4:54 pm Re: Tutorial: BLEPs (using PolyBLEPs but extensible)

Everyone should keep in mind of course the examples are generated with a very minimal filter. The filter I use for example produces zero passband distortion and provides 120db in 1/5th octave. This means say you're running at 48khz, harmonics roll off from 24khz to 19.2khz and then are -120db. Same response for all orders.

It does this in eight samples rather than two, so it is not much more expensive.
ulph
KVRist
 
81 posts since 7 Jan, 2011, from stockholm, sweden

Postby ulph; Tue Apr 18, 2017 8:52 am Re: Tutorial: BLEPs (using PolyBLEPs but extensible)

Nice, perfect to get me started!
PhasePhckr (VSTi in dev) G+
Assault Opera - sound cloud | spotify
xoxos
Mr Entertainment
 
12018 posts since 29 Apr, 2002, from i might peeramid

Postby xoxos; Fri May 05, 2017 1:11 pm Re: Tutorial: BLEPs (using PolyBLEPs but extensible)

no function version :hihi:
(*in1 and *in3 are mix and pw. w is unit phasor of course)
Code: Select all
      float out = blepDelay;   blepDelay = 0;   
      p += w;
      while (true) {
         if (pulseStage == 0) {   if (p < *in3) break;
            float t = (p - *in3) / (widthDelay - *in3 + w);   float t2 = t * t;
            out += *in1 * t2 * (t - .5f * t2);
            t = 1 - t;   t2 = t * t;
            blepDelay -= *in1 * t2 * (t - .5f * t2);
            pulseStage = 1;
         }
         if (pulseStage == 1) {   if (p < 1) break;
            float t = (p - 1) / w;   float t2 = t * t;
            out -= t2 * (t - .5f * t2);
            t = 1 - t;   t2 = t * t;   
            blepDelay += t2 * (t - .5f * t2);
            pulseStage = 0;
            while (p >= 1) p -= 1;
      }   }
      blepDelay += (1 - *in1) * p + (bool)pulseStage * *in1;
      *out1 = *out2 = out + out - 1;
      widthDelay = *in3;


this was nice to get :)
you come and go, you come and go. amitabha xoxos.net free vst. neither a follower nor a leader be
tagore "where roads are made i lose my way"
where there is certainty, consideration is absent.
NoWay
KVRer
 
6 posts since 23 Jul, 2015

Postby NoWay; Mon May 08, 2017 4:07 am Re: Tutorial: BLEPs (using PolyBLEPs but extensible)

Cool stuff! Now I want to code :D
User avatar
Urs
u-he
 
20695 posts since 7 Aug, 2002, from Berlin

Postby Urs; Tue May 09, 2017 11:44 am Re: Tutorial: BLEPs (using PolyBLEPs but extensible)

NoWay wrote:Cool stuff! Now I want to code :D

No way!!! :o

sorry, couldn't resist...
Previous

Moderator: Moderators (Main)

Return to DSP and Plug-in Development