FM thing

So, FM…. FM FM FM FM FM…. everybody seems to hate FM. Well, that’s not true, lots of people love FM, but it seems to be difficult for them and so most avoid using it. Or they do use it but stick to presets. ‘Twas ever thus, back in the ’80s when DX7s ruled the world and seemed completely ubiquitous it was still very rare to find anyone who could make patches.

Now to be fair to anyone who ever owned a DX7 this is not surprising because it had 6 operators per voice and shipped with 32 algorithms (hopefully that will mean something to you by the end of this piece).

I owned a DX11, because it was all I could afford in 1990 when I wanted a new synth and you could pick one up for very little money back then. I didn’t know FM synthesis from a hole in the ground, my previous synth had been a 1977 minikorg which was wonderful, but not complex by any standard. I had seen DX synths on Top of the Pops and so figured they must be alright, and it was only about 100 pounds, so I got it. I soon learned that making noises with an FM synth was not like making noises with a mid 70s analog synth. At all. My main observation was that while I could make a massive range of sounds 99.8% of those sounds were so hideous as to be unuseable, and were for the large part also unbearable too. Slowly I did figure out how to make patches I liked, but had no idea what it was I was doing, I just figured out certain tricks and patterns that worked.

The reason I am telling you this is that the DX11 was a simplified little brother of the DX7 and had only 4 operators and shipped with just 8 algorithms, which is the exact same set-up that the DXi app has.  Which leads me on to the FM apps…

There are relatively few FM apps on the App Store. The newest is TF7 by Tenacious Frog which came out last week and is currently my favorite. Feel free to let me know if I have missed any:

  •  TF7
  • DXi4 operator FM synthesizer
  • xMod/Ubersynth – 3 operator FM
  • EPS is a 2 operator FM synth
  • EGSY01 allows you to use it as a 2 operator FM synth
  • Thor allows you to add up to three two-operator FM modules
  • Sunrizer allows you to use as a 2 operator FM synth
  • Addictive synth has a couple of FM algorithms built in
  • Magellan boasts an FM Module
  • Minisynth Pro also claims to be an FM/Subtractive synth hybrid
  • iYM2151 – incomprehensible and overpriced FM emulator
  • Rhythm Studio has a little 3 operator FM synth – FM3
  • Cassini can also be used as a 3 operator FM synth.

“Fine Jon” you say, “so fucking what, we still have no idea what you are talking about. What is an operator? Is that just an oscillator? How does this stuff work?”

OK OK, keep your hair on lovely reader, and watch your language!

“Fuck off and get on with it!”

Right. OK. So to understand FM we need to take a quick trip into how a sound works.

“Yawn”

I know I know, bear with me, I will make this very very brief.

A musical note is made up of a fundamental note (the one our brain thinks it can hear) and harmonics of that note. Harmonics have frequencies that are multiples of the fundamental. The fewer harmonics the “purer” a sound is and the more harmonics the noiser and more complex a sound is.

So if I play a note with a fundamental frequency of 100hz its harmonics are 200hz, 300hz, 400hz, 500hz etc.

brains are freaky and clever so if I play a note containing only harmonics (300hz, 400hz, 500hz) the brain will ‘hear’ the frequency 100hz even though it is not playing  because those harmonics together can only be the harmonics of a 100hz fundamental. Clever eh? That’s how little speakers can produce good bass sounds – because they are not producing the sound at all, your brain is filling in the gaps. (this is probably horribly simplistic and the truth is way more complex, but this is the level you need to understand the FM thing)

 

So if I play a note with a fundamental frequency of 100hz with the harmonics of  200hz, 300hz, 400hz, 500hz etc. but also some unrelated frquencies (250hz, 310hz etc) then those rogue frequencies will make my sound less like a note and more like a noise. The thing that differentiates a noise from a note is that a note has this set of related frequencies, a noise has a bunch of frequencies that are not related. Somewhere between the two you have noisy clanging discordant notes.

With your usual subtractive synth we make a complex sound from a bunch of oscillators with loads of interesting harmonics and then we ‘shape’ it into a sound we like by removing harmonics with filters. Additive synths like Addictive and Cube do the opposite, we choose the harmonics we want to add to make a complex sound and then we can apply filters over time, and/or morph to other complex sounds, to make great sounds.

Now for the FM bit

