Feedback in FM Synthesis

FM Synthesis can be difficult to understand. Those of us who spent time programming a Yamaha DX7, the leading FM synthesizer of the 1980s, also know how confusing it can be to program. Fortunately for those who are nostalgic for classic synthesizers of the 1980s Digital Suburban develed Dexed, a DX7 emulator.

The good news is that Dexed works just like a DX7, allowing you to port over classic patches. The bad news is that Dexed works just like a DX7, in that it can still be confusing and awkward to program. However, the better you understand FM synthesis, the better equipped you’ll be to tackle Dexed.

In this post we’ll investigate feedback, which in FM synthesis is when some of the output an operator is fed back to modulate itself. In a DX7, there are eight levels of feedback available (0-7 inclusive). No feedback is present at level 0, while at level 7 there is (presumably) 100% feedback.

I tested feedback in Dexed by using algorithm 32, which is the only algorithm in which a carrier modulates itself. I turned off all the operators except for operator six, which is set at full volume, and at a ratio of 1.00 (the first harmonic). Each pitch is at A4 (440Hz) with full velocity.

It is interesting to see and hear the results of the test. Predictably at feedback level 0 a simple sine wave results. At feedback level 1 the second harmonic starts to appear at less than 1/4 the strength of the first harmonic. At feedback level 2, this second harmonic somewhat stronger (at approximately 1/4 strength). At feedback level 3, the first four harmonics are present with the strength of each being about 1/3 the strength of the previous harmonic. At feedback level 4, the harmonic spectrum of the first eight partials of a sawtooth wave become recognizable. We get the first 18 partials at level 5. At level 6 we get what could be called a hyper sawtooth wave, with a very strong peak at partial 34, with lesser peaks running up from partials 26 through 46. Finally, at level 7 we get a white noise spectrum with added strong partials at the first two harmonics.

This analysis bears out when looking at the resulting waveforms in Audacity. We start with a pure sine tone, and with each increase of the level we start to see the sine wave lean to the left a bit. By feedback level 3, a smoothed sawtooth wave is clearly visible. At level 5 we see a pretty close approximation of a sawtooth wave. The waveform at level 6 appears to be 34 periods of sawtooth waves shaped into sawtooth wave type shape at the frequency of the first harmonic. Furthermore, we get a significant amount of positive side DC offset in the waveform, leading to some distortion (we had actually gotten some DC offset at level 5 as well). The waveform at level 7 has a clear profile of white noise, though it seems to have occasional fragments of a noisey square wave. Interesting enough we also get a small amount of negative side DC offset.

Ultimately, what we learn is that feedback shapes an oscillator’s sine wave into a sawtooth wave, peaking at level 5, moving into a hyper sawtooth wave at level 6, and becoming largely white noise at level 7.

Leave a Reply

Your email address will not be published. Required fields are marked *