Want to learn more about the FM-X engine inside MODX? This article is a great place to start!
Mastering MODX: An FM-X Exploration Part 1
This article references content saved in MODX Connect, the VST/AU and standalone software component for capturing and recalling MODX Performances.
In this short quick series, we'll take a look at a number of simple two Operator FM-X stacks and discuss how you can begin to learn to program source waves using FM-X intuitively, by ear - without any heavy math. Please download the example Performance (P4.X8B). This is a MODX Connect
bulk file. It is assumed you are making the adjustments and hearing the results yourself. One of the best ways to gain an understanding of the FM-X engine is to experiment with a few key parameters and work with them until you're comfortable with what they do and exactly when they do it.
FM-X Study: A Detailed Look at an FM-X Part
We will look at four separate FM-X Parts, each built from a simple two Operator Stack - where Operator 1 is modulating Operator 2. We have deconstructed a Multi-Part Performance to take a closer look at what makes this FM-X tick. Then we will assemble all four Performance PARTs and hear them in context of a full MODX Multi Part Performance.
Here we have an FM-X PART using just two Operators (OP1, OP2) to illustrate the variety of wave shapes you can build with just these two components interacting. Download the file “P4.X8B” (located at the very bottom of this article). Unzip the file and open it with MODX Connect
. You can do so by going to LOAD, highlighting the File Name and clicking “LOAD” while the MODX Connect application is ONLINE. This will send the tutorial Performance to the Edit Buffer of your MODX. It will not overwrite anything currently in your User Bank. You can work with it and explore while it exists in the edit buffer:
From the HOME screen, we have activated the alternate VIEW Home screen:
- Touch the “View” box (turns green) or press [HOME] a second time, to flip to the alternate information view.
- Press the [PART – ELEMENT/OPERATOR] button, located just to left of the Faders, to select “Element/Operator”.
- The Faders become Part “Element/Operator” Level controls. Lower right side of the screen: “Part 1 Operator level”.
Here you can see that only Operator 1 and 2 have Output Level (99) the other six Operators are Level 0 (and are not used in this tutorial).
The “View” screen can show us much about this particular sound. This Performance contains a single
FM-X Part (Part 1) made from just two Operators. Operator 1 is the Modulator
and Operator 2 is the Carrier
If you are new to FM synthesis:
- Carriers are always on the bottom of the Algorithm diagram; 2-5-8 in the diagram above.
- Modulators are always stacked above the Carriers.
can output audible sound, Modulators
are not audible directly. To understand this important basic concept in FM synthesis, think of the Carrier as the violin string – when placed in motion by the bow, you hear it making the sound we identify as the violin. Think of the Modulator as the left hand applying vibrato - you hear the effect of this movement manifested as a subtle change in the pitch of the sound; above and below the original pitch. You do not hear the vibrato (Modulator), directly; you hear its effect on the Carrier
. If you remove the right-hand violin bow from the strings, the Modulator (left hand vibrato) is inaudible by itself. It makes no sound on its own. You only hear it when it is modifying the Carrier. And it is same here in FM synthesis. You can see that Faders 1 (99) and 2 (99) are up full, while Operators 3-8 are all set to 0 (and are not used at all). The Faders 1 and 2 control the OPERATOR LEVEL. Lower each one in turn to understand this simple function. OP2 is audible. You only hear the effect of OP1 applied through OP2.Important Point 1
: the blue arrows in the screen indicate the current physical position of your physical slider. The arrow will turn white arrow when the Fader reaches the stored value, until then, the Fader is not active. Both OP1 and OP2 are stored at a value of 99… therefore, you will need to move the physical Fader all the way to the top in order to ‘grab’ or ‘hook’ the arrow and turn it white. From that point on it is an active slider.Important Point 2
: While Operator 5 and Operator 8 are Carriers - they are not being used in this example - leave them set to 0 - we will be using just Operator 1 and 2 for these simple experiments.
When you remove the Modulator, by lowering Fader 1, you’ll hear that Operator 2 is a smooth, pure tone. This is a Sine wave assigned as Carrier, and as you raise Fader 1 (so that you are hearing both Op1 and 2) you can hear the timbre (tone) starts to change as your reach about 3/4 of the way up. You are hearing the influence of the Modulator on the Carrier.
Later we will see that because the initial Frequency of OP1 is exactly double that of OP2, this sets up for a very square/pulse wave type tone family: woody, hollow, round are words that come to mind. (Do not worry about this mathematical Frequency relationship right now, we'll come back to it).
If you raise Fader 1 but lower Fader 2, you hear nothing. This is because it leaves just the Modulator and you cannot hear the modulator (vibrato) by itself. Remember our violin example, Vibrato makes no noise, it creates no sound output, it influences the component that does (the Carrier):
You can see in the Algorithm diagram that Operator 1 is set to “Feedback” on itself. Feedback
is a term you already know - it is similar to what happens when a microphone is pointed at the speaker that is reproducing its sound. The sound comes out of the speaker enters the microphone, then comes out of the speaker, enters the microphone and so on, and on. The same principle was used by some guitar player back in the 1950's and every guitar player since does a variation on the same thing. Feedback: the pickups of the guitar in proximity of the amp/speaker.
This Feedback loop is one of the ways in FM synthesis you can build a more complex
tone from the lonely pure sine wave. As the energy cycles back on itself it builds in complexity.
In the original DX7-style FM, this was an alternate method to making a more complex wave shape. In the current mobile synth, reface DX
, each Operator has the ability to Feedback on itself.
The location of the Feedback loop, whether on a Modulator or on a Carrier, or whether applied to a single Operator or applied to a stack of Operators, will make a difference to its effect on the resulting tone.
The single Feedback loop here, in the FM-X engine Algorithms, is included to provide compatibility with legacy DX-style FM sounds (which had just the one loop per Algorithm), as we'll soon see, this new FM-X engine in the MODX provides an updated, far more controllable method of evoking more harmonics from a single Operator.
When the Feedback loop is located on a Modulator, as above, you can deduce that it's energy will be applied to timbre change; if the Feedback loop is on a Carrier, however, you would anticipate you would hear its effect more directly.
In the screenshot below, PART 1 is selected (the cursor highlights the Part 1 “TYPE/NAME” area) and the normal “VIEW” is selected so that we can view the 8 Assign Knobs for PART 1 in the screen. You can toggle the new “View” with the normal HOME screen by simply pressing the [PERFORMANCE (Home)] button repeatedly:
Above PART 1 ASSIGN 1-4
Below PART 1 ASSIGN 5-8
To select “Assign 5-8” press [ASSIGN] again. It will flash to indicate Knobs 5-8 are active:
We have deactivated the “View” function and Part 1 is selected.
This allows us to see the PART 1 Assign Knobs and their current assignments.
The parameters have been given Names so you can see and experiment with changing this sound in real time. They are: Frequency, Form, Skirt, Resonance, Feedback, EG Level, OP1 Decay, OP2 Decay
These 8 parameters have been selected for real time manipulation via the PART 1 Assign Knobs - they will be used to quickly fashion and shape the resulting FM-X wave. At this time, none of the Part Knobs has been linked to the Super Knob. At this point, parameters have been assigned to the 8 Part Assign Knobs. We will manipulate each KNOB directly so that you can hear and understand when
each is doing. Later, you can get in and design your own Knob assignments. Important Point 3
: Because of the initial percussive envelope you will need to continuously restrike the keys as you turn a knob to hear the results. The Envelope of this PART is set to be in the percussive family of sounds - which means the sound will die out even if a key is held continuously. Hammered, struck and plucked instruments have this type of envelope behavior (we describe this as ‘percussive’). Use the screenshot above as a reference for your experiments - return to it as your “start point”.
Assign Knob 1: Frequency (OP Freq)
“Operator Frequency” has been assigned to Knob 1. Turning this Knob will cause a change in the timbre (tone) of this two Operator stack. The fundamental pitch of the note you play is still identifiable, but the timbre, the harmonic relationship, is changing. The tone is getting brighter, more high overtones/harmonics, as you turn Knob 1 clockwise. The fundamental pitch remains unchanged. So even with the little bit we know about FM synthesis so far, you know that we are changing the frequency of the Operator that is the Modulator
, OP1. Using the Faders, set to “Element/Operator”, again listen to just Operator 1 and then Operator 2 to understand what each is contributing. If you think in terms of analog (subtractive) synthesizer structure, this would be similar to how opening a Low Pass Filter reveals more high harmonics. The sound gets brighter the higher you go with the Operator 1 Frequency. Instead of allowing more high harmonics to be heard by opening a filter, we are actually generating more high harmonics by increasing the Frequency of the Modulator. You don't necessarily use this Frequency control in the same way as a filter, but the role is parallel; you are controlling high frequency content (harmonic content) which shapes the tone.
Assign Knob 2: Form (Spectral Form)
“Spectral Form” allows you to select 'other' waveforms and to construct other starting points when building a sound. The original DX7-type FM was built on simple Sine wave Operators interacting. Each of the DX7's six Operators output just a Sine wave. Since, by nature's design, Sine waves contain no harmonics, this meant it was necessary to use at least
two Operators to make a complex wave shape or you had to FEEDBACK the Operator on itself to generate complexity.
In the new FM-X engine, you get a variety of what are called “Spectral Forms” or wave shapes. There are two different Sawtooth waveform types, one called “ALL 1” and the other “ALL 2”. The word “ALL” here refers to all whole integer
multiples of the fundamental - a fancy way of saying: All the harmonics in the harmonic series are generated. For those familiar with analog synths – this gives us the Sawtooth family
Example: When you play the note A
110, the second harmonic is A
220, the third harmonic is E
330, the fourth is A
440, the fifth is C#
550, the sixth is E
660 - and so on - whole integer multiples of the fundamental form the “harmonic series”.
You also get two Pulse type Spectral Forms, one called “ODD 1” and the other “ODD 2”. The word “ODD” here refers to the fact that every other harmonic is generated – just those that are odd number multiples of the fundamental. When you play A110, the next harmonic would be the at E330 (third), the next the C#550 (fifth), and so on - just the ODD harmonics.
And finally, you get two different Resonant Waveforms – Resonance is when there is a loudness peak, so that a particular harmonic frequency is louder than their neighbors. “RES 1” and “RES 2”.
The “1” and “2” after the Form type are described as being 'broad' and 'narrow' variations of each category. A broad and narrow spectral array of the ALL (sawtooth), the ODD (pulse) and the RES (resonance).
You don't have to know the math of this, instead: let's use our ears. If you are familiar with analog synthesis, you now know how to start to build sounds that use Sawtooth, Pulse (square) and Resonant Waveforms as the source. In the FM-X engine you can do it with a single basic Carrier Operator by selecting the Spectral Form that gives you the harmonics you want. Sawtooth waveforms contain every harmonic, Pulse waves contain only the odd harmonics. But beyond just selecting a single wave as a source, you can fashion it to a great degree for a wide array of tonal possibilities, as we'll see.
When Spectral Form = Sine
you'll initially have no harmonics
while these other six Form types are rich in harmonic content right away. Knob 2 will allow you to switch (select) between these different SPECTRAL FORM starting points. Lower Fader 1 (Modulator), so that you will hear just OP2: the Sine, Sawtooth (All), Pulse (Odd) and Resonant Waveforms generated by OP2.
Try the following: Return Assign Knob 1 to 0, and slowly turn KNOB 2 clockwise and listen for the timbre change. Summary
: A Sine wave, as Carrier, will only produce the fundamental tone, any harmonics must be created by using a Modulator to influence that Carrier and shape its tone. What you will hear is that OP2 is the pure sine but if you change the SPECTRAL parameters, you will hear that it can take on harmonic character all by itself. This can have a profound effect on the resulting tone (even without the Modulator):
Let’s navigate into the architecture to see what we are actually changing with this KNOB 2. Shown above: PART 1 is selected > EDIT > touch “OP2” > touch “Form/Freq”
In Operator 2, highlight the “Spectral” parameter: “Sine”. Touch the box, the pop-in list shown in the screenshot above appears - listing the different Forms. With KNOB 2 all the way down
(counterclockwise), use the DATA WHEEL to select each one in turn, play a little on each of these Spectral Forms. Hear how the timbre changes in character. You may notice very little difference now between types “1” and “2” of each kind, initially. But also notice that additional boxes appear (“Skirt” and eventually “Resonance”) that will allow you to branch off in different tonal directions on these particular waveform selections! As we'll see and hear in a moment.
For now just take note of the fact: the “Sine” is the pure tone – no harmonics; the “ALL”, the “ODD” and the “RES” families have completely different tones and will be variable using the “Skirt” and the “Resonance” parameters, when applicable. We'll take a listen to that.Return the parameter to the original “SINE” setting
and get back to our “starting point”:
Return to the HOME screen > Select “PART 1”. (Shown above). What happens when you turn Assign Knob 2
(“Form”) is you are actually switching between these 7 types of Waveforms (Spectral Forms). Here is a map of when that occurs - done by ear:
You can hear a distinct change in the character of the sound – and it is rather abrupt at the value it switches. If you notice this, you may decide that is not a good candidate for real time manipulation but one that can be set specifically for a certain tonal character. After all, you rarely switch the source waveform during performing. You select the sound you want to play based on the original source waveform. We'll see later how this can be put to good use.
You should hear four distinctly different tonal families depending on the position of Assign Knob 2 (Form)
. If you are not hearing them make sure you set the Spectral parameter back to its original “Sine”.
Please return the Spectral FORM parameter set to SINE (Form = 0) as a starting point for these next experiments.
Assign Knob 3: Skirt
Skirt – all the FORMS have a 'skirt' (except the Sine). A 'skirt' flares out and is like an umbrella under which you have additional harmonics both above and below a center point. The wider the skirt the more harmonics are heard, and the narrower the skirt, the fewer additional harmonics will be heard. Turning the Assign Knob 3
assigned to “Skirt” while Form is a Sine wave (“Form” is a value between 0-19) – will result in no change
in timbre. A sine wave generates no harmonics - so no matter how wide we allow the search, none will be discovered.
However, as soon as you pass the value 20
for the Spectral “Form
”, the Spectral “Skirt” parameter (Assign Knob 3) will engage.
Set FORM = 20
, you should now hear a change in timbre as you change the Skirt setting.
For this experiment set Assign Knob 3
“Skirt” to about 96-100
so that it is very engaged. Now slowly turning Knob 2, Form, starting at 0.
You'll recognize you can now find a difference between ALL “1” and “2”, between Odd “1” and “2”, and between Res “1” and Res “2”. By widening the Spectral Skirt
, you now have a different array of harmonic overtones/sidebands/frequencies that are being generated – you are now able to detect two distinct families of waveforms between ALL 1 and ALL 2 – which was not so apparent previously. Likewise, between ODD 1 and 2, you now notice a new range of timbres available. The same with RES 1 and 2. Here is a value map once the Skirt is unfurled.
With the Skirt unfurled a bit, you can now hear distinct families of wave shapes, again by ear, turn the Assign Knob 2 FORM and hear the timbre families:
Sine: values 0-19
All 1: values 20-39
All 2: values 40- 58
Odd 1: values 59-78
Odd 2: values 79-97
Res 1: values 98-117
Res 2: values 118-127
You can see now that depending on what FORM is selected at the moment can greatly influence what timbres you will be able to get. FM-X is very interdependent this way. How wide the “Skirt” is set can determine the sonic result, as well. And a single Operator is capable of a very wide variety of tones all by itself. This is like having a fully programmable timbre option on every Operator – because on a per Operator level you can have an even wider array of musical starting points, as we'll see as we dive even deeper into this component.
Resonance will give very radical results, same as a resonant filter would in an analog synth. The frequencies will begin to leave the planet and go off into a range only your dog will fully appreciate. The RESONANCE knob, coming up next, you can anticipate that it will only function when the Spectral FORM
is set to the range that gives “RES 1” or “RES 2” and will also be influenced by the width of the Skirt setting. (That is, when KNOB 2
is at a value of 98
or higher, and KNOB 3
is in play). Let's hear that - in the next article, we'll take a look at where this is assigned, for now just move the controls and observe results, by ear.
Assign Knob 4: Resonance
The concept of resonance can be understood as the frequency that is louder than the others on either side of it; it appears as a peak in the level graphic, at a specific frequency. It is very similar to when a certain pitch seems stronger in a particular room – we say the frequency is resonating. Some rooms, for example, may accentuate F#s, this frequency will seem to resonate in the room and ring longer and louder than other notes. This distinct 'resonance' sound is well known to users of analog synthesizers as there is often a resonant peak applied at the cutoff frequency of the Low Pass Filter.
It is also well known to any musician who has played a gig in a school gymnasium where there is that one frequency that seems to just “howl” when the band plays. On many analog synths you could turn Resonance up enough to get it to ‘howl’ (self-oscillate). The tones you get from this end of the spectrum are familiar. And although no acoustic instrument actually accomplishes a Filter Sweep, (that is one of analog synthesis' additions to the musical lexicon) – a rapid move through the frequency range accentuating a specific frequency at the Cutoff point of the Low Pass Filter. Classic sound.
Here we are more precisely controlling the harmonic content while accentuating a specific central frequency. A proper analog synth-like Filter Sweep can be best accomplished by applying an actual Filter, here we are just discussing how FM-X deals with resonance at the wave construction level. The original DX-style FM had no filters (at all). FM-X has the same powerful 18 Filter types
you will find over on the AWM2 sample-based side of the synth!
Please return FADER 1 back to 99, (set both OP1 and OP2 back to 99) so that we can again hear the influence of the Modulator on the Carrier. We have accomplished creating a more complex wave using just OP2 (Carrier)Important Point 4
: To select Assign Knobs 5-8 press [ASSIGN] a second time… the [ASSIGN] button flashes to indicate Knobs 5-8 are active.
Assign Knob 5: Feedback
Feedback is the output of a source being fed back to the input, creating a buildup in energy and in this case, since it is a Modulator being fed back on itself, a change in timbre.
In the original DX7-style FM, at least one of the Operators in each Algorithm was being 'fed back' on itself, sometimes a stack of Operators fed back upon themselves. The result was to open the door to a wider range of timbres. What you are observing above (FM-X) is the method introduced in the Yamaha FS1R back in 1998 – where it is a programmable function – not just a selection of Waveforms but a full set of variable parameters that can be used to dial in that source wave shape that is so important to building a sound.
Here with Knob 5 we are dealing with the traditional DX7-style Feedback. To hear its influence clearly: Set the P4 Assign Knobs as shown above... then begin to slowly add “Feedback”.
Assign Knob 6: EG LEVEL
The more EG LEVEL (Knob 6) you apply, the more you will hear the influence of the Feedback. Try EG LEVEL of 105 or 110
, then experiment with FEEDBACK. The “chaos” at the extreme top values can be used as a noise
component – you can hear its rough edgy quality. “EG LEVEL” here is offsetting the Amplitude Envelope of the Modulator (OP1) lengthening its duration - making it easier to hear its influence. (We'll take a look at that in a future article). The Algorithm diagram shows us that it is OP1 that is being fed back onto itself – the result is a more complex harmonic output, and by increasing the EG LEVEL with more influence over the Carrier. As you can hear, you can take this Feedback to the edge of chaos. The EG LEVEL allows the influence of the Modulator amplitude shape to increase. At minimum, the EG LEVEL prevents the Modulator from influencing the Carrier so the sound returns very much to a sine wave tone, but as you increase the EG LEVEL the Modulator has more influence over the Carrier.
Assign Knob 7 & 8: OP DECAY
Knob 7 and Knob 8 are “OP1 DECAY” and “OP2 DECAY”, respectively. Turning them left and right you can hear that one affects the total sound (OP2) the other affects those components modifying the sounding. Increasing the “OP1 DECAY” will have a paired affect to what EG LEVEL is accomplishing – it is changing the influencer, the shape OP1's amplitude (its energy), the modifier, is taking. If low values are sent, the influence is decreased (a really fast blip at the attack), but as “OP1 DECAY” is increased you can hear clearly how it can change the sound particularly when the FEEDBACK is also used. When you need inharmonic noise
to add a bit of “spit” to an attack, set OP1 DECAY to create a short, quick burst of chaos at the attack. OP2 DECAY controls the overall duration of the sound we hear - it is the Carrier's amplitude envelope.
The relationship between these two can greatly influence how the timbre changes over time. If the OP1 DECAY is set higher than OP2 DECAY, the influence of the Modulator will last throughout the Key press, if OP1 DECAY is set lower than OP2 DECAY, notice that the timbre changes accordingly… you get a quick burst of timbre change followed by a smooth held tone
When you combine the “Form
”, the “Skirt
”, the “Resonance
” with the “Feedback
” and fashion some control over the envelope shape of the audible Carrier and over what is being used to modify that Carrier, you can pretty much see how this goes just a bit farther than just simply having a Feedback loop on each Operator (ala the baby brother FM synth: reface DX
) what you have here in the FM-X of MODX is a deeply programmable, continuously variable, waveform shaper per
Operator. It is all about the family of tonalities you can build from these sources when combined to work with each other.
_ Raise Fader 1 to bring back in the Modulator, OP1.
Try and the Family Tones
You can fashion wooden, metallic, nasal, broad, plucky, blippy, bell-like, clangorous, buzzy, etc., etc., etc., tones by just experimenting with Frequency, Spectral Form, Spectral Skirt, Resonance, Feedback, EG Level, and the Decay parameters. Experiment with what you have observed. See just how many different types of basic tones you can build using just these eight parameters.
Observe how OP1 DECAY and OP2 DECAY, change the entire character of the amplitude envelope. From short percussive envelopes to more plucked and struck envelopes where there is a longer duration. If OP2 DECAY is turned up and OP1 DECAY is short, the modifier's energy dissipates before the sound dies out. We are simply building the source Waveform here, and using just two of the eight available Operators. You can begin to see that not only can you let your ears take the lead, but it is possible, with some experimentation and observation, to begin to decipher programming FM-X, by ear!
As we explore further, we will learn how to navigate to the actual parameter Assign locations - but for now, experiment with this 2-Operator stack, and the 8 Assign Knob parameters to hear the wide variety of tones you can produce. In the next article, we will take a look at another two Operator stack built from the same Modulator:Carrier
, 2:1 tuning Ratio, with the same set of Assign Knob parameters and you can hear for yourself the variety of timbres that can be created. To say there are just 7 Waveforms is to not really understand what you have here (and all this before
we even get to the Filters!)
Until next time!
Join the discussion on this first article in the series on the Forum here
Stay tuned for Part II coming next week!