[sdiy] Reverse engineer an EPROM encoding?
Scott Nordlund
gsn10 at hotmail.com
Wed Oct 16 21:40:57 CEST 2013
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? (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? 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.
> From: tom at electricdruid.net
> Date: Wed, 16 Oct 2013 20:02:57 +0100
> To: grant at musictechnologiesgroup.com
> CC: synth-diy at dropmix.xs4all.nl
> Subject: Re: [sdiy] Reverse engineer an EPROM encoding?
>
> Isn't Mu-law quite likely? Have you tried that? It was widely used for 8-bit samples, so it'd have been current when people moved up to 12-bit.
> According to this Wikipedia article, there's an "A law" variant too - same idea, different curve.
>
> http://en.wikipedia.org/wiki/Μ-law_algorithm
>
> (Compare the image at the bottom of the page with your R100_first_ramp.jpg)
>
> Either way, you're just hunting for a compensation curve. Cheater's idea of deriving it by experiment isn't too far out - it might be doable with sufficient accuracy.
>
> I can see real benefits to be had from such an encoding on a drum sample system, since drum hits typically have a short loud peak, followed by a longer body of sound at a much reduced (and reducing) amplitude. With a limited 12-bit resolution, that'd mean that most of your signal will actually be only 8 or 10 bit. Anything you can do to mitigate against that is going to be a plus.
>
> T.
More information about the Synth-diy
mailing list