Through-Zero Oscillators

You certainly know of oscillators. But did you know of through-zero oscillators? Basically, they are like ordinary oscillators, but they can be run ‘backwards’! What this means in SynthMaker is: If you supply a positive frequency value, your oscillator will work just as it should, but in contrast to other oscillators, it will reverse its working direction when a negative frequency value is being supplied. For an introduction to how oscillators in SynthMaker work, please visit the tutorial page for Simple Sine And Saw Wave Oscillators. Now, please have a look at the working of this kind of oscillator:

This is a common saw wave oscillator

→ And this is what we do

streamin frequency;
streamin volume;
streamout out;
float a;
a = a + frequency;
a = a - (a > 1) & 2;
a = a + (a < -1) & 2;
out = volume*a;

You see: We have only added one conditional statement, but the effect is that,if a negative frequency value is supplied and as a consequence the value of a falls below -1, it is being shifted up by 2. This is similar to the basic statement before, but altogether a nice way of turning an oscillator into an upsaw/downsaw oscillator!

You may not have been aware of it, but simple things can have great effects!:-D

tutorials/oscillators/through-zero_oscillators.txt · Last modified: 2010/01/31 13:48 by paulbreeze