Page 1 of 1

Hard Sync for the lazy one

Posted: Sun Dec 21, 2014 12:42 am
by MyCo
Hi,

Just played around a bit, trying to find a cheap less aliasing hard sync method. The result is attached.

Basically it works like that:
Parallel to the master oscillator (Schematic doesn't have on, though) runs a wavetable oscillator with a band limited rectangle (0-1 range). The rectangle is most of the time high and just starts/stops hard at zero. Basically an inverse BLIT.
There is a ramp counting parallel to the master oscillator for triggering the Sync of the slave. When a sync happens (ramp > 1) the phase offset ( (ramp -1) * slave freq / master freq ) is passed to the slave oscillator. That's just simply because a sync might happen between samples. At the end is the inverse BLIT wave multiplied by the slave osc output to smooth out the sync transitions.

It kind of works. But the way how I generate the BLIT Wavetable is really a hack. I used the wavetable primitive to generate a band limited wavetable, and rescaled the output to a 0-1 range, because it wasn't made for such a accurate task. There might be better ways.

Have fun!
Maik

Re: Hard Sync for the lazy one

Posted: Sun Dec 21, 2014 10:11 pm
by martinvicanek
I don't fully understand how you did it but it sounds very clean. 8-)

Re: Hard Sync for the lazy one

Posted: Wed Dec 24, 2014 12:24 pm
by MyCo
I found a way to calculate the sync wave table directly. So now it uses a perfect shape without the rescale hack that I used before. Amplitude looks to be more exact, hasn't changed the sound much, though

Re: Hard Sync for the lazy one

Posted: Wed Dec 24, 2014 2:05 pm
by Tronic
I do not know if it performs as expected,
but the test with the wavetable seems to generate strange harmonics close to the Nyquist frequency.
however very clean sound.