FM/PM modulators (operators) & Nyquist frequency?

Ah OK for the SY77! Yep the successor of DX family. In my previous reply, I’ve think about DX7-IIFD, due to the floppy drive :rofl:

The SY99 looks as great synth (the successor of the SY77 I guess), and have 76 keys instead of 61 (this is a criteria for my future synth/workstation). To be honest, I don’t know about SY line by Yamaha (sold approx. 7~9 years after the DX7).

About DX7 (the MkI), it’s funny that ton of artists have used mainly factory presets in their production. No backlit small LCD, ton of menus/submenus, and… the worse, the membrane buttons - all of them are really a pain for sound designer. It’s the reason why my (W.I.P.) DeXtral module is very large (117HP), all DX7 parameters (pots) are on a same UX! No subpages (except modulation matrix, preferences, from touchable OSD), no expander(s), no DATA ENTRY fader…

EDIT: I just discover this video…

Yeah, the user interface was not really user friendly. But cheap to mass-produce though, keeping the price low. But the user interface did definitely not really invite anyone to explore the sonic potential of FM.

Somehow it was thought FM/PM itself was really complex and hard and you needed all sort of math to program. This is definitely not true. It’s not hard, just different.

Nowadays you can try and judge for yourself, using DX7 emulation plugins. They give you a nice big GUI to study/program FM/PM patches, and they generally also function as a librarian (patch manager) for the many thousands of patches online. E.g. using the excellent and free Dexed.

About FM being harsh and thin…maybe have a listen to Brian Eno, Roger Eno and Daniel Lanois on their Apollo album, which is full of beautiful FM sounds.

And here’s some background info on The Yamaha DX7 on Brian Eno’s Apollo

Apollo: Atmospheres and Soundtracks (1983), interviews and clips

About the SY77. Here’s a no-talking sounddemo for the SY77. Obviously some very cheesy FM sounds here and there. But with both its engines (AFM & AWM2) it can cover a very wide spectrum of sounds. Also can import/auto-convert DX7 sysex patches. As said, the SY99 adds higher sound quality and user samples.

Herbert Janssen created a nice and detailled overview of SY (FM) programming…back in the day (1995, 1997, 2002). This PDF is still worth reading, also because it has short sections on almost all synthesis techniques that existed (back then): Herbert Janssen - SY Programming

Ah… the Apollo: Atmospheres and Soundtracks, by Brian Eno! —> :heart:

Brian Eno is a DX7 genius (also other synths), probably the lone artist who exploit all the DX7 features.

I’ve mentioned the SY99, I discover this synth because you told me about it in previous reply! Yep this synth - as 2nd hand - will be for me a good choice due to improved sound engines, also for 76 keys as I’ve said. Also, having higher-quality finish (IMO).

You’ve mentioned Korg T-serie in one of your previous post (I presume T1, T2 and T3), but I don’t know about these hardwares… The Korg M1 was a fantastic machine.

I’ve downloaded the SY Programming (by Herbert Janssen) PDF file, I’ll must take time to read it. Thanks also for this!

Despite FM (PM) is more difficult, because it’s less natural for us (regardling additive & soustractive synthesis), also FM is very sensible even on small changes. But I :heart: FM, really!

About DeXtral, I’ve implemented the first (operational) modulation - as absolute (replace the pot) or relative (add an offset to parameter) for OP1 COARSE only, but IMHO, modulation isn’t accurate for this parameter (I don’t remove it, though - by this way, any user will be free to modulate it, or not).

However, I’ll plan (via a “Preferences” option) to enhance the velocity, because the real DX7 suffers about too low velocity sensitivity. Option by a checkbox from “Preferences” screen (default: unchecked). In the real world, some musicians connect an external MIDI controller to benefit a greater velocity range [0;127] (instead of [0;100] by the DX7 keybed).

I’ve mentioned “submenus” pain about the real DX7. However, my module uses menus, but for module’s Preferences (single page), for Operator Copy operations (single page - not applicable for the DeXtral Kompakt module, however), and the Matrix Modulation (single page, scrollable). I guess… intuitive. :wink:

Be careful about Dexed: by reading its source code, many comments indicate “must be enhanced”, or something similar. Despite it’s an excellent DX7 repro! This synth seems to stay in development. Source code is very complex to read. I’m using another direction for DeXtral modules.

