As many of you know, the Yamaha DX7 is often one of the first synthesizers you come across while searching for a well known, cheap vintage synth. The DX7 is not a usual synth, however; it uses a different form of programming called Frequency Modulation. FM synthesis is not the type of thing you can learn from just by fiddling with knobs, especially since the DX7 uses only one knob for a data input. Last summer I owned a DX7 for a couple of months and purchased a used book on how to program it from someone online. While I eventually sold the DX7 because I found the user interface for programming too difficult, I still use FM synthesis on my computer using Native Instrument's FM8, a solid program that offers visual representations of the waves you're using and a spectrogram of the different frequencies and their harmonic content. For tutorial purposes, I will be demonstrating on a browser based FM synth from Angry Octopus (who's more recently created the famous Webotribe, a browser based version of the soon to be released Monotribe).
First, I'll explain the layout as clearly as I can, and what happens with FM synthesis. Open this page and you will see the browser based FM synth MiniFM. Unfortunately, the page won't let me save my pages and post the links to them directly here, so you will have to follow my directions. On the right side, we have 4 oscillators, each a sine wave. The graphic shows the ADSR aspect of the wave, which can be changed by dragging the white squares. The ratio knob to the right changes what ratio the freqency of the sine wave is. Detune is used for a slight change in the frequency of the wave. ModA, modF, and Vel are all modulation parameters from the left side. The last item on the right is a slider, called level, which is very important in FM synthesis. On the left, we have the feedback volume, which I will explain later, and the routing diagram. This routing technique can be changed to try to emulate different sounds or instruments. Below that is the modulation knobs, and the effect knobs, which I won't be using in the tutorial. Below that is a patch bank that can be flipped through. Feel free to flip through and see and hear the different sounds MiniFM has to offer, but for this tutorial you will need to start on the original demo1 patch.
FM synthesis works by having one or more oscillators modulating other oscillators that have an output. This is easily demonstrated on a synthesizer that has a fast LFO. By turning the LFO up while modulating the pitch of a wave, we can enter the audio range, meaning the LFO is moving at more than about 70Hz which is where the audio rage starts. This forces the original sound that was being modulated to become even higher and become a harmonic. This will be easier to see once you start playing with the app.
First and foremost, turn down feedback, all the modulation parameters, and all the effect parameters. These will cloud your judgement of the sound you are using, and should almost always be added at the end of your programming. On the right, take the level of oscillators 3 and 4 down to 0 on the right side. Take the ADSR envelopes of 1 and 2 and make them box-like so that the have no envelope, they only turn on and turn off. Set the ratio of oscillator 1 to 1.00 and 2 to 1.00, set their detunes to 0.0, and turn off modA, modF, and vel. Turn down the level of oscillator 2 to 0 for now, but we will soon change this. Oscillator 1 should be at full level.
When you press a key, you should only hear a sinewave, which is very dull and warm. This is becase oscillator 1 is the oscillator out, as we can see on the bottom of the routing algorithm. Nothing is happening to this oscillator so it is a rather boring sound. Now, we see that oscillator 2 is modulating oscillator 1 by looking at the algorithm chart. If the 2 box is above and connected to the 1 box, it is modulating it. If we raise the level of oscillator 2, we start to hear added harmonics to oscillator 1. Because the oscillators are the same ratio, we hear all the harmonics, which makes the output wave almost saw-like. Note that if you add the ratios that are not whole numbers, you get very rough, sometimes atonal sounds. If you raise the ratio of oscillator 2, we start to hear a square-like sound, because the output wave no longer has every harmonic, only the odd harmonics. This is the same characteristic as the wave found. Changing the parameters of the first oscillator, because it is the output oscillator, changes the sound output. For example, level on oscillator 1 is its volume, ratio is its pitch, detune is a total detune, and the envelope is the amplitude envelope.
Now, by changing the amplitude envelope of oscillator 2, we can change when the harmonics enter and exit the sound. We can also add oscillator 3 by turning up its level and changing its ratio and detune parameter. One interesting sound can be achieved by making oscillators 2 and 3 exactly the same amplitude and ratio wise, but then slightly detuning them in different directions. You will hear "beating" if you do this. Note that by adding oscillator 3 into the mix, we have to turn down both its level and oscillator 2's level in order to get the same effect as just oscillator 2 working. Finally, we can do even deeper by having oscillator 4, which is connected ot oscillator 3, gain in level. This adds harmonics to oscillator 3 which adds even more harmonics to oscillator 1, our output oscillator. Oscillator 4 also has a line connecting itself to itself, as seen in the algorithm diagram, which is the feedback symbol. If you turn up feedback, 4 will modulate itself, creating even more harmonics. The more harmonics you add, the brighter and harsher the sound will be.
It's important when using FM synthesis to consider what algorithm you are using, because changing the algorithm at the end will almost always ruin your sound if you are trying to recreate something. For example, a dull bass would not require large "stacks" of oscillators-- you do not need more than one modulating another. For a brighter, screechy guitar, you would need a stack of at least 3-- 3 modulating 2 modulating 1. Also, try looking through some of Angry Octopus's presets on the page-- he offers many inspiring ways to try to program.
FM8 by Native Instruments offers infinite routing, as the user can decide what modulates what. They also have a huge patch bank and a simple section that allows you to change the amplitude envelope and use an arpeggiator.
I hope you enjoyed this short tutorial, and if you have any questions, feel free to email me at email@example.com, and I'll add an addendum.