[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