Really interesting thread! Purely coincidentally, I was experimenting with patching FM sounds from basic VCOs last week, and getting a ton of aliasing. It was inspired by a video I watched on the ASM Leviasynth, which has eight VCOs that can be combined any way you want. Each VCO can also implement AM/cross-mod etc, which got me wondering what would happen if you FM a VCO, but the modulator signal goes through AM or sync first?

At first, this sounded terrible! FM seems to produce more pleasing sounds with a subtle amount of modulator signal, so I put three modulators in parallel through VCAs, and randomly varied the level of each one. This ended up making some slightly disturbing space ambient/sci-fi sounds, with a bit more raspiness turning the feedback up.

You can listen to the finished patch here:

Nice patch!

My workstation of dream is the Yamaha Montage M7, but I admit the ASM Leviasynth is very interesting, too! However:

  • 61 keys only, instead of 76.
  • Montage is more accurate for mine needs.

As pros for the ASM Leviasynth, it’s a nice machine (keyboard version), sounds are fantastic, and I like its look.

As I’ve replied above, FM (and its near cousin, PM) is the “opposite” of substractive, as analogy, like the blue/purple is the opposite of red/orange in the light spectrum: in fact, everyone have their place in music… :wink: I love analog, but I love digital too.

Yep, I like FM too. I wouldn’t say it’s cold, but cleaner maybe. Sometimes it’s nice to have a mix of clean digital sounds and softer analogue sounds, just for contrast. Same with wavetable and phase distortion, every type of synthesis can sound good in the right hands.

If you want to explore various combinations of phase modulation, linear through zero frequency modulation, ring modulation, amplitude modulation, and hard sync, then I recommend Venom XM-OP. It makes it easy to experiment with all of the above, and you can control the amount of oversampling used by each oscillator to control aliasing. Unmodulated sine doesn’t need any oversampling. But modulated sines typically benefit from oversampling in the range of x2 to x8. XM-OP provides convenient controls to specify musical ratios with integral numerators and denominators. You can also explore the effect of different waveforms - you are not restricted to sines.

Here is a quick example I patched up using four sine XM-OPs with Valhalla Supermassive for some extra ambience at the end of chain.

I use the new polyphonic Venom Random for four different slow smooth random voltages to control various aspects. The root pitch for the patch is C4.

XM-OP 1 uses a ratio of n:3, where n varies, centered around 7. The output level also varies.

XM-OP 2 uses a fixed ratio of 8:3 and varying output level

XM-OP 3 uses a fixed ratio of 3:2 and is ring modulated by a mix of XM-OP 1 and 2. The output is a constant mix of the unmodulated signal plus the ring modulated signal

XM-OP 4 uses a fixed ratio of 1:1 and is frequency modulated by XM-OP3 at a constant level, and also uses varying levels of feedback phase modulation.

Finally the output of all four oscillators is mixed and fed into Valhalla Supermassive running the SFX->Nebulae->Planetarium preset with mix at 70%.

Here is the patch

Ambient Random Modulation.vcv (5.1 KB)

The new Random has been submitted to the Library, but hasn’t been released yet. You can get the new Venom release below:

Here is the same patch as before, except I changed the ratio of the ring modulation operator from 3:2 to 1:1. I like this version better.

Ambient Random Modulation 2.vcv (5.1 KB)

Hi Dave, of course I’m using (often) your XM-OP module! :wink:

Also I discovered, recently, your RANDOM module, and the best of the best, ENVELOPE FACTORY, a masterclass. Be sure I :heart: Venom plugin!

The nyquist theorem applies to any signal as others here have noticed. Lots of explanations of it but imagine sampling sin f t at exactly f/2 starting at 0. You get all zeroes. So there’s a pure dc alias. Draw other very very sparse samples and you can see the fake signals arising

Six sines deals with this in a couple of ways

most importantly the internal engine runs between 2.5 and 4x the edge rate and has a variety of downsample techniques. Also the particular way I make the tables gives me fast accurate interpretation. With 1.2 there’s a bunch of filter and sample options in the final signal chain path. I was careful to interpolate everything over the block to avoid zippering. And finally I just got a bit lucky with the way I structured it and it sounds good across a variety of patches

But yeah if you run at 48khz then anything about 24k is no go and practically the limit is well below that.

