Dexed: Designing an FM Percussive Voice

, , , , ,

One of the main reasons for the DX7โ€™s popularity was its ability to generate completely different tones than what had traditionally been available in analog synthesizers. Certainly, a class of voice that the DX7 brought to the table was percussive voices – dynamic sounds that changed character a great deal with varying velocity inputs. So far, weโ€™ve designed fairly simple analog emulations.

Letโ€™s learn how to generate percussive voices in dexed by building an FM percussive voice – a log drum. Now, a log drum is not a miraculous achievement by any means, but it starts us down a path of learning how the modulators and carriers interact to create the responsive percussion effect in a voice. The design of a log drum sound allows us to learn a few things as we progress through the programming. We will:

  • Think in terms of using the dexed algorithms to create partial elements of sounds
  • Consider the notion of the Modulation Index in FM synthesis.
  • Start to mess around with FMโ€™s Feedback parameter, dexed’s famous source of rich harmonics.
The Algorithm Map can offer a way to visualize the multiple Operators paths within it
Two separate pathways of operator output within Algorithm 14

Think in Terms of ‘Partial Elements’

As we saw in the previous post on dexed Algorithms, the FM engine, depending on which of the 32 algorithms you select, can generate separate pathways of audio through the carriers represented in the bottom row of the algorithm โ€œmap.โ€  In designing our Log Drum, we will attempt to create two paths in our voice that contribute to the final sound – a woody โ€œplunkโ€ and a metallic โ€œthwack.โ€  Algorithm 14 suits us for this approach, offering us a simple two-operator path through Carrier 1, and a more complex (read: harmonically intense) path through Carrier 3. In the Carrier 3 three path, weโ€™ll need to manage all of those Modulators and the Feedback path by monitoring the โ€˜Modulation Indexโ€.

Modulation Index

The Modulation Index was a term I first saw in FM Theory and Applications by Dr. John Chowning and David Bristow. In that text, itโ€™s described as the ratio between the deviation of the frequency of a modulator and the modulating frequency as it affects a carrier. Essentially, the greater the change in frequency of a modulator as it affects the carrier, the higher the modulation index. Now, Iโ€™m a trained electrical engineer who has designed synthesizers in a previous life. I understand these terms from a technical perspective, but as a sound designer, I prefer to think of it this way – the more I apply the modulators to a modulator, the more harmonics are going to be added. So, in the Carrier 3 path of Algorithm 14, we have the potential to create a lot of harmonics, and it will be our job to manage those harmonics via their Amp EGs to build something sonically interesting. Weโ€™ll do this mainly by short, quickly sloping EGs, and by letting Operator 6 modulate itself for a โ€œnoiseโ€ effect.

Let’s Start Designing

As mentioned before, we will divide our efforts to create a combination of a woody โ€œplunkโ€ with one carrier and a metallic โ€œthwackโ€ with another. Our first step is to press INIT and start with a clean programming slate. Next, select Algorithm 14. To create the first portion of our sound, turn off Operator 3, which is the second audio channel of our designed sound. In both Operators 1 and 2, set EG Levels 2, 3, and 4 to zero. This will give us a decaying envelope for each operator. Our modulator, Operator 2, will add the percussive pulse at the beginning of our โ€œplunk,โ€ so a rapid decay to zero is needed. Set EG Rate 2 to 75 for a quick, but not inaudible, decay. We will want Operator 1 to behave much like a marimba – longer decays on lower notes and shorter on higher. For this, we will set EG Rates 2, 3, and 4 to 49, then employ Rate Scaling across the keyboard to shorten the notes as we play up the keyboard. Set the Rate Scaling parameter to a value of 2. 

Operators 1 and 2 create the "Plunk" partial tone
Editing the first partial – the “Plunk”


The “plunk”

To finish up the first half of our design, we will address the FM portion of the partial. The carrier 1 path of our sound is actually not too different from the subtle bass sound in our first FM sound project. Operator 2 will modulate Operator 1, but this time at the same frequency ratio. Set Operator 1 and Operator 2 Coarse to f=0.5, and ensure that the Ratio switch is set for both. If we audition the sound now, weโ€™ll notice a plain sine wave with a decay. Thatโ€™s because there is no level programmed for Operator 2. Set the Level for Operator 2 to the maximum, and set Key Vel to max, too. Now we have the “plunk” woody percussive sound as we play across the keyboard, longer notes at the low end, and shorter on higher pitches.

Visualizing the “Plunk” (no sound, just visual)

Operators 3, 4, 5, and 6 create the "Thwack" partial tone
Editing the second partial – the “Thwack”

