[sdiy] Reverse engineer an EPROM encoding?

MTG grant at musictechnologiesgroup.com
Thu Oct 17 18:41:52 CEST 2013


Nailed it!  (I think)

On 10/16/2013 12:40 PM, Scott Nordlund wrote:
> Several drum machines did use Mu-law encoding (Drumulator or something; I don't remember).
 > And several others used floating point DACs (various Yamaha models 
since they were
 > into that sort of thing). But you'd be able to tell this from the DAC 
circuits
> themselves.
> I do think it's likely that the waveforms are stored in logarithmic format, which is
 > exponentiated before being sent to the DAC, but for a different 
reason. Two part question:
 > (1) Is it possible to control the amplitudes of the individual drum 
sounds?

YES

> (2) Is it a multiplying DAC configuration where the sounds are scaled by a
 > time-multiplexed control voltage fed into the DAC's Vref pin?

NO

> If (1) is yes and (2) is no,it's most likely that the wave data is stored in a
 >logarithmic format for easier amplitude control. As in the DX7, 
amplitude is
 >controlled by adding the amplitude value to the logarithmic format 
waveform data,
 >then passing the result through an exponential table. y = 
exp(log(a)+log(b)) is
 >equivalent to y = a*b. It's more efficient because it requires only a 
lookup table
 >rather than a multiplier.

It is a multiplying DAC, but Vref is fixed. Your comments make perfect 
sense... volume control by addition.  And Kawai was probably down the 
street so to speak from Yamaha. So is there any common logarithmic 
method from that period?  Should I just try log10 or loge and see what 
pops out?

I'm dealing with 11 data bits plus sign. And the chord/step DAT thingy I 
described (that resembles u_law) provides a close approximation. Not 
close enough mind you. So I guess u-Law is a similar logarithmic method.

I don't have my Hal Chamberlin book handy, buy perhaps he discusses this...?

GB



More information about the Synth-diy mailing list