The No.1 Website for Pro Audio
 Search This Thread  Search This Forum  Search Reviews  Search Gear Database  Search Synths for sale  Search Gearslutz Go Advanced
what's inside Yamaha DX7 ? Keyboard Synthesizers
Old 2nd December 2014
  #1
Gear Maniac
 
kjukambe's Avatar
 

Thread Starter
what's inside Yamaha DX7 ?

I'm interested in voice architecture. Does it have single DSP and DAC, or each voice has it's own DAC? what's actually inside?)
Old 2nd December 2014
  #2
Lives for gear
 
EvilDragon's Avatar
One DAC for all voices.
Old 2nd December 2014
  #3
Gear Guru
 
Yoozer's Avatar
Old 2nd December 2014
  #4
Gear Nut
 

There were no DSP's in 1983 or were very expensive.

It's not a CPU doing the sound generation - it's a custom logic IC handling it. The CPU only does control functions. You could do FM on a CPU, but it wouldn't have been cost-effective at the time - even emulating a lesser Yamaha chip in software requires a good deal more horsepower than the DX7's CPU has to offer.

From what I gather the DX synths are actually phase distortion. A table with a sine being read out for a specific phase.
It's essentially a wavetable. (And don't confuse "phase modulation" with "phase distortion" - PD is just a marketing term, from Casio even.)

Here's something that was posted to the music-dsp list a few years ago. It has to do with the OPL2/OPL3 chips that were used in PC soundcards, but it's probably the same techniques that are involved for all of Yamaha's chips.
http://music.columbia.edu/pipermail/...2008-April.txt

And here Adlib / OPL2 / YM3812

"
Date: Fri Apr 18 02:44:09 2008
Subject: [music-dsp] YM3812 reverse engineering

Me and Matthew Gambrell have an interest in emulation of YM3812, which
is the OPL2 sound chip found in the Adlib and 8-bit Sound Blaster
cards. A later derivative OPL3 is found in early 16-bit Sound
Blasters. We sent one YM3812 and one YMF262 (OPL3) to MEFAS for
decapsulation; the cost was around 90 USD each. They indicated that
the chips would still be operational after decapsulation, but we had
no need to test this. Looking at the revealed YM3812 die surface with
a microscope turned out two ROM's.

[snip]

The contents could be read bit-by-bit. The first ROM was a log-sin
waveform table, containing one quarter of a sine wave, 256 samples
long. The second ROM was an exponential table, 256 samples long. There
were no other ROM's larger than 16 samples. This is strong evidence
that YM3812 produces the sound without any multiplications, using for
frequency modulated (actually phase modulated) synthesis the formula:

out = exp(logsin(phase2 + exp(logsin(phase1) + gain1)) + gain2)

[snip]"

For more professional parts, the kinds used in the synths, you might expect to see variations on this theme, perhaps longer tables or wider data words; apparently the OPL chips have 11-bit resolution per operator, I think most synths after the first DX7s have higher resolution than that.
Old 2nd December 2014
  #5
Gear Maniac
 
kjukambe's Avatar
 

Thread Starter
Thanks for the info! And what do you think about DX7s difference with NI FM7/8 main engine? I'm thinking of hardware DX7s, cos it is available now in my city, and I had a lot of fun with FM7/8 previously
Old 2nd December 2014
  #6
Gear Nut
 

Quote:
Originally Posted by kjukambe View Post
Thanks for the info! And what do you think about DX7s difference with NI FM7/8 main engine? I'm thinking of hardware DX7s, cos it is available now in my city, and I had a lot of fun with FM7/8 previously
Personally I prefer the sound, hiss etc of the hardware units.

I have 4x different 4op Yamaha FM synths and they all have their own unique sound.

What I prefer on keyboards like the DX-100 is the interface is very easy to use and prefer it to using software.
Regardless of what people say it's very intuitive and every button has it's own function.

Saying that the same doesn't seem to apply to the DX-7 and friends who have it say it's still a bit of a pain to program but it's still more fun than a bunch of mouse clicking imo
Old 2nd December 2014
  #7
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by EvilDragon View Post
One DAC for all voices.
...but each voice is converted individually.

