[music-dsp] faking oscialltor sync: will this work?

Andrew Simper andy at vellocet.com
Tue Apr 9 01:14:34 EDT 2002

```> >You only need to know the frequency of sync, you don't need to generate
an
> >entire waveform. The es2 code would simply have to read the tune of osc 1
> >and use this number in the algorithm for osc 2 and 3.
>
> Yeah but the thing is that the osc1 and osc3 is disabled. Not running.
> Stopped.

Yes and as I said you only need to know the frequency of the oscillator 1
you don't have to generate it's waveform. Once you know the frequency (eg
1200Hz) you know how often you need to reset osc 2 (eg every 44100/1200 =
36.75 samples), now that didn't take too much cpu did it!

If this still doesn't make sense please read up on the blit algorithm and
what it's inputs are so you can understand whats going on and why you don't
need to calculate osc 1.

> >Have a closer look at which waveforms you can
> >actually do sync on.
>
> ES2's available waveforms are PWM, Triange, Saw wave, Sine wave,
> Square wave, Square Sync, Triangle Sync.

I think you'll find from the screen shot here that the sync is for
square and saw only, not triangle or sine:

http://www.emagic.de/english/products/instruments/es2/screen_1.html

This is probably because as pointed out on the last page of the paper:

Hard Sync Without Aliasing
Eli Brandt
School of Computer Science, Carnegie Mellon University
email: eli at cs.cmu.edu
http://www.cs.cmu.edu/~eli/papers/icmc01-hardsync.pdf

...
This is sufficient only if the first and higher derivatives
are essentially continuous across the point of discontinuity, a
property we name C1 continuity. Square wave, sawtooth, and
hard-synced square and sawtooth have this property, so their
aliased digital syntheses can be corrected simply by replacing
steps with MinBLEPs.

Hard-synced triangle, on the other hand, does not have C1
continuity, but does have C2. It could be synthesized from
MinBLEPs and minimum-phase bandlimited ramps (which
we will refrain from naming).

Hard-synced sine, finally, has no Cn continuity. This approach
cannot synthesize it exactly, but only approximate it;
aliasing will fall off by 6dB/oct per derivative whose discontinuity
...

> That's why I don't think ES2 is using Blits.
>
> Toto

I hope you won't be too disappointed if you find out otherwise.

--andy

dupswapdrop -- the music-dsp mailing list and website: subscription info,
FAQ, source code archive, list archive, book reviews, dsp links
http://shoko.calarts.edu/musicdsp/

```