Login / Register 0 items | $0.00 New @ KVR
User avatar
2544 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):
4891 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
11863 posts since 7 Dec, 2004

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.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
89 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 (modular MPE VSTi) G+
Fatar88Lux (dyi MIDI brain) bitbucket
Assault Opera - sound cloud | spotify
Mr Entertainment
12017 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.
4 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
22003 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...

Moderator: Moderators (Main)

Return to DSP and Plug-in Development

48% Off
SpeakerSpeaker Modelling
by AudioThing
Add A Review My KVR
Was $19.00; Save $9.25 until 30 Jun 2018!
Renaissance Music Man: An interview with ARP co-founder David Friend