Quote:
Originally Posted by vinyl_junkie View Post
There were no DSP's in 1983 or were very expensive.
The main feature of a DSP is a fast hardware multiplier. 16x16 multipliers were available already in the mid 70s, but were very expensive because they require a lot of logic gates. The Yamaha FM synths instead use logarithms; a multiply is replaced by an addition and exponential table lookup. Many of the implementation details are described in patent 4554857.

Quote:
From what I gather the DX synths are actually phase distortion. A table with a sine being read out for a specific phase.
It's essentially a wavetable. (And don't confuse "phase modulation" with "phase distortion" - PD is just a marketing term, from Casio even.)
It's phase modulation; something is added to the carrier's phase accumulator, while phase distortion modifies it with a piecewise linear function.

Quote:
For more professional parts, the kinds used in the synths, you might expect to see variations on this theme, perhaps longer tables or wider data words; apparently the OPL chips have 11-bit resolution per operator, I think most synths after the first DX7s have higher resolution than that.
The GS-1/GS-2, OPL series chips and OPP (DX100, FB01, etc.) have 256 entry tables, meaning that the complete sine wave is 1024 samples long. Everything else (CE20/25, TX81z, DX7, DX7II, SY77, FS1r, etc.) uses 1024 entry tables, so the complete sine wave is 4096 samples long.

Lower table resolution leads to added high harmonics (often aliased), noise and rough sounding envelopes (zipper noise). The additional waveforms that are present in some models are generated by reading out the same quarter log sine table in different ways.

DACs, sample rates, etc. also vary between models. DACs add significant distortion in the GS-1/2, CE20/25, DX7 and 4 operator models, but are relatively insignificant in the others.

Quote:
Originally Posted by kjukambe View Post
Thanks for the info! And what do you think about DX7s difference with NI FM7/8 main engine? I'm thinking of hardware DX7s, cos it is available now in my city, and I had a lot of fun with FM7/8 previously
FM7/8 (as well as other recent hardware and software implementations) likely use smooth interpolation to generate the sines, which eliminates the effects of the low resolution tables. DACs aren't emulated. The envelopes and modulation aren't identical, so patch conversion is imperfect (and thus direct A/B comparisons are somewhat flawed). It's FM as it's mathematically supposed to be, but it leaves out the high harmonics, noise and distortion that people have come to associate with the Yamaha synths.
Old 2nd December 2014
  #8
Gear Nut
 

Superb info acreil, thanks!
Old 22nd October 2015
  #9
Gear Maniac
 
kjukambe's Avatar
 

Thread Starter
thanks for the info! so, the clock of DX7's master DACs runs at a constant speed? and if so, what is the carrier frequency?
Old 22nd October 2015
  #10
Gear Addict
 
nednerd's Avatar
Quote:
Originally Posted by acreil View Post
...but each voice is converted individually.
With one DAC and 16 voices, how does this work, can you elaborate? Multiplexing?

Last edited by nednerd; 22nd October 2015 at 03:52 PM..
Old 22nd October 2015
  #11
Gear Maniac
 

Kewl thread
Old 23rd October 2015
  #12
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by kjukambe View Post
thanks for the info! so, the clock of DX7's master DACs runs at a constant speed? and if so, what is the carrier frequency?
The sample rate is 49096 Hz, so the DAC is working at 785536 Hz (49096 * 16).

Quote:
Originally Posted by nednerd View Post
With one DAC and 16 voices, how does this work, can you elaborate? Multiplexing?
Yeah, it's time-multiplexed, but unlike the usual polyphonic time multiplexed DAC where each channel gets is own sample and hold, here there are only two sample and holds that are used alternately (and I think two are used so that it's not too fast for the switches, etc.). So one sample and hold gets the even-numbered voices, and the other gets the odd-numbered voices.

Intuitively it might seem like the resulting waveform would be rough or distorted, since the voices are mixed by interleaving rather than summation, but it's smoothed out by the reconstruction filter.
Old 23rd October 2015
  #13
Gear Addict
 
nednerd's Avatar
Thanks for the great Info acreil!
That DA logic seems to be quite a peculiar construction.
I did not know that it was possible to run a DAC at 785kHz back then. Quite speedy.
...goes to show that restricted means spark inventiveness.
Old 23rd October 2015
  #14
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by nednerd View Post
Thanks for the great Info acreil!
That DA logic seems to be quite a peculiar construction.
I did not know that it was possible to run a DAC at 785kHz back then. Quite speedy.
...goes to show that restricted means spark inventiveness.
The rate isn't really remarkable; DACs can go much faster, and ~800 kHz is more or less average for a time multiplexed synth. The main thing is that the DAC needs to have a lot of dynamic range to reproduce a digitally scaled sine; 16 bit DACs were available at the time, but very expensive. So Yamaha's solution was to use a commonly available 12 bit DAC with an external resistor ladder to make a floating point DAC with 15 bits dynamic range. But the resistors aren't very well matched, so this introduces some distortion, and the DX7 II models switched to a 15 bit linear DAC.
Old 10th August 2017
  #15
Lives for gear
 
zmix's Avatar
 

Quote:
Originally Posted by acreil View Post
The sample rate is 49096 Hz, so the DAC is working at 785536 Hz (49096 * 16).



Yeah, it's time-multiplexed, but unlike the usual polyphonic time multiplexed DAC where each channel gets is own sample and hold, here there are only two sample and holds that are used alternately (and I think two are used so that it's not too fast for the switches, etc.). So one sample and hold gets the even-numbered voices, and the other gets the odd-numbered voices.

Intuitively it might seem like the resulting waveform would be rough or distorted, since the voices are mixed by interleaving rather than summation, but it's smoothed out by the reconstruction filter.
If this is true, is it possible to extract each voice after the S/H..?
Old 10th August 2017
  #16
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by zmix View Post
If this is true, is it possible to extract each voice after the S/H..?
Yes, that's how the TX802 gets 8 outputs. There are 16 sample and holds. But you'd have to have the proper timing signals (there are some pins that indicate that this might be possible in the DX7) and build demultiplexing and sample and hold circuits.

Ultimately I'm not sure that it would be worthwhile since the DX7 II is already stereo and the TX802 has multiple outputs.
Old 10th August 2017
  #17
Lives for gear
 
zmix's Avatar
 

Quote:
Originally Posted by acreil View Post
Yes, that's how the TX802 gets 8 outputs. There are 16 sample and holds. But you'd have to have the proper timing signals (there are some pins that indicate that this might be possible in the DX7) and build demultiplexing and sample and hold circuits.

Ultimately I'm not sure that it would be worthwhile since the DX7 II is already stereo and the TX802 has multiple outputs.
Thanks for the reply..

It's really nothing more than academic interest at this point, to be honest.
I'd love to see the schematics, though. The service manual I've seen online is somewhat general...
Old 10th August 2017
  #18
TNC
Lives for gear
 

There is a battery that you'll eventually need to change. I'm afraid of 80's synthesizers with batteries.
Old 10th August 2017
  #19
Lives for gear
 
GeminIAm's Avatar
What's inside a DX7? Dead flies and traces of cocaine
Old 10th August 2017
  #20
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by zmix View Post
It's really nothing more than academic interest at this point, to be honest.
I'd love to see the schematics, though. The service manual I've seen online is somewhat general...
I think there are service manuals and schematics floating around for the DX7, DX7II, TX802, TX7 and TF1, and also a couple electronic pianos that are similar to the DX7II (PF80, CLP-30), and a fairly thorough patent (4554857). The DX1 and DX5 should use the same exact DAC design as the DX7.

As far as the DAC goes, the first and second generation models operate in pretty much the same way, only the floating point DAC is replaced by a 15 bit linear DAC.

The time multiplexing thing is also done in cheap ICs that use low quality onboard DACs, so that they can get not totally horrible performance from an 8 or 9 bit DAC. These have really considerable DAC distortion, but it sounds kind of nice since it's independent for each voice. Like the DX7, you can't replicate this effect with a bit crusher. You could hypothetically separate the DAC channels in these too, and in some cases it would be more useful because this would permit separate outputs for tone and rhythm sounds, for example. But there aren't any externally available signals that can drive sample and holds.
Old 10th August 2017
  #21
Lives for gear
 
xanderbeanz's Avatar
 

A million songs trying to get out.

Here are a couple of them

Old 20th August 2017
  #22
Lives for gear
 
zmix's Avatar
 

Quote:
Originally Posted by acreil View Post
I think there are service manuals and schematics floating around for the DX7, DX7II, TX802, TX7 and TF1, and also a couple electronic pianos that are similar to the DX7II (PF80, CLP-30), and a fairly thorough patent (4554857). The DX1 and DX5 should use the same exact DAC design as the DX7.

As far as the DAC goes, the first and second generation models operate in pretty much the same way, only the floating point DAC is replaced by a 15 bit linear DAC.

The time multiplexing thing is also done in cheap ICs that use low quality onboard DACs, so that they can get not totally horrible performance from an 8 or 9 bit DAC. These have really considerable DAC distortion, but it sounds kind of nice since it's independent for each voice. Like the DX7, you can't replicate this effect with a bit crusher. You could hypothetically separate the DAC channels in these too, and in some cases it would be more useful because this would permit separate outputs for tone and rhythm sounds, for example. But there aren't any externally available signals that can drive sample and holds.
Casio employed a similar scheme in their VZ series:

Old 20th August 2017
  #23
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by zmix View Post
Casio employed a similar scheme in their VZ series:
Yeah, oddly the DAC in the VZ appears to individually convert each line (i.e. pair of oscillators) rather than each voice. In the DX7 the advantage of individually converting each voice is that the DAC distortion doesn't cause intermodulation distortion between voices.

In general it's not that uncommon to oversample the DAC in order to increase its dynamic range, although it's not always obvious from the schematic.
Old 21st August 2017
  #24
Lives for gear
 
zmix's Avatar
 

Quote:
Originally Posted by acreil View Post
Yeah, oddly the DAC in the VZ appears to individually convert each line (i.e. pair of oscillators) rather than each voice. In the the advantage of individually converting each voice is that the DAC distortion doesn't cause intermodulation distortion between voices.

In general it's not that uncommon to oversample the DAC in order to increase its dynamic range, although it's not always obvious from the schematic.
I assumed that those are the two 4-voice LSI chips, rather than the internal generator lines, the instrument has 8 voice polyphony.

Attached Thumbnails
what's inside Yamaha DX7 ?-casio-20vz-20voice-20chip-20page23image256.jpg  

Last edited by zmix; 21st August 2017 at 03:36 PM.. Reason: Added image
Old 21st August 2017
  #25
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by zmix View Post
I assumed that those are the two 4-voice LSI chips, rather than the internal generator lines, the instrument has 8 voice polyphony.
Actually the LSIs each are 8 note polyphonic for 16 notes total. The VZ-8m has one IC and is thus 8 note polyphonic.

I haven't actually verified yet that each line is converted individually, but it seems to me that it would work that way.
Old 21st August 2017
  #26
Lives for gear
 
zmix's Avatar
 

Quote:
Originally Posted by acreil View Post
Actually the LSIs each are 8 note polyphonic for 16 notes total. The VZ-8m has one IC and is thus 8 note polyphonic.

I haven't actually verified yet that each line is converted individually, but it seems to me that it would work that way.
Look at the voice architecture in the block diagram of the 8-voice LSI chip.
Each voice in the VZ is comprised of 8 DCO / DCA pairs (M1-M8) each of which can be routed directly to the output, ring modulated with the next, or in series with the next for "phase modulation", and each pair of which (L0-L3) can be routed in series to the next pair or output directly.
Topic:
Post Reply

Welcome to the Gearslutz Pro Audio Community!

Registration benefits include:
  • The ability to reply to and create new discussions
  • Access to members-only giveaways & competitions
  • Interact with VIP industry experts in our guest Q&As
  • Access to members-only sub forum discussions
  • Access to members-only Chat Room
  • Get INSTANT ACCESS to the world's best private pro audio Classifieds for only USD $20/year
  • Promote your eBay auctions and Reverb.com listings for free
  • Remove this message!
You need an account to post a reply. Create a username and password below and an account will be created and your post entered.


 
 
Slide to join now Processing…
Thread Tools
Search this Thread
Search this Thread:

Advanced Search
Forum Jump