Can't hear much (or any) aliasing in the tracks on the page. How does Zyn manage to avoid that?
Can't hear much (or any) aliasing in the tracks on the page. How does Zyn manage to avoid that?
For both the pad-synth algorithm and for the add-synth engine users create a definition for an oscillator in terms of the frequency components. Then to play the oscillator it is converted into a time domain wavetable. For pad-synth a collection of wavetables are created with each one corresponding to a different frequency (and thus a different antialiasing threshold). For add-synth when a user hits a note, then a new wavetable is build by removing the high frequencies which would alias before performing an inverse fft.
There are still some issues with this approach since it's possible for the frequency of the note to change over time (e.g. frequency lfo/envelopes or add-synth cross-oscillator modulations), so in the future I'd like to add some optional oversampling to the cases where aliasing isn't eliminated by the current approach.
Here is a nice breakdown on the original author's thoughts on harmonics and randomness:
http://zynaddsubfx.sourceforge.net/doc_0.html
It's a very interesting read for those that are interested in such things, and gives some insight into what has helped elevate this particular synth over the more robotic or sterile sounding offerings out there