[sdiy] uLaw DACs in the modern era?
cheater00 cheater00
cheater00 at gmail.com
Tue May 22 09:43:28 CEST 2018
You bring up design techniques that were simply not performed in "cheap
junk" products of the 80s. I don't think any of what you said relates to
thise products. As for expecting those products to have the benefit of a
"seasoned engineer"... have you ever opened one of those and looked inside?
:))
On Tue, 22 May 2018 07:31 , <rsdio at audiobanshee.com> wrote:
> A) A great many DAC designs (chips and circuits) have a sample-and-hold
> stage between the raw converter and the next analog stage. This allows the
> DAC to make all kinds of nasty intermediate voltages while the S/H is
> Holding, before settling on the desired voltage, and then the S/H is
> triggered to Sample. Canât say how many early drum machine DAC chips have
> this.
>
> B) Youâre right about switching currents, but there are DAC designs which
> have a clever workaround. I have circuit designs with a 14-bit DAC that has
> a bipolar current output. Each bit passes a binary weighted current to
> either the positive or negative output. Itâs much easier to run constant
> current and simply redirect that current as opposed to trying to turn the
> current source on and off rapidly. A nice by-product of this is that the
> negative output, which is perfectly inverted without needing any
> processing, can be combined with the positive output through a
> balanced-to-single-ended analog stage, which then further cancels out any
> switching noise. Iâll admit that itâs doubtful that vintage drum machines
> have DAC chips capable of running at 125 MHz. *
>
> That said, I strongly suspect that most of the euphonic non-linearities of
> vintage digital drums machines are entirely due to the analog stages, not
> any errors in the DAC. Not only that, but any unique sound of u-Law
> converters would surely be dominated by the variable quantization noise and
> not any switching noise. Any seasoned engineer would probably find a way to
> avoid the switching noise since thatâs a factor with all kinds of DAC
> topologies.
>
> By the time you recreate the variable quantization noise of u-Law and then
> replicate any analog distortion in the rest of the circuit, youâll probably
> find that there isnât anything significant left to recreate.
>
> The sad thing is that some of the early Roland analog drum machines had a
> lot of distortion in their on-board mixer, but then Roland went and âfixedâ
> this issue in later analog (and eventually digital) drum machines. The kids
> who really knew what was up hung on to the older models for that particular
> overdrive. These days, it should be simple to recreate that same distortion
> on purpose. Thanks to Allert Alders of Human Beings for the history lesson
> on Roland drum machines!
>
> Brian
>
> * Yes, the Soundplane Model A has a 14-bit DAC that is capable of running
> a 125 MHz sample rate. This particular design only runs the DAC at 4 MHz,
> though, but itâs nice to know that thereâs some headroom.
>
>
> On May 21, 2018, at 9:48 PM, cheater00 cheater00 <cheater00 at gmail.com>
> wrote:
> > 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.
>
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
>
-------------- next part --------------
You bring up design techniques that were simply not performed in "cheap
junk" products of the 80s. I don't think any of what you said relates
to thise products. As for expecting those products to have the benefit
of a "seasoned engineer"... have you ever opened one of those and
looked inside? :))
On Tue, 22 May 2018 07:31 , <[1]rsdio at audiobanshee.com> wrote:
A) A great many DAC designs (chips and circuits) have a
sample-and-hold stage between the raw converter and the next analog
stage. This allows the DAC to make all kinds of nasty intermediate
voltages while the S/H is Holding, before settling on the desired
voltage, and then the S/H is triggered to Sample. Canât say how many
early drum machine DAC chips have this.
B) Youâre right about switching currents, but there are DAC designs
which have a clever workaround. I have circuit designs with a 14-bit
DAC that has a bipolar current output. Each bit passes a binary
weighted current to either the positive or negative output. Itâs
much easier to run constant current and simply redirect that current
as opposed to trying to turn the current source on and off rapidly.
A nice by-product of this is that the negative output, which is
perfectly inverted without needing any processing, can be combined
with the positive output through a balanced-to-single-ended analog
stage, which then further cancels out any switching noise. Iâll
admit that itâs doubtful that vintage drum machines have DAC chips
capable of running at 125 MHz. *
That said, I strongly suspect that most of the euphonic
non-linearities of vintage digital drums machines are entirely due
to the analog stages, not any errors in the DAC. Not only that, but
any unique sound of u-Law converters would surely be dominated by
the variable quantization noise and not any switching noise. Any
seasoned engineer would probably find a way to avoid the switching
noise since thatâs a factor with all kinds of DAC topologies.
By the time you recreate the variable quantization noise of u-Law
and then replicate any analog distortion in the rest of the circuit,
youâll probably find that there isnât anything significant left to
recreate.
The sad thing is that some of the early Roland analog drum machines
had a lot of distortion in their on-board mixer, but then Roland
went and âfixedâ this issue in later analog (and eventually digital)
drum machines. The kids who really knew what was up hung on to the
older models for that particular overdrive. These days, it should be
simple to recreate that same distortion on purpose. Thanks to Allert
Alders of Human Beings for the history lesson on Roland drum
machines!
Brian
* Yes, the Soundplane Model A has a 14-bit DAC that is capable of
running a 125 MHz sample rate. This particular design only runs the
DAC at 4 MHz, though, but itâs nice to know that thereâs some
headroom.
On May 21, 2018, at 9:48 PM, cheater00 cheater00
<[2]cheater00 at gmail.com> wrote:
> 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.
_______________________________________________
Synth-diy mailing list
[3]Synth-diy at synth-diy.org
[4]http://synth-diy.org/mailman/listinfo/synth-diy
References
1. mailto:rsdio at audiobanshee.com
2. mailto:cheater00 at gmail.com
3. mailto:Synth-diy at synth-diy.org
4. http://synth-diy.org/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list