Hi, concerning avoiding aliasing in the first place, here are abstractions for generating bandlimited versions of the most popular analog waveforms I developed for a seminar some time ago:
https://www.selma.hfmdk-frankfurt.de/selmafile/f/9eed9b01b9/ Open "bl-oscil-example.pd" to see how to use it. Note that the rect~ oscillator has an additional pulse-width input. The patch uses wavetable lookup with 128 wavetables of an ideal bandlimited sawtooth with partials 1 through 127 for each wavetable respectively and the non-bandlimited phasor wavetable for the 128th. In the oscillator the wavetable is determined on each phasor wraparound based on frequency. At a samplerate of 44100 Hz this gives no aliasing above 173.6 Hz which my ear considered good enough (for 173.6 Hz the aliasing happens at about -42 dB for the first aliased partial relative to the first partial, diminishing by 6 dB per Octave downwards). Increase the number of wavetables for better signal/aliasing ratio. As this method gives ideal results and is as efficient as it can get it's strange I haven't found it on my web research of this topic, but maybe I've looked at the wrong places. In times when wavetable lookup synthesis has regained popularity in commercial soft-synths I could well imagine companies like NI or Ableton also use this or simlar methods under the hood of the oscils for their standard analogue waveforms. -- Orm Am Samstag, den 28. Oktober 2017 um 19:24:00 Uhr (-0200) schrieb Alexandre Torres Porres: > 2017-10-28 18:30 GMT-02:00 cyrille henry <[email protected]>: Its very > different : a sawtooth have an infinite number of harmonics, but > > not a signal distorted with tanh. And a band limited sawtooth is > lot's > better (from sound and performance perspective) than an > oversampled / > filtered phasor. > > > > yeah, I know it's got infinite harmonics, and that a band-limited > oscillator is better. But this is also because I'm using this to measure > the efficiency of the anti-aliasing filter, how good it works and all > > cheers > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
