This abstraction attempts to emulate the Casio CZ oscillators. For those of you who don't know, the CZ oscillators were early digital oscillators that worked by distorting the phase look-up of a cosine waveform. This allowed the oscillators to create unique waveforms using minimal computation and memory. Modulating the phase with these oscillators has a sound similar to a filter sweep, though it is not an accurate emulation. But it still sounds pretty cool. Makes for some great bass sounds.

I don't actually have access to a CZ (I did once, and I didn't take advantage...SON OF BITCH!), but I do have Reason 4. The Thor synth has oscillators that emulate the CZ series. So I basically did some reverse engineering, along with studying the patent, and came up with these. They're pretty close to Thor's. I didn't bother with the bit depth, though, so if you really want to make it sound like early digital, throw in a bit crusher after it.

The helpfile uses my [spectrum.mmb~] abstraction to display the spectrum. If you don't have it, you can grab it from my library in the signature.

And in case you're wondering, since Pd-0.43-extended is doing away with loading libraries on startup and adding paths, I'm getting rid of the ".mmb" extension on my abstractions. I only put it there to keep from worrying about conflicting names, but since either [import] or namespaces are going to be forced now, it doesn't make sense to keep it. [mmb/spectrum.mmb~] is kind of redundant. :-)

UPDATE 3/22/2012: DC offset filter removed, now all waveforms are in the range of -1 to 1.