This emulation is about the 1984 Yamaha CX5M and 1985 Yamaha CX5M-II. (Almost identical).
The CX5M incorporates a classic Yamaha FM sound process, using 4 operators and 8 algorithms.
It also includes the Yamaha-type feedback, which routes the output of an operator to its own input.
Referring to Fourier Series, an important feedback will generate a Sawtooth spectrum, but with important Gibbs distortion.
Due to some approximations, the feedback effect is hard to reproduce. SynthEdit – that was used to develop this software - cannot run instant feedback loops, so I had to use a special third party module from Elena Design.
This module uses Lagrange polynominal cubic interpolations, so we can't obtain a perfect sine.
In FM, every single harmonic plays an important role as it sometimes modulates to high coefficients other harmonics.
Yet as at the beginning we don't have a perfect sine, the result differs from a true DX-type Feedback process.
Though I tried to correct the feedback spectrum using butterworth filters, that better fits the original behavior.
Anyway, because of this issue, some differences can be heard when comparing this software with an original unit, as feedback rate goes over 50%. This specific module isn't available for Mac, so that's why this software is Windows-only (And 64-bits).
The original CX5M runs on a 3.58 Mhz processor, in 8 bits. As a result, strong aliasing can be heard on low frequencies.
I have recreated this distortion the very same way it sounds on an actual CX5M. Since it runs on 8 bits, the envelopes are not perfectly smooth. On long attacks/releases, you can hear steps – this was recreated in this plugin too.
Regarding envelopes, the CX5M had an ADSDR outline, that I changed to ADSR + Delay, to my mind more interesting.
The CX5M also provided a weird HF attenuator/envelope shortener parameter, that I changed into a low pass gatted filter, as the original idea was too complicated for pretty useless results.
The volume adjustment parameter was deleted (it wasn't even used in factory presets).
Same for a FM noise generator thing on OP1 – it wasn't used again (And I never succeeded to activate it – but the results are identical to max feedback effect).
Finally, LFO was simplified from a useless distinction of PMD/PMS and AMD/AMS.