[sdiy] FM Synth Designs

Batz Goodfortune batzman at all-electric.com
Tue Aug 13 07:48:51 CEST 2002

Y-ellow George 'n' all.

At 04:56 PM 8/12/02 -0400, you wrote:
>I have a curious question:
>Has anyone designed and built their own multi-op FM synth?  I'm curious
>about how it would be designed.  How many operators does it have?  Are they
>sine wave only?  How did you go about implementing the algorithms?  Is it
>like a DX/TX-series, or is it different?  Are you happy with the results?

I did it in software many years ago but never bothered otherwise because I 
have the real things. The thing that's hard for people to grasp is that 
physically, A DX7 only has one operator. You read right. Just one!

It's actually a wave ROM sitting in the second of the 2 chips (In the case 
of the original DX7s) It is essentially just multiplexed 96 times. You can 
easily do this stuff in a DSP these days but in those days, it was ground 
breaking. And hardware was the only way to do it.

Essentially speaking, the wave rom is just a lookup table and as many have 
pointed out, Yamaha's FM synthesis should really be called PM synthesis. Or 
Phase Modulation synthesis. Because when you break it down, it's not the 
frequency being modulated but the phase of all following sine waves. To 
emulate this in software you simply advance or retard the position of a 
pointer to the wave ROM. Or wave DATA in this case.

Yamaha's hardware does this in 96 time slots based on data generated by the 
first chip. This generates envelopes etc in hardware, combines all working 
data and then presents this to the second chip. Even the original DX7 was 
actually 16 bit. However the last 4 bits were used in a kind of CMOS 
compressor type arrangement which is why it's noisy. They improved this 
scheme on the TX7/TX816 and DX5. However the basic flaw in the chipset remains.

A DX7 only outputs velocity to 100. Not 127 like everything else. Consider 
that this was Yamaha's first adventure with chip fabbing and they fucked it 
up. Now chip Fabbing was fabulously expensive in those days. Especially if 
you also had to set up the facilities to do it as well. Which yamaha did. 
So they couldn't afford to go back and fix things easily. The quick fix was 
to limit the range of most of the 16 bit parameters and the range of velocity.

You'll note that Robyn Whittle of Devil Fish fame, has/had a fix for this. 
Some pretty wild hardware mods and a new OS in ROM. I had a MOD7 on an 
original DX and it's pretty wonderful.

And on that note. I don't know about this unresponsiveness in the MK II 
versions. I can't say I've noticed it. And I can't see it being down to CPU 
power. Since, apart from the LFO, The CPUs don't really have a lot to do. 
There are 2 CPUs in an original DX. A 63B03 and a 6801. The 63B03 is an 
hitachi version of the 6800 family. I forget which one. You can see though, 
that the DX7 designers were very much of the Motorola mindset. The TX 
versions have a single CPU however since they do not have to deal with a 
keyboard/velocity calculations or aftertouch etc. The CPU in the 802s/DX7 
MK IIs are somewhat faster than the original so I don't know what the 
problem is you're experiencing here.

Another interesting fact is that a DX9 is essentially identical to a DX7. 
It doesn't have velocity and the firmware is different but the FM chips are 
the same. What happened was that Yamaha did their own kind of millspec-ing. 
The chips that came out OK went into the DX7s. The ones that couldn't 
really cut it with 6 operators went into the DX9s. It is theoretically 
possible to tweaze a DX9 to become a DX7 but given that they're all so 
cheap these days, why would you want to.

The TX81z is an enhanced 4 operator version of the FB01. Which in turn was 
a stand alone FSG01. A module that slotted into the side of their CX5M 
music computer. (I had one of those as well.) 8 part polytimbral. The major 
difference between the FB01 and the TX81Z is that the 81Z offers a choice 
of wave forms. Not just sinewaves. Actually this gives the 81Z some unique 
properties. However one of the more kick-ass FM chips is the humble OPL3. 
They all suffer audible clock break through but apart from that, you have 
20 voices of TX81Z-like FM. Which can be split and combined in some rather 
interesting ways. I don't know why they're so noisy but every OPL3 based 
sound card I've ever heard exhibited the same problem. I even heard it on a 
recording once. (Let's play. Spot the OPL3)

I've always wanted to get hold of an OPL3 or two and shove it up the ass of 
a SID chip. All in MONO mode. (The SID has an external input) That's 80 
operators, 3 more traditional oscillators and a subtractive filter. I 
suspect it would sound pretty damned awsome.

Be absolutely Icebox.

  _ __        _       ____Happiness is a warm penguin____
| "_ \      | |
| |_)/  __ _| |_ ____       ALL ELECTRIC KITCHEN
|  _ \ / _` | __|___ |  Geek music by geeks for geeks
| |_) | (_| | |_  / /
|_,__/ \__,_|\__|/ /    Bullshit --> http://all-electric.com
                 / ,__   Music -----> http://mp3.com/electrickitchen
Goodfortune    |_____|        

More information about the Synth-diy mailing list