Article History
 
 
 
Discussion
 
175 views
 
100% funute
I Am New To FM Synthesis
 

::|CONTENTS

  1. Which Formats
  2. The Building Blocks
  3. Modulation
  4. Instrument Design
This article aims to get you up to speed on how FM (Frequency Modulation) synthesis works and how to approach sound design with FM synthesis.

If you prefer video content, check out FM Synthesis Crash Course (for Chiptune)
, which should cover most if not all of the same points in this article.

Which Formats



These formats are based on some FM synth sound chip:

- opl2 (YM3812)
- opl3 (YMF262)
- pc-x801 (YM2608/OPNA, or YM2203/OPN)
- sgen (YM2612/OPN2)
- ym2151 (YM2151/OPM)

Some formats may optionally allow for FM synthesis as part of the format, like:

- NSF expansion based formats by using VRC7 (YM2413/OPLL) or FDS, e.g. nsfplus, famitracker, 0cc, famiplus
- multi-system formats by using an FM sound chip or system, e.g. deflemask, furnace, vgm
- mptm by using OPL instruments (note that while .s3m in the DOS module formats does support OPL instruments, they are not allowed as part of the format rules)
- other miscellaneous formats like jummbox, klystrack, snibbetracker, sunvox

The Building Blocks



Operators

