--- In CZsynth@yahoogroups.com, "katzenhans2000" <gzuz55@...> wrote:
> ... I started to create an emulation of a CZ, but its still hard for
> me to create the right waveforms. But thats another forum :-)
>
> michael
A CZ emulator would be great, CZ lovers are starving for a CZ with knobs!
About the waveform generation, ...from a sin table. For example, when
'Square Wave' is selected:
For parameter 'WAVE'=0 the CZ fetches values linearly from the sin
table. The resulting sound is a pure sin wave (the same as a square
wave with the harmonics filtered out)
For 'WAVE'=99, the CZ still fetches values from the sine wave but it
does it in a special way: it helds the table pointer at the pi/2
position from where it reads the +1 value repeateadly. T/2 seconds
later the table pointer jumps to the -pi/2 position, from where it
keeps reading -1 for another T/2 seconds. The result is a square wave.
For values of 'WAVE' 1 to 98 the table pointer is advanced at a rate
that is probably a weighted sum of the 'WAVE'=0 linear advance and the
'WAVE'=99 pi/2 jumps. Something like: (expressed in C with floats)
advance(t) = ( advance_wave0[t] * (99-'WAVE')/99 ) +
( advance_wave99[t] * 'WAVE'/99 );
Multiplications or floats must be too painful for the CZ's CPU so it
probably does it with table reads, shifts and additions.
JoaquimMessage
Re: CZ-Emulation...
2008-04-13 by jdcx64
Attachments
- No local attachments were found for this message.