Want to take back control of how your digital audio files become sound? One thing you can do is to build your own digital to analog converter. This one is made from discrete components, centered around a resistive ladder. Yes, there are a couple of integrated circuits in there which are used for demultiplexing the incoming signal but the magic happens in that R-2R network. The project is an interesting read and makes a point of looking at the issues raised when trying to precision match resistors. Apparently it can be done with 0.1% components if you have a lot of them and a multimeter that can measure down to seven decimal places.
[Thanks Bigbob]
This reminds me of the ‘Covox Speech Thing’ marketed in the late 1980s as a cheap sound card for attaching to the parallel port of a PC.
It had a very unique sound!
Here’s a good and funny article about resistor tolerance and trying to get something better using an ohmmeter:
http://www.edn.com/article/509250-7_solution.php
@octel – Good call, and thanks for the trip down memory lane.
@octal – I put together one of those back in 2007. I did play around and add some other components to it after the picture was taken.
http://www.netcore2k.net/images/napalmsblog/soundcard.jpg
:)
@Leigh – Great article, thanks for sharing!
This seems a bit complex, no? There’s no need for demultiplexing if your resistors are powers of 2 to each other (eg 1k, 2k, 4k, 8k, 16k, etc) straight from the address lines…?
If you’re interested in this, Horowitz & Hill’s Art of Electronics has this, along with an op amp based D/A but gives preference to the R-2R network.
@Erik:
I assume he’s referring to demultiplexing the two stereo channels from his I2S source (presumably to two identical DAC units). It’s a serial protocol, so some additional logic is also required to latch the samples onto the R2R ladder.
If you’re interested, here’s the interface spec: http://www.nxp.com/acrobat_download2/various/I2SBUS.pdf
@Leigh Really funny. Thanks for sharing
I have been looking at doing this with a shift register for some lower bandwidth variable DC outputs for analog controls.
I want to hear the sound!
Am I the only that read “discrete digital-analog-converter” and wondered how it differed from a continuous DAC?
I made one of those working on parallel port and was able to play 8bit wav files, it was awful quality, but so much fun.
Tom is coy about monotonicity (or lack of it).
“While the measured performance is underwhelming …”
I’ll bet it is.
“Free for non-commercial use only”
Far out humour Tom.
Very cool I put one of those together back in 1987 for my TRS-80 Color Computer. I write a speech synth in software and wanted a better sound output system.
more electronics 101 stuff.
Sorry, I’m failing to see how this is better than a commercial DAC IC.
“This seems a bit complex, no? There’s no need for demultiplexing if your resistors are powers of 2 to each other (eg 1k, 2k, 4k, 8k, 16k, etc) straight from the address lines…?”
I think “demultiplex” here means do a serial to parallel conversion. It’s a 16 bit DAC, not a 4 bit like it appears at first glance.
“Sorry, I’m failing to see how this is better than a commercial DAC IC.”
Sorry, Hack a Day really isn’t for you, is it?
@jeff-o
Sometimes you have to remember because i can or wanted to see if i could is a reason to do something . You don’t always have to do something just to make it better than a commercial product.
Oh, I have nothing against doing stuff for the heck of it. I do plenty of that myself! But this looks like it’s being presented as a permanent solution to a problem that doesn’t need solving (or rather, has already been solved dozens of times.) A significant amount of time and money was spent developing this into some sort of rack-mounted DAC, and to what end? Bragging rights to a DAC that may or may not sound no better than an IC-based solution, while requiring more space and energy to run?
@Rob, ah you are correct – now it makes sense. Those chips are 74HC5958 shift registers, NOT demultiplexers
@jeff-o
Using your logic, going to lab in engineering school would be pointless. What’s the point on creating an opamp from scratch using 6 or 7 transistors, a capacitor, and 2 or 3 resistors when you can go and buy one for $0.50?
Uh, to learn how it works?
I remember the Covox very well, I still have it around somewhere I think… it was just a R2R DAC to connect to the parallel port, and yes, it sounded very good, almost as if you had a sound card :). I built mine some 20 year ago.
just what I like
And thats the way, I LIKE IT!
good write up about r/2r ladders
http://www.irctt.com/pdf/laddernetworks.pdf
(and yes, you can buy them pre-made and matched)
I used 3 5-bit ladders to convert 555 RGB data into an analog RGB video signal for an LCD. worked like a champ.
For further trips down memory lane…when Future Crew released their tracking software, ScreamTracker…they included a text based schematic to build a very simple parallel port DAC…the sound quality was mighty impressive considering the best sound card out at the time was the Creative Adlib. It made the whole demo experience much more entertaining, especially with the classic Unreal and Panic demos. We had fun building the entire circuit right on the parport plug itself, turning it into a dongle =) This definitely brought a tear to my eye, its been a long time since ive see a r-2r dac