ATT marc: OSC2 Sync1>2 square wave bug?

  • Starting from the init patch, when I enable sync1>2 and set OSC2 to square, OSC2 outputs into the OSC1/2 mix, a square wave with a spike in the middle of the low half of the square shape, something like this: /¯¯¯\_^_/
    The position of the spike seems to be controlled by the detune parameter, when it is set to 0 it merges with the middle of the wave, so it can be avoided so it is not all that bad, and I admit this makes a more interesting wave, but it doesn't look like it's intentional, is it? Can anyone else reproduce this?

  • Just to clarify... you do know what oscillator sync is, don't you? It resets osc 2 to zero phase (the beginning of its waveform) every time osc 1 completes a cycle.


    This means you will get a discontinuity if osc2 has not completed its cycle, or rather, is nowhere near its starting value when it resets. This discontinuity is seen as an impulse, or spike, because it is band limited meaning not all the frequency components that would make that impulse get through. If you use the semitone dial to get a larger range of variation you will see that eventually a second cycle of the square starts to get through - if you move that up and down you should be able to see whats going on. You can also edit the pulse width (the higher you set it the less time the square spends down before it goes up) to make it transition in time before the oscillator resets itself (which allows you to get away with a lower freq osc2 than osc1 when using sync, coupled with PWM this can get some nice rhythmic effects.

  • The picture I get when I dial semitones on a synched OSC2 makes sense to me: OSC2's cycle ends before its time (or after a few cycles too many) and it looks much like messing with the PWM %. I expected detune to do the same, only on a much finer level. The worst thing I imagined was to find a hidden LFO in there so that the picture would not be "stable" - but instead I saw this spike, or impulse, after which the the square wave shape continues to its full cycle.
    Also I didn't understand the "band limited" part of your explanation, as we are dealing with the time domain here and not the frequency domain, so if you'd care to ellaborate...

  • long story short, you get a discontinuity as the oscillator resets, this causes the impulse you see (its not a vertical line between the two because the virus does not have infinite bandwidth on the audio output, so you see an overshoot with ripple). Although I do admit, i'm surprised it's as big as it is... that may well be deliberate to replicate what a real sync'd analogue oscillator would look like (and I havent put one through a scope ever to see for myself).