[sdiy] BLEP, PolyBLEP, aliasing, etc

Amos controlvoltage at gmail.com
Wed Feb 17 16:49:25 CET 2021


...er, digitally-generated *oscillator* that is... I typed VCO by force of
habit :)
-Amos

On Wed, Feb 17, 2021 at 10:48 AM Amos <controlvoltage at gmail.com> wrote:

> A fun test is to run the real-world output of your digitally-generated VCO
> through a high-gain analog wave shaper or folder... oh boy does that bring
> out the errors!
>
> On Wed, Feb 17, 2021 at 3:57 AM Andrew Simper <andy at cytomic.com> wrote:
>
>> One thing to note with these listening tests is that oscillators are
>> rarely used on their own, they normally go through some sort of non-linear
>> processing eg filter and amp, which will make aliasing more audible.
>>
>> Cheers,
>>
>> Andy
>>
>> On Wed, 17 Feb 2021 at 15:48, Roman Sowa <modular at go2.pl> wrote:
>>
>>> I can hear difference between BLEP and BLEPx2, hesitate to say "clearly
>>> hear" but it's aparent with no special conditions, lousy acoustic
>>> environment and radio playing near by.
>>> I must be youg then :)
>>> To hear the difference in x16 version I would probably need $28k silver
>>> speaker cables laid down in circle with marble cable supporters.
>>>
>>> Those audio examples are the best what has happened in this thread and
>>> the one it came out from.
>>>
>>> Roman
>>>
>>> W dniu 2021-02-16 o 17:35, Antonio Tuzzi pisze:
>>> > 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
>>> >
>>> > Antonio
>>> >
>>> >> 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
>>> >
>>> > _______________________________________________
>>> > 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
>>>
>>> _______________________________________________
>>> 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
>>>
>> _______________________________________________
>> 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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210217/349f031f/attachment.htm>


More information about the Synth-diy mailing list