I’ve been captivated by the sound of the Hammond “Mighty B3” for a long time, and really wanted to be able to reproduce something like it on my computer. Getting that sound in all its moods, though, is not exactly a simple task. A good emulation of course has to have the Hammond’s adjustable ‘Drawbars’, but in addition, to recreate all the throatiness a Hammond can pour out, it has to have capabilities such as a “Leslie” and Vibrato. This Csound emulation has now evolved to a point where I believe it matches the “Hammond sound” quite creditably — considerably better than other software I’ve tried previously. The latest version (8.1) has further adjustments to bring it even closer This emulation is intended to be driven from live MIDI input, with some control also through ‘score’ commands, either from a file or sent during performance to the program’s stdin. It allows for the two keyboard manuals that a Hammond has, each with its own drawbars. Hammond-type Vibrato and ‘Percussion’ are available, and output can be through a “Leslie” rotary speaker simulation with ‘Overdrive’ (to add some characteristic distortion). There are two types of Reverb: ‘Room Reverb’ and the somewhat different ‘Spring Reverb’. The approach has been to try to simulate the actual mechanism of a Hammond as closely as possible. Even tone generation now goes the whole nine… umm …drawbars… and uses “tone wheels” in code that have the exact “gearing” and “teeth” of those in the original. (Hammond tone wheels generate neither exact harmonics nor true equal-temperament output, possibly contributing to the “Hammond sound”. A table of the actual frequencies and their derivation is here for those interested.) The Percussion scheme and Vibrato follow the same principle, the latter using a “scanner” that modulates frequency and amplitude in the same way as the hardware does. The code was originally based heavily on Hans Mikelson’s ‘RotorOrgan’, though by now it has metamorphosed considerably. Live keyboard MIDI input is normally on channels 1 and 2 (“Swell” and “Great” manuals respectively). Swell pedal control for these is Controller 11 (“Expression”) — on channel 1 for both. Drawbar settings can be made through a bank of MIDI controllers on the respective channel, or through score commands. A short range of channel 3 notes can be used to set Leslie speed — by default the lowest 8 keys of an 88-key piano. (Or, again, score commands can be used.) Channel 3 also offers a number of controllers to manage Percussion, Vibrato, Reverb and Overdrive. If your system isn’t capable of supplying all these inputs, you can just use a single MIDI channel, and control everything else through (real-time or file) score commands. All defaults are constants at the beginning of the Orchestra file, so they can easily be changed as well. |
|
|
|
Another … ‘lost’ … Hammond instrument, the “Novachord”, has a Csound recreation here. |
|
The downloadable package has the following files:
|
|
| |
If you have any questions or comments,email me at either of the addesses below and I’ll be glad to help if I can.
Pete Goodeve Berkeley, California e-mail: pete@GoodeveCa.NET pete.goodeve@computer.org