I’ve put together a first tryout patch exploring Rob Hordijk’s sync oscillator, in particular the masking feature he describes in his NOVARS video tutorial on the module.
The first step in syncing the two oscillators was to invert the syncing sawtooth so that the synced waveform shares its transient with the sawtooth. If the two Audulus oscillator nodes are synced directly, the transient of the synced oscillator will appear in the middle of the syncing oscillator’s sawtooth. Since the synced oscillator is reset whenever the input crosses zero from below, the rising slope of the sawtooth resets the synced waveform when it (the sawtooth) reaches its zero midpoint. With the inverted sawtooth the slope crosses zero from above and doesn’t reset the oscillator until is crosses from below at the point of the transient.
I was particularly intrigued by the masking feature Hordijk describes in the video. In this case the inverted sawtooth is converted to a unipolar, positive only, waveform and used as an envelope applied to the synced oscillator. This means that the transient points of the synced waveform correspond to the zero point of the envelope and, importantly, are always the same size – effectively reducing that unwanted side-effect of the introduced transients.
Some more information on the masking technique can be found in one of Hordijk’s tutorials for the Nord Modular, as well as on his own site. As the Nord tutorial points out, the masking, while smoothing out the transients, also introduces a distortion of it’s own, and suggests crossfading between two versions of the synced waveform slightly out of phase with each other in order to minimize this side-effect.
In the case of this tryout I’ve kept things simple. I find the masking particularly effective in the case of the triangle wave – it’s interesting to compare it with a version in which the inverted envelope is replaced by setting the amplitude to full on the oscillator. With the sawtooth the mask side-effects are more noticeable, and since there are so many transients in the wave already I find it somewhat smoother to simply set a fixed amplitude for the synced sawtooth. Using a mask for the amplitude does however make for a smoother crossfade between the triangle and sawtooth waves and also allows for some interesting effects at low frequencies where the envelope is more apparent as an envelope.
I’ve uploaded the patch to the Audulus forum.