The “Thwack”

Our metallic โ€œthwackโ€ will use the path ending in Operator 3. Turn off Operator 1 at this time so we can focus on the Operator 3 output. None of the Operators we need to hear are enabled at this point, so turn on Operators 3 through 6. Set the Levels for 3, 4, and 5 to maximum and Operator 6 to three. Letโ€™s stop a moment and take a look at what this path can generate. The carrier, Operator 3, is modulated by Operator 4, which is modulated by the sum of Operators 5 and 6.

Additionally, Operator 6 can essentially modulate itself via feedback. The strategy here will be a decaying metallic tone, using a combination of the modulators on Operator 3. First, we create a decaying output on Operator 3, setting EQ Level 3 to zero and an EG Rate 3 to 40. EG Rate 4 should be set to 40, so we avoid an annoying โ€˜clickโ€™ on the key up. Set the Rate Scaling value to 3. The Coarse Tune on OP 3 should be f=0.5, aligned with our other carrier. Key Vel for OP3 should be set at 2.

The modulation components of this carrier are more complex. Generally, as the algorithm โ€˜mapโ€™ indicates, the output of Operator 4 will drive the interaction with Operator 3. Our goal with these three operators is to provide a โ€˜controlled crashโ€™ of modulation to create a metallic-sounding output, so as we mentioned before, managing the Modulation Index/harmonic content as time passes is important. For Operator 4, set EG Level 3 to zero, its corresponding EG Rate 3 to 55, and Rate Scaling to 6. This will contribute to a faster set of modulator outputs and control the harmonics of the FM engine into a short, metallic tone. 

Now, onto the โ€˜metallicโ€™ qualities. Operator 5 will add a short โ€œblipโ€™ to the start of the tone. Program EG Levels 3 and 4 to zero and EG Rate 3 to be the โ€œblippest of blipsโ€ at 90. Also, assign the Rate Scaling for this Operator to 7, its maximum. Operator 6 adds the most metallic qualities because we are setting its frequency ratio higher with the Coarse set to f=2 and programming the Feedback of the algorithm to 5. We want to hear the output of Operator 6 as long as any other modulator, so no EG adjustments are needed, but taming its output at a Level of 5, and adding Key Vel sensitivity (set to 5), creates a distinct responsiveness to MIDI Velocity, which is important to this sort of sound.

Visualizing the “Thwack” (no sound, just visual)

Enabling all Operators at this time leads us to a largely completed sound. Playability edits are the final steps. The entire patch should be shifted down one octave using the voice-level Transpose parameter in order to match a log drum’s frequency range. For added velocity response, let’s program KeyVel for Operators 1 and 3 to a value of 3. I also added a little bit of pitch modulation, enabling the Wheel to Pitch in the PARM window.  At this point, we are done with our FM percussive voice – make sure you save your edits.

The final output waveform (no sound, just the waveform)

Experiments

Once I completed the program above, I wanted to see what turning various knobs in dexed would do – a practice I always recommend. I found that subtle changes in the Fine parameters of Operators 2, 3, and 4 increased the sense of a fuller Log Drum โ€œbody.โ€ Itโ€™s my guess that slightly off-tune waveform interaction, as in analog synthesis, creates more complex waveforms and is more sonically interesting. To achieve even more โ€˜metalโ€™ in our Log Drum, gently increasing the output level of Operator 6 will do this. 

If more impactful changes are desired, you can always try the same patch with different Algorithms and different Coare ratios for the Modulator Operators. Of course, never discount what a little Filter Cutoff and Resonance change can have on a Voice.

Finishing Up

Weโ€™ve created our first voice in dexed in line with what FM synthesis is famous for – percussive sounds. We selected an appropriate algorithm and broke the sound into two distinct โ€˜partialsโ€™ – approaching the desired output differently for both paths in the algorithm. If we think back to our algorithm post reviewing each of the operator maps, we can see that there are ways to create sounds that have 2, 3, 4, 5, and even audio paths – combinations of carriers and modulators – in our toolbox for sound design. Thatโ€™s the beauty of dexed

In our next post, weโ€™ll take a look at some famous FM sounds  – weโ€™ll analyze what makes them tick and add some insight into the differences and similarities between 6-op and 4-op FM. In the meantime, I encourage you to review the sounds weโ€™ve designed so far – Subtle Bass, Analog Square Pad, and Log Drum – and spend some time trying and adding variations to those sounds to gain a better understanding of the controls you have available in dexed for sound design. Until then, thank you for reading.

Resources: