FM Synthesis

Frequency Modulation synthesis is an effective technique for emulating acoustic instrumental sounds as well as for generating unusual new sounds.

In this technique we modulate the main waveform with another waveform. We can have multiple modulators and chain them in different algorithms to create evolving and rich sounds.

FM Synthesis reference patch

Access this patch in Max 8:

Help> References> Home> MSP Tutorials> FM Synthesis/Additive synthesis> Open tutorial

In most acoustic instruments, the timbre changes over the course of a note, so envelope control of the modulation index is appropriate for producing interesting sounds. A non-integer harmonicity ratio creates an inharmonic spectrum, and when combined with a percussive amplitude envelope can produce drum-like and bell-like sounds. 

The Abstraction in the FM Synthesis patch

simpleFM~ is an example of an abstraction. While the patch is locked, if you double click on it, a new patch will open. In there, you will see an example of how to use inlets and outlet.

Inside the simpleFM~

The Preset Object

Use this object to store and recall settings and parameters of a patch. Once you have your desired settings, SHIFT+Click on one of the squares to save that preset in there. You can recall those settings by just clicking on that square when the patch is locked.

Resize the object to have as many or as few as those preset slots (the squares).

Shift+Alt+Click on a square to delete its preset.

Modifying the FM Synthesis patch

We can start simple by creating our own presets.

  1. Unlock the patch and enlarge the preset object to see more squares. 8 of them have presets stored in them but the rest are empty. There’s a slight difference in the color.

2. Within the FM synthesis patch, while locked, play along with these parameters until you find a sound you like:

  • Carrie frequency
  • Harmonicity ratio
  • Duration
  • Amplitude envelope function
  • Modulation index function

3. After you found the sound you like, Shift+Click on a square to store that preset. 

If you later want to delete that preset, you can send the preset object a message of : clear + number of the square

Ex: if i want to delete the 8th preset I would connect a message box with: clear 8

Send “clear all” message if you want to delete all of the presets.

This video demonstrates a few quick ways to create a generative soundscape using the FM synthesis tutorial patch.