if I take a simple sound, like a sine wave, playing a note, I can add vibrato to it. In other words I can make it go up and down in pitch. You may do this with an LFO (Low Frequency Oscillator) in all your synths. What if that Low Frequency Oscillator wasn’t so low, what if it was quite a high frequency, high enough to be audible (around the 20hz mark – ish), it is still making the pitch of my sine wave wobble up and down, but because that wobble is, in itself, now an audible frequency I end up with a whole range harmonics scattered either side of my fundamental frequency, in fact depending on the complex mathmatics involved I may end up with a bunch of harmonics and very little fundamental frequency… but anyway… if my wobble is oscillating at a frequency that is closely related to my fundamental frequency then the harmonics produced are also related and I end up with a note that sounds ‘musical’ (so, for example if my fundamental is at 100hz and the ‘wobble’ is at 200hz then I will get a range of frequencies (300/400/500/600) that are all part of a rich complex note with a fundamental of 100hz. If my ‘wobble’ is at an unrelated frequency, say 246hz then I will get a range of unrelated harmonics that will sound like discordant noise (which is why FM is great for cymbals etc), if my wobble is nearly related (201hz for example) I will get a slightly noise detuned kind of sound.

The more wobble I apply to my original note the more harmonic frequencies are produced and therefore the more complex (less ‘pure’) the resulting sound.

Now if I have a third operator I can apply another layer of wobble to the note produced by the first two operators making even more complexity. And so on.

This mass of complexity with all of the harmonic frequencies is why the sounds from FM can sound a lot like the sounds from Additive synthesis (like Addictive Synth) – the difference though is that with additive synthesis you are choosing to add/subtract harmonics and in FM you are getting levels of harmonics as a consequence of the degree and frequency of your various operators.

A standard FM synth lets you blunder through all of the possible frequencies or ratios to the upstream operator  (for example you can set the ratio to the next operator to 2, ie oscillating at twice the frequency of the first operator, which will give you a nice clean sound, or 2.2 which wont) and this means you are likely to produce hideous awful sounds that hurt your ears. More sympathetic synths will restrict you to ratios with whole numbers because you will get better sounds. TF7 has an excellent feature where you can ignore any non-related harmonics, in otherwords you can filter out all the horrible bits and be left with the nice bits.

So the 2 operator FM synths are straightforward. The first operator plays a frequency (carrier) and the second operator (mod) acts on the first at another frequency and through the magic of maths harmonics are born. The more power you give the second operator the more harmonics are made, and the frequency/ratio of that operator determines what frequencies.

You can control all of this at both ends with envelopes/LFOs etc, by changing the amount of the second operator at the sound  “creation” end and/or by applying filters to the sound that has been created. A true FM synth like DXi does not include filters, you control the sound using envelopes on the operators to control how much each acts upon the other over time. TF7 allows you to this but also to filter the result with your usual hp/lp/bp filters and cutoff and resonance.

with 3 operators things start to get a little more complicated – firstly you now need to decide how the operators act on each other. In a 2 operator system A can act on B, or B can act on A, or both A and B can play their frequencies without acting on each other, which isn’t really FM but a 2 oscillator subtractive synth (assuming you have filters/envelopes). With 3 operators we have a range of possibilities:

(A>B)and (C>B)

A>B>C

A and B>C

You end up with something like the hideous ugly xMod/Ubersynth mod matrix:

xmod

and so on.

You will often see in diagrams an operator with a line looping round to itself (B>B) – this means B is acting on B – the effect of this is generally  to produce white noise because as the cycle loops round a mass of frequencies across the whole audible range are produced, which we hear as noise.

By the time you get to 4 operators (TF7, DXi) there are a wide range of possible configurations of Carrier (the operator playing the note) and Mod (the operator acting upon the carrier). These configurations are the Algorithms. There are the 7 used by the old Yamaha DX11 and the DXi App

DX11algorithm

These seem to be pretty standard for 4 operator synths

Here are the algorithms for TF7

TF7 Algorithms

It is worth nothing here that these are very pretty, but also that the number of operators here varies from algorithm to algorithm. Also worth noting that the ADSR envelopes here are shown in the algorithm, for the DXi each operator also has an ADSR envelope but it is not shown in the algorithm.

er… that’ll do for now…. hope this helps!

Quick addition  – just been playing with Cassini and I am fairly sure this isn’t 3 operator FM, rather each oscillator can be set to be a 2 operator FM synth, rather like Thor.

This entry was posted in Uncategorized. Bookmark the permalink.

One Response to FM thing

  1. Taz says:

    Thanks for explaining FM synthesis in your blog.
    For the non-initiated, like myself, this type of sound-design looks quite daunting.

    Will you post a walk through of how you created some of your sounds?
    I’m not using an app but instead i use FMMF, a free vst synth made by
    de la Mancha. http://delamanchavst.wordpress.com/instruments/fmmf/

    Once i figured out more of FM, I plan to create a few tutorials for typical sounds such as strings, brass, woodwind, bass which can of course be found on many preset synths.
    Building these sounds can help understand how FM works, and ultimately help create your own unique sounds / effects.

    Anywho, i’m indebted to you for sharing your insight and knowledge on the subject.
    Thank you very much and keep up the good blog ;-)

Comments are closed.