NI FM8 is a major challenge to emulate in VCV Rack. Even the much simpler Yamaha DX7 (7 OP sine only, 32 algorithms) is quite a challenge.
One of the challenges of FM (yes, most of the times PM) is that every operator can be both a carrier (audible audio output) and a modulator (modulation source). Where any modulator can also modulate (the phase of) any operator, including itself (self feedback).
This make the approach to routing a bit of a challenge. An algorithm can be seen as a specific fixed configuration of the routing options. But as said, many routing configuration are possible (audio, modulation, feedback).
If you wanna be freed from the restrictions of fixed algorithms, the complexity of the routing matrix might soon explodes. Especialy if all potential feedback paths are included.
There an open source and free VST that implements a 8 (6+2) operator FM (PM…) synth that might inspire an attempt to build/emulate at least some of the NI FM8 power and complexity. It uses an half matrix approach (but only has self feedback). It even offers an FM8 like skin.
Also, preferably have operators that go down to 0 Hz to enable wave shaping. And access to the initial phase (like the Yamaha SY 77/99 offer in a limited way). Also have the option to sync or not sync the operators cycling (free running vs restart at gate). And preferably offer other wave shapes then just the humble sine…
You could go on and add various other types of audiorate modulation. Like AM (similar to FM but where sum- and difference frequencies are NOT reflected back from 0 Hz into the audible spectrum).
E.g. Non Linear Labs C15 explores this AM domain.
And/or add true FM (with inherent tuning quirks).
It can soon evolve into a pretty complex project to emulate something like the NI FM8. And quite a challenge from a GUI useability perspective…
OctaSine is clap/vst2, free (*) and opensource. Runs on macOS, Windows and Linux.
“The name OctaSine comes from the four stereo sine-wave operators. Frequency modulation is done twice per operator, enabling modulation panning.”
(*) You need Host to use it in rack
AM has two sidebands that appear at sum and difference of both signals (it’s RM with one of the two signals unipolar, so the carrier does not disappear in the process, but the sidebands are the same). The sidebands do reflect at 0 Hz.
It also makes complete sense when you think about the maths of the situation, AM is something like :
f(AM)=sin(f1)*(1 + sin(f2))
=sin(f1) + sin(f1)*sin(f2)
=sin(f1) + 1/2 * (cos(f1-f2) + cos(f1+f2) )
And there are your three components, the carrier and the two sidebands.
Also (this is probably a typo) the DX7 has only 6 OP, and the C15 is a phase modulation synth, it may have AM on top, but at heart it is phase modulation (per the constructer site) with a LOT more going on. If I win the lottery I get one immediately !!
On the topic of algo vs matrix : I find the matrix approach of FM8 so creative and liberating, anytime I patch a DX7V or any other algorithm FM synth, I find myself doing sounds that sound very “FM like”, and it is a lot less the case with FM8, just because I can dial very tiny amount of FM in all directions all the time, which (to me) blurs the FM typical sideband repartition.
And I share your love for 0Hz carrier !
I still don’t get 0Hz carrier. Isn’t it “just” a wave-shaping lookup table? (in this case sinusoidal?)
Indeed ! But it’s a different flavor compared to basic phase modulation, and so it is useful in the context of a FM synth. Just one more spice in the potential mix.
Steering a bit Off-topic…
As @TanaBarbier already stated: yup, you’re right…
When FM/PM synths had sines only, e.g. DX7, this ‘waveshaping’ technique was a nice bonus feature in sound shaping. But since the DX7 operators did not support 0 Hz (minimum 1 Hz minus some detune), the technique would not result in a static spectrum. The resulting spectrum would cycle at the speed of the carrier frequency (e.g. 1 Hz). In contrast, at 0 Hz (as later offered in SY77/99) you will get a static spectrum, which in some use cases might be very desired. Control over the initial phase added even more spectral control (also as later offered in SY77/99).
These days the oscillator/waveform that controls the phase of an oscillator via the read position in a wavetable is also referred to as a phasor. Additionally you could also mess with the mapping with some transfer-function in the middle. E.g. Valley Terrorform has many different phasor behaviours. And of course many other waveshapes and features. https://valleyaudio.github.io/rack/terrorform/#usage-phasor
Talking about phase control options in VCV Rack: Hetrick recently created a whole collection of phase/phasor driving/driven modules that might inspire some phase modulation experiments.
Phasors might not always be meant to run at audiorates, nor should oscillators generally run at 0 Hz (…erm…not run at all…). But, would that stop anyone from trying to see if it’s possible and what would happen?
Actually, any module with some form of step/position/phase control could be abused in this way.
Note that some modules do not process their modulation inputs at full samplerate (but instead every so many cycles, to save CPU).
Another nice module to experiment with what all sorts of waveshaping options actually do is MindMeld Shapemaster. You could setup the 0 Hz carrier thing, But also more in general: AM, (true) FM, PM and PD (Casio style Phase Distortion). Understanding how stuff works makes getting the most out of it easier.
Most phasor modules are not meant for audio applications and the will alias a lot of you use them that way. Doesn’t mean you couldn’t do it…
Many Waveshapers that are designed for audio do have alias reduction. And don’t output DC either, which can be problematic in a “audio” signal.
In an earlier post I mentioned the Non Linear Labs C15. A synthesizer that is actually quite innovative, further exploring and extending what you can achieve by starting off with just 2 humble sines operators.
Coincidentily, yesterday, Matt Johnson (Jamiroquai), in his great YouTube channel, sat down with (ex- Native Instruments) C15 creator Stephan Schmitt, Together they discover, explain and demo the workings and sonic possibilities of this brilliant 2 sines-only operator synth.
Much of the concepts and sounds can be achieved in VCV Rack with 2 sine FM/PM enabled operators (incl. 0 Hz), some routing, modulation and effects (e.g. for Comb filter based Karplus Strong).
The demo starts of with basic 2 sine operator PM, selfmodulation/feedback PM and 0 Hz waveshaping PM. And then extends into the many other options.
What is this??? Nonlinear Labs C15