Hi fellow audio developers,
This forum is apparently mainly about audio production. But there's another side
regarding audio, and that is: how to create interesting and/or beautiful sounds in
software? Many sound generating
programs try to emulate the sounds of vintage instruments as close as possible, sometimes
with impressive results, but software has many more possibilities then electro-mechanic or
early electronic
intruments.
I try to imagine how the Hammond organ was developed. There must have been a person with
some ideas how he could generate organ-like sounds using spinning tone wheels, each
capable to generate one
sine waveform, and to combine them using drawbars. Then he implemented this idea,
listening carefully to the results, adding and removing different components. The
key-clicks, caused by bouncing
contacts, formed a serious problem, however musicians seemed to like them, and they became
part of the unique Hammond sound.
Compared to the available technical possibilities of the past, software designers nowadays
have a much easier life. A computer and a MIDI keyboard is all you need, you can try all
kinds of sound
creation, so why should you stick trying to reproduce the sounds of yore?
Maybe there are one or two eccentrics like me reading this post? In my opinion a software
musical instrument must be controllable in a simple and intuitive way. So not a
synthesizer with many knobs,
or an FM instrument with 4 operators and several envelope generators. You must be able to
control the sounds while playing. A tablet (Android or iOS) would be an ideal control
gadget. And: not only
sliders and knobs, but real-time, informative graphics.
As an example let me describe an algorithm that I implemented in a (open-source) program
CT-Farfisa. I use virtual drawbars controlling the different harmonics (additive
synthesis). The basic waveform
is not a sine, but also modelled with virtual drawbars. The basic waveform can have a duty
cycle of 1, 0.7, 0.5 etcetera. The final waveform is shortened with the same amount. The
beauty of this is
that you can control the duty cycle with the modulation wheel of the MIDI keyboard, so
it's easy to modify the sound while playing. The program has build-in patches that
have names of existing
instruments, but that's only meant as an indication: they do not sound very similar to
those instruments. This description might sound a bit complicated, but coding it is not
that difficult. Also
several attack sounds are provided, which is very important for the final result. The
program has a touch-friendly interface, runs under Linux (for easy development and
experimentation) and Android
(for playing).
It is not my aim to provide another software tool that you can download and use or not,
but to exchange ideas about sound generation. I know there are many technics, e.g. wave
guides, physical
modelling, granular synthesis, but I think that often it's difficult to control and
modify the sound while playing, in an intuitive way. By the way, did you know that Yamaha,
creator of the famous DX7
FM synth, had only 1 or 2 employees who could really program the instrument?
Wouter Boeke