[sdiy] uLaw DACs in the modern era?
cheater00 cheater00
cheater00 at gmail.com
Tue May 22 06:48:22 CEST 2018
I think emulating u-Law with linear DACs - either with LUTs or
external analog expo's - is a red herring. People say "you can play
back the samples with X" or "I tried Y and it sounded good to me" but
no one asked themselves what the u-Law DACs did and how the unique
situation of being in a drum machine made their behavior relevant.
This sort of thing is not going to lead to any sort of re-discovery.
We need to go back to the first comment: "what do you mean by less
detail"..
Take an undistorted sinewave, and do two experiments. First, add
distortion at the zero crossing, where the slew rate is the highest.
Then, for the second experiment, add distortion at the peak, where the
slew rate is the least. The latter sounds more musical and adds the
right harmonics; the former sounds pretty bad. Zero-crossing
distortion was a big issue in hi-fi music reproduction on early
multibit DACs, so far that people would remove a single bit of
precision on the DACs and use just the positive part of their range.
This is because when the DACs crossed 0V, a lot of gates had to flip
and this resulted in a current draw spike, and a large amount of
distortion. Whereas if you had a -5..5V DAC, and you looked at +2.5V,
this didn't happen, because much fewer gates had to change state. So
people sacrificed a bit of precision to have less distortion at the
point of the highest slew rate.
Now think about what an u-Law DAC does. A single step up or down in
value around 0 is going to be very fine, whereas near its max output a
single step is going to be very coarse. Artifacts of switching between
values - glitches, decimation, reconstruction errors, etc - become
audible. The u-Law DAC adds the most distortion around the peaks, and
the least distortion around the zero crossing. Which is exactly what
you want. Now, all this time I talked about sinewaves, but most drums
that need "oomph" are stuff like bass and kick drums, toms, congas and
other stuff which has an initial impulse followed by a signal very
similar to a sinewave. This is why the combination of a u-Law DAC and
its application in a drum machine ends up being so good: you present
the DAC with a signal where the DAC's imperfections will do the most
good.
Some of those glitches come from errors due to insufficient gate slew
rates, or due to insufficient power delivery during switching, or due
to reconstruction errors (reconstruction filter did not fully reject
aliasing artifacts from above the audible band, which were put back
into audible band by a later non-linearity). None of those can be
emulated by a modern DAC because they originate outside of the audible
band, and also outside of the band that the DAC tries to reproduce.
You could try and run a modern DAC at 64x fs and emulate those
glitches in a program that tries to figure out what sort of glitches
an old-style DAC would do, then use an external reconstruction filter
and non-linearity to emulate the imperfect alias rejection, but that
just gets stupid at some point.
So unless you can replicate those glitches with modern DACs (you
can't), you're going to have a hard time replicating the "oomph".
It seems that a discrete design has the best chance of replicating
this; however, if you use modern discrete silicon, with its high slew
rate you're still going to not get the effects of slew rate issues, or
unmatched transistors. This means you'll have to find a very slow
part, run a fast part at super high gain to lower its bandwidth, or do
this plus lower the slew rate artificially with an external RC
network. So the part count goes up, but it's still nothing a pick n
place couldn't handle. You'll also need to use an external RC network
to limit power delivery to get some of the other issues mentioned. But
since passives are so insanely tiny nowadays, and there are cheap
services out there that'll fully assemble your board for you on the
cheap, i would say go this route, use the tiniest parts you can find,
and you may be able to fit this on something the size of a matchbox.
You could then add an ADC and just have this whole thing work as a
(possibly programmable) "oomph" filter, sounding sort of like a
decimator, but not really. I bet the audiophiles and mastering
engineers will soil themselves when they hear about it.
On Sun, May 20, 2018 at 5:52 PM, John Ames <commodorejohn at gmail.com> wrote:
> On 5/20/18, rsdio at audiobanshee.com <rsdio at audiobanshee.com> wrote:
>> Lots of industries, including the arcade game industry, leveraged the
>> technology that came before, such as telecom. But in every case, 8-bit was
>> the norm in the beginning, followed eventually by 16-bit and then 32-bit. It
>> was a long time before 16-bit memory was available, but many synths still
>> wired two 8-bit chips in parallel to get what was needed.
> Sorta-kinda. 16-bit memory parts still aren't as common simply because
> you can just set 8-bit parts in parallel (and most 16/32/64-bit CPUs
> have "lane select" outputs to specifically accomodate this.) In fact,
> lots of 8-bit systems used memories with single-bit word size and just
> ganged those up. 8-bit audio standards had less to do with whether
> 16-bit was technically feasible and more to do with cost and part
> availability; in fact, even a number of 32-bit computers used existing
> 8-bit parts, back when simply having audio capability on, say,
> technical desktop workstations was a novelty - I've got a Sparcstation
> 2 and a VAXStation 4000/60 on my desk that both use 8-bit u-law
> telephony parts for their audio (in fact, the VAX even has an ISDN
> jack on the back instead of a 3.5mm TRS!)
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list