[sdiy] BLEP, PolyBLEP, aliasing, etc

Antonio Tuzzi antoniotuzzi at gmail.com
Tue Feb 16 17:35:27 CET 2021

Thank you 

in a blind test using my monitors before and headphones after I can't hear any difference between Saw_PolyBLEP Saw_PolyBLEPx2 and Saw_BLEP16

but I can see clearly the aliasing in the spectrum plot for the Saw_PolyBLEP

I must be old ! :D 


> On 16 Feb 2021, at 14:39, Richie Burnett <rburnett at richieburnett.co.uk> wrote:
> I've uploaded some audio examples of what you can expect from these different synthesis techniques if anyone is interested:
> http://www.richieburnett.co.uk/temp/blep/
> They all contain a Sawtooth waveform slowly swept from about 47Hz up to 12kHz over a duration of 20 seconds...
> File "Saw_Naive" contains what you get if you just output the oscillator's phase accumulator directly at 48kHz.  You get a Sawtooth with lots of aliasing.  Most noticeable at the higher pitches though.
> File "Saw_PolyBLEP" contains what you get if you apply corrections to one sample before and one sample after each discontinuity using the PolyBLEP technique I mentioned, with 48kHz sample rate.  This clearly sounds way better than just outputting the raw phase accumulator!  But if you view the spectrum or spectrogram in something like Audacity or Goldwave you will see there's still plenty of aliasing going on at the top of the audio frequency range.  You can actually watch harmonics bounce off the Nyquist limit (right edge of spectrum) and reflect back down.  You can probably hear them too if you listen carefully.
> File "Saw_PolyBLEPx2" contains what you get if you run the same basic PolyBLEP technique with x2 oversampling (i.e. 96kHz sample rate).  You still see some low-level aliasing right at the top end of the spectrum in Goldwave, but not much ventures into the region below the tone's fundamental.  You will likely struggle to hear the aliasing now at sensible volume levels.
> File "Saw_BLEP16" contains a sawtooth synthesised using a full BLEP method correcting 16 samples around each discontinuity and running with x2 oversampling (96kHz.)  Now you will see that the spectrum looks very clean everywhere right down to the noise-floor.  (If you can hear aliasing in this file, then your PC or audio interface is likely performing some sort of sample-rate conversion, and doing it badly!)
> File "Saw_Aliases" contains just the corrections applied to the Naive Saw waveform around the discontinuities, just for fun.  It essentially contains all of the aliased rubbish that gets removed by the BLEP algorithm, but you can hear it more clearly without the main Sawtooth tone masking it!
> As you can see the simple PolyBLEP method does a very good job of attenuating aliasing in the low-frequency region of the spectrum where it is most annoying,  but the full BLEP technique tweaking several samples around each discontinuity gets close to perfection across the full audio spectrum.
> -Richie, 
> -- 
> This email has been checked for viruses by AVG.
> https://www.avg.com
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
> Selling or trading? Use marketplace at synth-diy.org

More information about the Synth-diy mailing list