Sunday, May 8, 2011

FM Synthesis: A short beginner's guide



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 thesynthesizersympathizer@gmail.com, and I'll add an addendum.

15 comments:

  1. Just wanted to say, this really helped me get going. Great tutorial, great writing, very easy to understand.

    ReplyDelete
  2. Very helpfull, but If you consider a free vst, FMMF bv delaMancha is als a great cool and unique instrument for creating Interesting sounds. Thanks for s haring your insight intocht FM .This post made it so much easier to understand.

    ReplyDelete
  3. If you can wrap your head around it - I'm trying to - Dexed's the ultimate FM synth freebie! It comes with a TON - many hundreds - of presets too. But it IS a beast to try to understand.
    If you can't find the presets, ask me on samspazz1@gmail.com and I'll give a legit. free link to them.

    ReplyDelete
  4. on the off chance that you are not wearing a watch or need to change the time on your framework you should simply tune in to the radio and it will give you a point by point time refresh!radio shqiptare online

    ReplyDelete
  5. This particular papers fabulous, and My spouse and i enjoy each of the perform that you have placed into this. I’m sure that you will be making a really useful place. I has been additionally pleased. Good perform! PANZER ARMSPANZER ARMS AR12panzer arms bp-12

    ReplyDelete
  6. ExcelR is the best institute for digital marketing certification course in Singapore known for the highest placements in top companies across the world. data science course syllabus

    ReplyDelete
  7. I need to thank you for this very good read and i have bookmarked to check out new things from your post. Thank you very much for sharing such a useful article and will definitely saved and revisit your site...

    DevOps Training in Hyderabad

    ReplyDelete
  8. I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.
    Best Refrigerator Repair Service in Hyderabad

    ReplyDelete
  9. Nice site, this is very nice mini FM. amazing design and features. Thanks for sharing these posting with all of us. whatsapp mod

    ReplyDelete
  10. Thank you so much for ding the impressive job here, everyone will surely like your post. best data science training institute in gurgaon

    ReplyDelete
  11. Thanks for the informative and helpful post, obviously in your blog everything is good..
    cyber security course in malaysia

    ReplyDelete
  12. It is perfect chance to make a couple of game plans for the future and the opportunity has arrived to be sprightly. I've scrutinized this post and if I may I have the option to need to suggest you some interesting things or recommendations. Perhaps you could create next articles insinuating this article. I have to examine more things about it!

    ReplyDelete
  13. 360DigiTMG, the top-rated organisation among the most prestigious industries around the world, is an educational destination for those looking to pursue their dreams around the globe. The company is changing careers of many people through constant improvement, 360DigiTMG provides an outstanding learning experience and distinguishes itself from the pack. 360DigiTMG is a prominent global presence by offering world-class training. Its main office is in India and subsidiaries across Malaysia, USA, East Asia, Australia, Uk, Netherlands, and the Middle East.

    ReplyDelete
  14. This is really very nice post you shared, i like the post, thanks for sharing..
    full stack development course

    ReplyDelete
  15. Truly, this article is really one of the very best in the history of articles. I am a antique ’Article’ collector and I sometimes read some new articles if I find them interesting. And I found this one pretty fascinating and it should go into my collection. Very good work! data scientist course in surat

    ReplyDelete