<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Thanks for your posts Richie, great stuff. A few </div><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 19 Feb 2021 at 03:13, Richie Burnett <<a href="mailto:rburnett@richieburnett.co.uk">rburnett@richieburnett.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
<br>
If by "real-world" you mean after it's come out of a DAC, then it shouldn't <br>
sound any different to running a real analogue sawtooth (with a decent low <br>
noise-floor) through the same high-gain analogue wave shaper or wave folder. <br></blockquote><div><br></div><div><div style="color:rgb(0,0,0)">For the digitally generated and analog osc to match you would need to somehow bandlimit the analog osc. You could record the analog oscillator (ADC) then play it back out your DAC to band-limit it, just like your directly generated band-limited digital osc, then both the analog and digital oscillators would sound the same through further analog non-linear processing. Depending on your ADC / DAC your analog synth recording will have ringing caused by the band-limiting, and possibly pre-ringing, so you may need to match the direct digital band-limiting to whatever your sound card bandlimiting is doing.</div></div><div style="color:rgb(0,0,0)"><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
It's when you apply non-linear processing on the waveform in the digital <br>
domain that things quickly head in the wrong direction again aliasing wise. <br></blockquote><div><br></div><div>things *can* quickly head in the wrong direction *if you don't take care*.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
I don't see a reason why it would create aliasing if it's an analogue <br>
process acting on a properly reconstructed analogue waveform.  But it would <br>
be interesting to try it out.<br></blockquote><div><br></div><div>Yes, it won't create aliasing, but it can change the sound/tone of the end result. For example with pre ringing different non-linear processors can sound different. Here is an example from a Tube Screamer, where a small amount of pre-ringing from the linear phase bandlimiting filter can change the overall tone of the distortion by introducing a small peak.</div><div><br></div></div><div class="gmail_quote">key:<br>blue=input<br>lightblue=highpass that gets clipped by diodes<br>green=output of drive op-amp<br>lightbrown=output of eq op-amp<br>red=final output<br><br>linear phase with peak indicated by arrow:<br><a href="https://cytomic.com/files/scream-linear-phase-os.png">https://cytomic.com/files/scream-linear-phase-os.png</a><br><br>minimum phase:<br><a href="https://cytomic.com/files/scream-minimum-phase-os.png">https://cytomic.com/files/scream-minimum-phase-os.png</a></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">The BLEP16 one used step corrections made from integrating a lowpass FIR <br>
filter designed using Parks-McClellan (Remez), that modified 8 points before <br>
and 8 points after each discontinuity in the sawtooth.  All the examples I <br>
posted were generated when I was playing about with this stuff back in the <br>
mid 90s.  I did some comparisons with MinBLEP at the time and didn't notice <br>
anything different in the sound.  Like-for-like design parameters led to <br>
perceptually comparable results using either method, although there should <br>
be subtle differences to the phases of some of the upper harmonics.  All I <br>
can say is that it didn't sound any different.<br></blockquote><div><br></div><div>And as always with Remez be careful about the energy pushed to the edges away from the centre of the FIR - which is "un-analog" in nature.</div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
At the time I was convinced that MinBLEP was the way to go because it <br>
minimised pre-ringing and *removed* the need for look-ahead.  The latter was <br>
a common belief at the time, and i didn't have a firm DSP/engineering <br>
background at that time in my life to debunk it.  Now I know that the <br>
minimum-phase reconstruction of the band-limited impulse (and the subsequent <br>
band-limited step) doesn't remove the look-ahead, it just reduces it <br>
considerably.  The group delay at DC is still finite, so you still need a <br>
small delay buffer to mix in the BLEPs.  25 years later my current feeling <br>
is that the more complex maths involving the minimum-phase reconstruction <br>
isn't worth the additional hassle.  The reduced look-ahead might give better <br>
results for certain special cases like two oscillators cross-modulating each <br>
other but I'm not convinced at this time.<br></blockquote><div><br></div><div>I agree that it's best to stick with linear phase, and then if you want to lower the latency for inter oscillator modulation then oversampling and using a shorter FIR is a better approach since you will need to contain the extra harmonics anyway. I've only ever used linear phase blep in products.</div><div> </div><div>Cheers,</div><div><br></div><div>Andy</div><div></div></div></div></div></div></div></div></div></div></div></div>