Am Sonntag, 31. Mai 2009 schrieb Fons Adriaensen:
On Sun, May 31, 2009 at 03:29:42PM +0200, Martin
Homuth-Rosemann wrote:
I'm just working on this problem. It clicks
because I switch the signals
on/off without every smoothing at random moments of the sine wave. I've
changed the timing to switch at zero crossings and the clicks go away.
Looking at the schematics there is no evidence of any
'click removal' action. Also the waveforms summed there
(for 4',8' and 16') would not be sinewaves. Each divider
output has an RC lowpass filter before going to the mix
bus. Assuming the dividers generate square waves, the
smoothest waveform you can get would be a triangular one.
What each of these RC filters does exactly will depend on
the impedance it sees on the mix bus, and this is a complex
function of the drawbar positions (*all* of them for each
bus, since they share the resistors) and the number of
notes already on. If the drawbar for a mix bus is at a
low setting, or at maximum, its impedance would be quite
low (the top end is feeding a virtual ground), in that case
the RC filter frequency moves up, and there is a *highpass*
action from the series capacitor and the mix bus impedance.
This impedance reaches a maximum of around 5k for the third
highest position. If two drawbars are the same position
their corresponding mix busses are even shorted to each
other. So just adding the contributions from each note does
not correspond to what's happening here, both the amplitudes
and the filtering of each note depend on almost the complete
state of the instrument.
Ciao,
Ciao Fons,
you're right in your perfectionistic view - this isn't a software simulation
of the real Continental. Thank you for the dissection of the signal flow - the
lack of cheap hardware like opamps led to some creative solutions with their
own special sound.
My first goal wasn't to simulate a specific type of one electronic organ but to
develop a common toolbox to build an instrument with midi in and jack out. At
the moment the sound range is from very soft (8' stop only and flute -> sine
wave) to very harsh (all stops and reed). I'll experiment with triangles and
square and some kind of "real electronic" waveforms.
The actual version improves i.e. reduces the key click (especially at key
release). I dont switch the sound on/off at key press/release but ramp it
up/down for some milliseconds - that's not what a real organ does but it
sounds better. :)
The vibrato is also a playground - it's a simple mixed fm and am that
simulates one leslie horn (without crossover) rotating in free field without
early echoes etc. The "vibrato" drawbar controls the rotating speed (the fm
modulation strength and the speed of am pan shifting).
I implemented this effect into the organ because it's easier to do the fm at
the sound source.
The "gui" is now a bit easier to handle - I switched the keyboard to
noncanonical and unbuffered.
Version 0.3.1 (beautiful noise):