Operators are the building blocks of an FM channel or instrument. They output a waveform at a certain input frequency and level. They're the oscillators of the synth if you're familiar with that terminology. Most of the time, the waveform will be a sine wave (e.g. on the Sega Genesis/Mega Drive's YM2612, or the YM2151), although in some cases like the OPL chips, you can use other types of waveforms for the operator.

ADSR Envelopes

The term "envelope" refers to how the volume of a note changes over time as the note key is pressed on and off. ADSR stands for Attack - Decay - Sustain - Release and refer to the different parameters or parts of the envelope. There is also a TL or Total Level that scales the total volume of the envelope.

How the envelope works:

1. When the key is pressed, the envelope starts increasing at the Attack rate up to max level.
2. Once the envelope hits the max level, the envelope starts decreasing at the Decay rate down to the Sustain level.
3. If sustain is enabled, the envelope stays at the sustain level until the key is released. If sustain is disabled, the envelope skips to the next step.
4. Once the key is released (or if sustain is disabled), the envelope starts decreasing at the Release rate until it hits 0 level.

Each operator has its own set of ADSR parameters, though key on/off events for a note apply across all operators.

Note that some chips/synths (e.g. the OPN chips like the YM2612, but not the OPL chips like in the AdLib cards) may have a 2nd decay parameter (D2) that allows the envelope to decay while in the sustain stage.

The envelope allows for some rudimentary modeling of instruments. For example, a piano instrument would have relatively fast attack and decay and lower sustain and release. A flute or other woodwind instrument would have a more moderate attack and decay, a medium sustain level, and a quick release. A pad/chord instrument would probably have a long attack and delay to let the sound slowly fade in and out.

Some chips/synths may also have an RS or Rate Scale parameter which controls how much higher notes increase the attack, decay, and release rates on the envelope. This can be used for things like modeling faster attack/decay on strings played at higher notes, but it can also essentially ignored and left alone.

Multiple Operators and Multipliers

You might have noticed that each instrument/channel has multiple operators. These operators are chained together in certain ways to make those neat FM sounds. In most cases, each operator works in sync with all the other operators in the instrument/channel, meaning each operator uses the same base frequency and key on/off triggers. Some chips/synths (e.g. YM2612, YM2608) allow for independent control of each operator on one of the channels so you can set different frequencies and trigger key on/off on each operator independently.

Operators have an ML or Multiplier parameter. This parameter will run the operator at a multiple of the base frequency for the channel, such as 0.5x or 2x. What's important is the ratio of multiplier values between the different operators on a channel, so for example an operator with 1x multiplier chained to another operator with 2x multiplier will produce the same timbre as an operator with 2x multiplier chained to another operator with 4x multiplier.

For the Yamaha FM chips, each ML value results in the same multiplier (i.e. ML=1 means 1x frequency, ML=2 means 2x frequency, etc.), except for ML=0 which means 0.5x frequency.

Some chips/synths will also have DT or Detune parameter(s) which will adjust the multiplier on the operator by a small amount. Again, what matters is the detune ratios/combinations across the operators. These can be used to create a chorus effect on your instrument if you set different detune values across multiple operators.

Modulation



This is the fun part that goes over how frequency modulation actually works!

First off, a disclaimer: the Yamaha chips mentioned above and most other chips technically use phase modulation
and not frequency modulation. They essentially achieve the same effect, but in different ways. This section will explain how phase modulation works since that's what's actually implemented in most chips/synths here but will continue to refer to things as FM.

Also, some more terms: for an operator, the phase describes how far along the waveform the operator is, and the frequency describes how fast the operator advances the phase forward through the waveform. An operator that outputs directly out to sound is called a carrier, and an operator that is used as an input into another operator for modulation it is called a modulator.

I won't go into the exact math here (the phase modulation article linked above does a good job of explaining and visualizing that), but essentially how phase modulation works is it takes the carrier wave and shifts its phase forwards or backwards based on the position of the modulator. Note that this means if the modulator level is 0, then it does not affect the carrier wave, and the higher the modulator level goes, the more it distorts the carrier wave since it adjusts the phase much more.

Now let's add the ADSR envelopes into the picture. For the carrier, the envelope controls the resulting volume of the note as time goes on from when the key is pressed and when it is released. For the modulator, the envelope controls the level of the modulating wave, which allows you to control how much modulation gets applied to the carrier wave as time goes on from key press to release.

Algorithms

The "algorithms" in FM synthesis refer to how each of the operators are arranged in relation to which operators are carrier(s) and which operators are the modulator(s) for other operators. For anything past 2OP FM (2 operators), there will be multiple possible arrangements of operators, e.g. multiple carriers, operators modulating each other in a chain or series, multiple operators modulating another operator in parallel, and other arrangements in between these possibilities. Refer to a manual or diagram for the relevant chip to see what arrangements are available.

Some arrangements will also allow for feedback, where an operator's output "feeds back" into itself to modulate its own output. The same modulation principles above apply, only with the same operator. Note that this means the amount of modulation that the operator applies to itself through feedback usually ramps up very quickly as the operator gets louder.

Instrument Design



To understand how to design the sound of an instrument using the FM parameters, I encourage you to play around with an FM instrument editor to really understand how each operator parameter works. The crash course video at the top of this guide may also be useful in demonstrating how each of the parameters works

Here are some general tips to guide you:

- Usually you want to start with turning up the carrier level and turning down the levels for all the modulators, and then set the multipliers and envelope parameters for the carrier operator and work your way back to the modulator operators.
- Generally, you will want less modulation for purer tones, so either less total level or fast decay/lower sustain on your modulators. Similarly, grittier or harsher tones should have more modulation.
- If you're familiar with overtones
, you can use a spectrogram of a waveform as a reference for which overtones are most prominent and try to set the modulator multipliers and levels based on that.
- If you want a chorusy effect, try setting the detune parameters so that each operator has a different detune value. The larger the difference in detune, the faster/wider the effect goes.

You can also try taking some preset FM instruments and playing around with them. For example, you can try increasing or decreasing certain parameters to see how it affects the sound of the instrument. In some programs you can toggle the output of certain operators, so you can also try turning off the modulators and then turning them back on one by one to see how each modulator in the chain affects the carrier wave.

 
C A T E G O R I E S
 
 
BotB Help
1 I Registered-Now what · About · Admin · Auto-Favorite · Avatar · 【日本語】ヌーブ(クラス) · 【日本語】フィルキーマークアップ · 【日本語】フォーマット · 【日本語】BotBrクラス · 【日本語】現在のメージャーバトルの情報和訳 · 【日本語】XHB · 〔日本のBotBr向け〕 バトル · 〔日本のBotBr向け〕 用語・造語辞典 · Badges · Battle of the Bits Lyceum · Bio art · BotB CC License · BotB IRCBot · botb.club · Chips Challenge · Complete list of ripped chiptunes repositories · CreepSmash_Hotkeys · donate · Entry of the day · Firki Markup · Format · Genny VST · Glossary · Home Bunk · I Am New To AYM · I Am New To FM Synthesis · I Am New To Harmony · I Am New To Music Theory · I Am New To NSF · I Am New To Pixeling · I Am New To Poetry and Writing Lyrics · I Am New To pxtone · I Am New To ZXBeep · Icons · Intro to Subtractive Synthesis · Joogle · List of current ChieVrs · List of Icons · List of legal XG patches · List of Scales · Lyceum Usage · Maximizing Artistic Productivity · Minecraft · Music Theory - Case Examples and Analysis · Music Theory - History of Modern Theory and Tonality · Player Visualizer · Playlists · Private Message · Sheet Music · Smeesh Hotkeys · Specification of General MIDI and Roland MT-32 patches · temp · The Hall of Knowledge · Trophy · Tutorials · Understanding BotB · Uploading Pics · Upper Structure Triad · Vombot · XHB Hosting · XHB Vlogs