Julien Claassen wrote:
Fons!
Let's make a bargain: We collect the info and you design and implement the
code. I'll do the help-function again. :-) Aeh... Well perhaps still a little
unfair... :-( Pity!
Well, here's a bit of research to get a start:
http://b3world.com/hammond-techinfo.html (there are three pages worth of
info here)
Here's an interesting site, aimed at providing the technical detail
needed for soft-synth makers:
http://www.electricdruid.net/index.php?page=info.hammond
I can't seem to find one article I had read once upon a time, that
pointed out that the upper harmonics (the smaller tonewheels) are
slightly out-of-tune with the rest of the wheels. That last link
basically covers that detail in a different way, though.
To emulate the exact waveform shapes (the tonewheels never made perfect
sine waves, after all), you might consider using Bezier curves
oscillators (I have a paper on it around here somewhere), but of course,
you'd need to know what the shape for each tonewheel needs to be. Anyone
have an old Hammond they wouldn't mind tearing apart? You could run some
audio analysis on the output of the tonewheels if you could tap their
output before they hit the preamp.
For me, the most interesting part would be emulating the sound of the
old preamps, plus the amp (you want the tube sound, right?). Then,
there's the rotary speaker, the most interesting part of all. Look at
lumped modeling for the tube preamp/amp parts of the chain.
It's all quite doable, but non-trivial, I think. The Linux community in
general (and this one as well) seems to me to have a bad track record
when it comes to cooperating on large monolithic apps. A better approach
might be different people making different parts as LV2 plug-ins which
can then be brought together in something like Ingen.
I think I'll stop there before I start pretending to be an expert. This
is all just stuff I learned from my own research in wanting to do a
Hammond emulator myself.
-- Darren