The fun stuff with rendering oscillator sync is figuring out which oscillator or oscillators reset during a particular sample period, and which reset came first if both oscillators have reset since the last sample. Only then can you correctly apply BLEPs to remove the aliasing.<br><br>And for triangle waveforms you have band-limited ramps (BLAM) to deal with as well, in order to remove the aliasing generated by abrupt changes to the gradient of the waveform! <br><br>-Richie,<br><br><br>---- Tom Wiltshire wrote ----<br><br><br class="">
<div><br class=""><blockquote type="cite" class=""><div class="">On 13 Feb 2021, at 10:53, Mike Bryant <<a href="mailto:mbryant@futurehorizons.com" class="">mbryant@futurehorizons.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class="Apple-interchange-newline">One important reason to use MinBLEP is to produce hard sync in a digital synthesizer. See that paper that I mentioned earlier today.<br class=""></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">I know I've been left-field for decades (my last analogue synth was got rid of in 1983), but this is where I'm getting confused.  I can understand why hard sync saves costs in an analogue synth but digital oscillators are virtually free.  Any step change in a digital system is going to cause aliases so the obvious thing is avoid them rather than introduce them and then try to correct the error.  If you want the 'richer' sound hard sync produces, just add in one or more digital oscillators producing different band-limited waveforms at a different frequency.   In the end any sound can be reproduced by a sum of sinewaves, but I accept this is difficult to program.  But surely adding together several band-limited signals will produce a better sound as there is no aliasing ?  And if you actually find some of the aliasing is part of the sound you are after, use yet another digital oscillator so that it's controllable.  I think having to alter one's playing style to suit BLEP, as s</span><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">omeone else suggested may be necessary, is surely the worst of all worlds ?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""></div></blockquote></div><br class=""><div class="">Creating a static hard sync sound would be possible like this, but creating the typical “sync bend” sound by an additive method would require complex amplitude envelopes for each individual harmonic, since they each follow a separate evolution. Basic graph for the first ten harmonics here:</div><div class=""><br class=""></div><div class=""><a href="https://electricdruid.net/wp-content/uploads/2016/08/OscSyncHarmonics.jpg" class="">https://electricdruid.net/wp-content/uploads/2016/08/OscSyncHarmonics.jpg</a></div><div class=""><br class=""></div><div class="">(From <a href="https://electricdruid.net/timbral-evolution-harmonic-analysis-of-classic-synth-sounds/" class="">https://electricdruid.net/timbral-evolution-harmonic-analysis-of-classic-synth-sounds/</a>)</div><div class=""><br class=""></div><div class="">Obviously for a analog synth’s ramp waves, there are going to be a lot more than ten harmonics to deal with, especially if this is bass sound we’re talking about.</div><div class=""><br class=""></div><div class="">All this just to get BEEEEOOOWWWWMM!! Adding BLEPs into a naive version starts to seem pretty simple by comparision.</div><div class=""><br class=""></div><div class="">Tom</div>