I found these great resource which really helps to figure out the internals of the dx7
- Yamaha DX7 chip reverse-engineering, part 4: how algorithms are implemented
- US4554857A - Electronic musical instrument capable of varying a tone synthesis operation algorithm - Google Patents
- GitHub - ftrain/pydxseven: A simple library for parsing and serializing DX7 cartridges · GitHub
With this is was somehow easy to re-implement a single voice of the DX7 within DynGen, and also learned some other stuff on the way that I’ll use
Also fixed a bug in DynGen.
See DynGen - Dynamic UGen - #61 by dscheiba if you are interested in how to implement the DX7 algorithm correctly.
The FM7 UGen does not implement feedback like in the DX7. In selector 5, the DX7 uses the average of the past two values via its feedback shift registers, FM7 only uses the last sample. This actually makes some difference in sound since you can crank up the feedback much higher and results in a different timbre of the feedback.