Device Details

Device Overview

Name/Version: Fourier Synth 1.0
Author: philknock  
Description: Behold the Fourier Synth!

This polyphonic synth creates the basic wave types (square, sawtooth, and triangle) by additively combining sine waves. It sounds pretty incredible.

_______________________________________________________________________

INTRODUCTION
_______________________________________________________________________

This synthesizer accomplishes something rather mundane, which everyone who ever has tinkered with a synth has taken for granite: creating square, sawtooth, and triangle waves, but in a rather peculiar way.

What is special about this synth is that these wavetypes are made entirely from the additive synthesis of many sine waves instead of a function generator, which is how this is typically accomplished. Mathematically, this is known as a Fourier Series. The underlying theory is that any periodic function can be created by a potentially infinte sum of sine and cosine waves. This theory is immensely important throughout the field of digital signal processing, for example in A/D/A conversion and the Fourier Transform.

https://en.wikipedia.org/wiki/Fourier_series

The following is an explanation of how this concept was employed in creating this synthesizer.

With 8 voices of polyphony, incoming midi notes specifiy the fundamental frequency for the first sine wave, known as the first harmonic. Then in the subsequent sine waves which are all harmonically related to the original, the frequency and amplitude of each is carefully chosen to get closer and closer to the perfect wave. The more voices, the closer to the true chosen wave type you'll get, however this is at the cost of more cpu power. Note, this plugin can be a CPU hog, and large numbers of voices may cause audio dropout and poor performance of your set. 64 is the default and it works pretty well. The maximum is 256, which is ample. Higher numbers of voices will allow you to also get higher frequencies in your signal.

For a square wave, the amplitude of the harmonics is 1/x for odd numbered harmonics. For example, if the fundamental frequency (first harmonic) is 100 Hz, the next (third) harmonic will be at 300 Hz and its amplitude will be 1/3.

For a sawtooth wave, the amplitude of the harmonics is is 1/x as well, but for all harmonics. Similarly to the last example, if the first harmonic would be 100 Hz, the next harmonic would be the second harmonic at 200 Hz and its amplitude would be 1/2.

For a triangle wave, the amplitude of the harmonics is 1/(x^2) for odd harmonics.

Following this logical progression, we can create a new waveform, whose harmonic amplitudes are 1/(x^2) for all harmonics. I have named it the Rusty Triangle. This is because the amplitude coefficients are the same as the triangle, but the harmonic coefficients are the same as the sawtooth wave. Overall it sounds a little dirtier, perhaps a little rustier than the triangle wave, and is exactly halfway between the two.

Personally, I thoroughly enjoy the sound of this method of synthesis. The obvious drawback, however, is that it can easily use an immense amount of CPU power to create these waves relative to the traditional method. You can get around this by printing the output of the instrument to an audio clip or freeze/flatten the track. If you're really hip, you can print existing midi clips through it and get a subtle, interesting flavor over your traditional sawtooth waves.

_______________________________________________________________________

USAGE
_______________________________________________________________________

The first page of this synth displays a frequency spectrum of the signal on the left and a time domain display on the right. Here, you can also select the wave type and the number of sine waves contributing to the wave. NOTE: Changing the number of sine waves does nothing by itself. You must press LOAD in order to actually set the number of voices that were selected. This process of loading the voices may take a few seconds. While the button is orange it is loading the necessary voices.

By clicking the Controls tab on the right side of the plugin, you will notice the same voice number, load button, and wave type as in the previous section. However, this section also offers functionality to compare the signal that is generated through the synth to that of the typical, standard means of creation of the wave types.

In the middle section, there are controls for the amplitude and filter envelopes. The amplitude release control defaults to 20 ms in order to avoid clicks. However, if the filter envelope is used from the next section, it's probably best to turn the amplitude envelope release to 0.

In the third section from the left, there are controls for the filter cutoff position, the filter type, as well as the bandwidth or Q of the filter. The filter Envelope works by specifying the amount of the movement from the filter cutoff position. By having a positive depth, the filter envelope will move upwards in frequency from the filter cutoff position. If the depth control is negative, the filter envelope moves the filter cutoff position down from the location on the knob.

There is also a width control which controls a quick delay on the right channel from the left. This method of stereo width takes advantage of what is known as the Haas Effect or the Precedence Effect.

Finally, in the last section there is an output control, and the selection of the different windows of the device.

______________________________________________________________________

FUTURE WORK
_______________________________________________________________________

I want to be able to interpolate between the wave types. I know for a fact that it would be cool and it doesn't seem like too much of a jump from this point. I acknowledge that the User Interface may need some work as well, such as in the time domain display.

I hope you enjoy this synth and keep an eye out for my new plugins coming out soon!

Special thanks to Dr. Scott Hawley and Dr. Eric Tarr of Belmont University for the knowledge and the inspiration to make this synth a reality!

Thanks!
 

Device Details

Downloads: 1404
Tags synth, other
Live Version Used: 9.2.3
Max Version Used: 6.1.9
Date Added: Mar 20 2016 02:59:11
Date Last Updated: Mar 20 2016 11:33:45
Average Rating -n/a-
Rate this device: (must be logged in to rate devices login)
Device Type: instrument_device
URL (optional):
License (more info): AttributionNonCommercialShareAlike

Device Files

Device File: FourierSynth.amxd
 


Login to comment on this device.

[ browse device library ]