AM, as the abbreviation implies, modulates the ampitude instead of the phase or frequency. The result is all sum and difference frequencies for all frequencies contained in the spectrum of both carrier and modulator. So, just like FM/PM in that respect. But…unlike FM/PM, turning up the modulation does not create any more ‘sidebands’. The most basic example involves 2 sines (which must run at different frequencies to created any meaningful effect). Assume osc1 at 1000 Hz and osc2 at 500 (so a 2:1 ratio, 1 octave difference/apart). AM would result in 1000+500=1500 Hz and 100-500=500 Hz (a 3:1 ratio). Unlike FM/PM, with AM any frequencies reaching 0 Hz will not ‘reflect’ back into the audio spectrum. They just ‘disappear’. So, If spectra are kept somewhat sparse and ratios are kept musical, AM is useful when combined with FM/PM (as carrier or modulator).

OscSync on the other hand is a non-linear effect where sharp edges occur where the ‘slave’ waveform is abruptly cut short by the ‘master’ (effectively a mid cycle phase reset). And sharp edges generally create a lot of high frequency content (way into and beyond Nyquist). The exact resulting spectrum is pretty unpredictable, other then where most of the high frequency content is found in the spectrum (generally a screechy loud peak). These peaks can be predicably swept across the spectrum by changing the frequency difference/ratio between both oscillators. Rich spectra and non harmonic frequency content generally don.t combine well with FM/PM (unless your looking for harsh chaos).

But, the result depend on where/when the abrupt cut appears and what the amplitude is at that point in the wave. If the cut occurs at a zero crossing, the effect is way less harsh then when it occurs somewhere at a high amplitude section of the wave.

The result is that OscSync effects can be softened in various ways. Here’s Jakub Ciupinsky in one of his excellent VCV Rack Hack series videos, giving an excellent insight:

VCV Rack Hacks | Smooth Sync

The point I was trying to make was not that… of course the signal has to be below f/2. What I was trying to say is that if you use anything other than a sine it will alias anyways. That’s because it’ll have a harmonic that’s above f/2… but anyhow everyone here is like lighyears beyond that! :wink:

Well…if I use a mix of 2 sines as an operator, you effectively just have 2 operators in 1. When used either as a carrier or modulator, the combination will work just like a 3 operator algorithm. Obviously in such a ‘mixed’ operator, you no longer have separate control over the relative ferquency, amplitude and phase of both waves.

This soft sinc technique is genius by the way. Thank you kwurqx for all of the master lessons!

Thanks @DaveVenom, that sounds great! I completely forgot about XM-OP. I was using Kitchen Sync, because we know Squinky is obsessed with aliasing, so I figured it would sound better,

A bit of topic, but on combining different audiorate modulation techniques. Various Casio PhaseDistortion synths (starting with the CZ101) could combine PhaseDistortion (PD) and RingModulation (a form of AM) in a basic way.

The very obscure Casio VZ-1 (1988) took this a step further and had a sort-of DX7 operator/algorithm approach called IPD, where the modulation between ‘operators’ could be either AM or PD.

Not much info is available on the inner workings of this synth.

Casio VZ-1

The mysterious Casio VZ-1

Casio VZ-1 algorithms

Casio VZ-1 and VZ-10M - Better than Yamaha DX7? (patches and multi-tracked demos

Memory corruption on my side…

It is actually the Korg 01/W that had the waveshaper function (so not the Korg T1/2/3). And I just found out that was not phase distortion (in an attempt to circumvent the Yamaha FM patents).

It is actually just shaping the amplitude (so, effectively a form of AM) of a digital/PCM sample oscillator, using a selection of 60 fixed shapes/waves (effectively transform functions). With control over intensity.

The Korg 01/W is a master ambient synth from 1991

Thanks for these precisions (corrective), @kwurqx

Too many machines “on the market”, it’s easy to be lost… :rofl:

No time today for long discussion, please apologize me Sir, I’ll must dive (deeply) into DeXtral C++ code to implement the effective modulations! (modulation matrix editor is OK, current modulations collect routine is OK too - and save CPU, but for now, the modulations must be operational for any supported DX7 parameter!) :wink: Either as ABSOLUTE (the modulation “replaces” the potentiometer), and RELATIVE (offset around existing absolute, or raw/potentiometer if no assigned as “absolute”).

Thank you Paul (nice to meet you in comments) :wink:

Virtually my DeXtral / DeXtral Kompakt modules may run @ engine sample Rate = 44.1kHz, so the Nyquist will be, in this case, 22050Hz. Even @ 48kHz (24kHz), the limit can be reached.

Since I’ve understood the principe, I’ve noticed a “kind of modulo” above Nyquist frequency :wink:

Your Six Sines plugin is awesome! :heart: