The Yamaha DX7 keyboard seems to have a quite sophisticated DAC and I wonder how it works. It is mostly specified as 12-bit DAC running at a sampling rate of 50kHz, but this doesn't tell the whole picture it seems.

enter image description here The broad bus is the main system data bus, the small busses coming in from the left source in the waveform generating digital IC. The analog audio signal exits by the bottom left and are mixed together later.

  • There is in fact an BA9221 12-bit DAC IC. But it does not run at 50kHz, but actually 16 times as fast, as the 16 voices the DX7 can play simultanously are time-multiplexed on this IC. This can be easily seen by scope.

  • However, the BA9221 reference voltage is not fixed but can be controlled by a resistor network wired to an multiplexer (IC46) by the system's digital data bus lines D0 - D2 . No clue on what this depends. The smaller sister model keyboard DX9 seems to lack this multiplexer.

  • The BA9221 output is fed into another resistor network whose outputs are connected by a digitally controlled switch (IC41), controlled by the digital oscillator IC via the signals SF0-SF3. These signals are individually switched by the voice multiplex frequency and seem to depend on the actual waveform played, each line exhibiting a different pattern. So we can expect this to modify the original signal in a multiplicative way I guess.

  • The is finally switched again by another digitally controlled switch (IC52). There are two outputs generated, these will mix down to a single signal later (not pictured), there is only one mono output. After analog volume control and amplification the signal is feed to the output jack.

So I would like to know how this exactly works and how to describe its characteristics in nowadays terms. It is obvious that a single channel 12bit signal won't reproduce the signal faithfully. And I wonder why this is so complicated and what is achieved by the all those additional parts.


1 Answer 1


Indeed all 16 channels are time multiplexed and stored into sample/hold stage for later summation. The sample/hold stage is controlled by the SH pins from the OPS. I have no exact details how it works, but there are two sample/hold stages so most likely half of the channels are summed together into one S/H stage, for reason I don't know. Maybe they are alternated by odd/even channel, or 8+8 channels, due to analog performance, leakage, etc. It can be solved by taking a look at SH pins with scope (I don't have a DX7, please figure out if you do).

The DAC itself is 12-bit, but external to the DAC is an analog multiplexer which can divide down or shift the analog value so the result has a 12-bit precision but larger range. Sort of like floating point values, with 12-bit mantissa and 3-bit exponent to halve the value 0 to 3 times. The analog shift stage is controlled by SF pins from the OPS.

The DAC reference input comes from a 8-level R2R DAC, whose digital value is loaded by DACCE pin from the MCU. It is set by the volume entry slider. So it's a 8-level volume control. When compared to TX7, it has 64-level but it has a fixed DAC reference and the volume level is set with a VCA later in the analog path.

Basically, they had no reasonable cost DAC available with reasonable performance, so to get the wanted analog performance, they had to put more common 12-bit DAC there and do analog shifting and summation of channels.

  • \$\begingroup\$ Wow.. so the SF pins are in fact driven by audio signal and extend the DAC range.. so even if this is additive, it gives something like 15 bit resolution with uneven spacing? \$\endgroup\$
    – dronus
    Jul 29, 2020 at 19:20
  • \$\begingroup\$ Also interesting for what the volume control DAC actually is there.. the volume slider and pedal seems to be both implemented by analog circuits between the DAC and the output. \$\endgroup\$
    – dronus
    Jul 29, 2020 at 19:21
  • \$\begingroup\$ It seems if set by MIDI volume only resolves by 3 bits. So most likely the volume DAC is only used for implementing MIDI volume control. Guess the DX9 will just lack MIDI volume control then. \$\endgroup\$
    – dronus
    Jul 29, 2020 at 19:33
  • 2
    \$\begingroup\$ Yes, SF pins is driven by audio data to extend DAC range. I also believe this particular DAC and shift arrangement results in 15-bit range. The DAC volume control is purely the digital volume control that implements MIDI volume control and it uses the data entry slider when selected as volume entry. The actual volume slider is just an analog volume control before the analog outputs. \$\endgroup\$
    – Justme
    Jul 29, 2020 at 19:54
  • \$\begingroup\$ I've followed your proposal and probed the SH lines (of a DX9) today. There are in fact two switiching signal pulse trains with period 2.5µs, pulse length 0.2µs and a phase of 180° between them. I also probed the output of the switch, and as you speculated: The voices are still distinct, they hop the two channels every 8th note played. So the overall sampling period is 1.25µs / 800kHz. The two signals are mixed after one stage of amplification and then filtered by several active filter stages. Maybe you like to update your answer on the S/H lines? \$\endgroup\$
    – dronus
    Jul 30, 2020 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.