The idea

Frequency domain synthesis is a novel synthesiser architecture, based on some rather old technology.  Ever since they were first invented, electronic synthesisers have been touted as 'able to produce any sound you could ever hear', but  this is an ambitious goal, and few synthesiser designs have ever come close.

The Frequency Domain Synthesiser is intended to be a small step in the right direction, made by going back to first principles.  Most digital synthesisers operate in the time domain, processing individual audio samples one after the other.  This synthesiser operates in the frequency domain, manipulating descriptions of the sound's spectrum, updating these descriptions in real time to respond to performance controls, and only at the last moment passing them to an output unit for rendering into audio samples.

The underlying technology of frequency domain synthesis is related to additive synthesis, but the 'user model' has a different emphasis.

Often, the motivation for additive synthesis is to produce an arbitrary waveform, which is then processed in the time domain, just like the output of any other kind of oscillator.  The motivation for frequency domain synthesis is simply that your ears do not register waveforms at all, but instead analyse each sound according to how energy is distributed among frequencies.  Let's use an analogy - the web page you are looking at now is being brought to you by a form of additive synthesis, in which the colours of the background and text are synthesised by mixing together various amounts of red, green and blue.  This is not done because red, green and blue pixels can produce every possible colour, but because the receptors in your eye break every colour down into components using those three primary colours.

Where frequency domain synthesis differs from additive synthesis in in the provision, through a collection of plug-in modules, of a set of high level tools for describing the sound and manipulating that description in real time.  In terms of our analogy: while it is possible to specify the individual components of every pixel on this web page by hand, it is much easier to use high level drawing and painting tools.  So too, producing a static description of a sound with additive synthesis might require you to dial in hundreds of parameters; making it respond to performance controllers in a useful way might require even more.  With frequency domain synthesis, you use modules to describe how high level parameters should affect the sound in as much - or as little - detail as you wish.

In fact, using the frequency domain to describe sounds is so natural that many time domain synthesisers use it, but only as deep as the printing on the front panel.  Below are two pictures which describe the same resonant low-pass filter.  One picture shows the filter's response in the frequency domain, and the other in the time domain.  Which one do you recognise?


The frequency domain synthesiser represents an attempt to put these ideas into practice.

Naturally, it includes a full complement of frequency domain equivalents of familiar
filters, equalisers, ring modulation and FM, and even a vocoder.  Besides these are modules oriented towards mathematical operations - if you use these to model resonators such as pipes and strings, you have a frequency domain counterpart to waveguide modelling synthesis.  There are also  modules that let you sketch out more complex functions, such as the frequency response of a violin soundboard, with the mouse.  And, since it has its own plug-in interface, the synthesiser can be augmented with new modules at any time.  Frequency domain synthesis combines, in a unified model, the flexibility usually associated with modular synthesisers with the ability to generate detailed sounds usually associated with modelling synthesisers.