I've been trying a different approach to delivering 'computer audio' without the use of a conventional DAC.

My interest was piqued by enjoying DSD128 conversions of CD FLAC rips more than the FLACs via my ES9018 equipped renderer, then I came across several online discussion topics exploring a different approach to DSD playback. So the key to the experiment I've been working on is DSD format files.

Unlike PCM formats, which are strictly digital, DSD inhabits a sort of twilight zone between digital and analogue using a HF carrier signal. If you strip away the carrier signal using a low pass filter you end up with an analogue signal. This isn't new, I know the late Allen Wright was upgrading SACD players more than a decade ago by tapping into the DSD signal and passing it through a filter and buffer.

Anyway, I thought I would build a quick 'prototype' to see how it sounds. I've reused an old computer with an Intel Atom motherboard and processor, loaded up with AP-Linux and equipped with a solid state disk. That gave me the basic ability to process DSD files. Playback is output via USB to a JL Sounds USB card and the DSD signal taped from its header pins. I've made a little PCB that holds the filter and a mute circuit (there are thumps between some tracks due to the USB board detecting the required codec). The filter I'm using is a simple first order at around 40KHz; it is simply a resistor in series and a capacitor in parallel. There is around 1.65V of DC present on the header pins so I'm passing the signal after filtering through a cap and then onto a simple buffer. Here are some pictures.

First picture is of the populated filter/mute board;

The PCB is from 'DirtyPCB' is good and cost less than £10 for ten, including shipping. The board is 1.6mm with 1oz copper.

Second picture is an overview: bottom left is obviously the Intel Atom motherboard. The white PCB to the right of the SanDisk SSD holds two 5V regulated supplies for the two parts of the USB board, these use TPS7A4700 devices. Next to the right is the USB board, with my filter board mounted on top via the headers. Next to the right is the JL Sounds JG Buffer board, with its +/-15V power supplies beneath (black PCBs, again using TPS7A4700) and, finally, a couple of small toroids to power it all.

Third picture is a closer picture of the USB board with my filter PCB.

So what does it sound like? Actually incredibly good. I would describe it as rich, smooth and detailed. Spatial separation is very good, you really can pick out individual instruments/voices in their own space.

Downsides? Output is a bit low and a few decibels of gain in the buffer would be useful but the level is still listenable. There is an audible click between tracks and occasionally during tracks. Between tracks will be taken care of by the mute circuit (I've had to remove the relay for now as I got the connections the wrong way round) and I'm pretty sure the noises within tracks is the result of doing things on the computer whilst playback is ongoing (I use a remote terminal session on my laptop to control playback and now just don't touch it while I'm listening). None of the noises are of speaker damaging magnitude.

Greg, Pepperoni and I are having a get together in a week or so and I plan to take the DSD player along to get their view on its performance - maybe they'll give an opinion in due course.

If anyone is interested in having a go I can post some more info and answer any questions. I have a few PCBs I can send out for the cost of the postage. Please note that the PCBs have the relay mistake so you would need to hack a workround or live with the clicks. I have replacement PCBs on order as I do plan to use the mute circuit.

For me, what I've heard so far is sufficient for me to want to take this further and I've started working on a valve based solution using a Broskie Aikido PCB; this will include an active second order filter and some gain.

Looking forward to the minifest next week. Don't forget vinylspinner (Nigel) especially as we are meeting at his gaff! Your latest work is intriguing for me in my general ignorance, but no doubt Pepperoni (Nick) will have some comprehension on it. Very much looking forward to the listen and to get some pointers on where I should progress.

There doesn't seem to be much interest in trying this approach to DSD playback but if you have a device that outputs DSD and a few DSD tracks it is well worth trying; the results are excellent and it will cost you very little to try it. Below is a schematic showing all that is required, in it's simplest form, to derive an analogue line level signal from a DSD data stream (for one channel);

Rf and Cf form a simple first order low pass filter that strips off the carrier signal. I use 3K3 and 1000pF, which will give a -3dB point at around 48KHz. C1 is required because there will be 1.65V DC offset present on the DSD output.

In this form there will be some clicks when tracks are changed but if your DSD capable device exposes the Codec set signal that can be used to produce a simple muting circuit, like this;

This schematic relates to the JL Sounds I2SoverUSB board, which does DSD and the Codec switching but it should be possible to use other DSD capable boards (I know some are using Amanero and DIYinHK boards). The mute circuit has an opto-coupler because the JL Sounds board includes isolation between the input and output sections and that would be compromised without the coupler, YMMV. The original schematics were provided by the chaps at JL Sounds. BTW, if you're in the market for a USB card I recommend the JL Sounds, it is well put together with excellent functionality and a good price;

Obviously it is possible to be more sophisticated than this simple design, I am already starting to gather parts for a valve based build that will have a second order filter built into an Aikido stage, courtesy of John Broskie.

One thing I should mention is that I don't go below DSD128 to keep any HF noise well up above where it may be a problem. I converted some FLAC rips to DSD128 using JRiver MC (for which a trial version is available to download).

Nick wrote:I would be surprised if that mute was fast enough to suppress clicks, but I guess it depends on how its driven by the other end.

The mute circuit has been successfully used by others. The relay response time spec. is about half of the 'buffer' length for the codec switch function. Anyway, as the saying goes, the proof of the pudding is in the eating and my corrected PCBs arrived today so over the weekend I'll build one up, with the relay correctly connected, and give it a try.

Nick wrote:I have to have a opinion about converting from PCM to DSD though, all you have done is create a one bit dac with the output filter some distance from the rest of the dac

I started down this road when I tried out the DSD functionality on my Beaglebone Black/ESS9018 based renderer. I didn't have any DSD recordings at the time so I converted a couple of my FLAC rips to DSD64 and DSD128. Not only did the DSD switching function correctly but the DSD conversions sounded better than the FLACs to me. Of course, this is entirely subjective and others may find a different preference, which is fine. All I am saying is, if you have some suitable components to hand why not give it a try as the only thing to lose is a few pounds on electronic parts. I even offered to send out a couple of my PCBs for the cost of the postage.

As to what it is, I have to say I can't really get very excited; there was some debate over on DIY Audio but to be honest the semantics got rather tedious. The first sentence of my first post says "I've been trying a different approach to delivering 'computer audio' without the use of a conventional DAC.", which seems nicely on the fence.

Personally, I am prepared to give serious consideration to converting over to this DSD playback approach for all my listening if my next build delivers a positive outcome.

I notice your LD Audio DAC does DSD up to DSD64. In my opinion, you need to go to at least DSD128 to get the best out of this approach. I've not gone higher than DSD128 so far but that was superior to DSD64. I'll be installing a new Linux distro with higher DSD capability in the next week or so so will be able to try the native DSD256 recording I purchased.

I've been making progress on this approach to digital playback - no conventional DAC chips involved. Just as a reminder, I'm using nothing more than an RC low pass filter to derive an analogue signal from a DSD data stream.

Second, I've physically separated the workstation doing the grunt upsampling work from the proximity of the audio system; HQPlayer streams its output over a dedicated network link to a Network Audio Adaptor (HQPlayer terminology), for which I'm using an Intel NUC (totally silent) with a minimal Linux distribution installed on its eMMC.

The muting circuit is now working perfectly and I experience none of the pops and clicks of the early builds.

With DSD256 I have now set the -3dB point of the passive first order low pass filter to 80KHz (was 40KHz), taking it further from the audio band.

I've produced a couple of small PCBs that mount onto the header pins of the JLSounds I2SoverUSB board; one has a singled-ended LP filter arrangement whilst the other uses a flip-flop to derive balanced differential analogue outputs. Both have a mute circuit and a DSD indicator circuit.

I've just finished a project to roll up the developments into a more 'finished' build, feeding the balanced outputs from the flip-flop board into a Broskie BCF buffer stage. I'm using Nicks MJ Statistical Regulator for the B+ and one of Andrew's indirect filament supplies:

Early days but it really does sound very good just playing through the home cinema system for an initial test/audition. It would be nice to bring a 'no-dac' DSD decoder to a 'Fest' to see what some of you guys think.

In the meantime, if anyone is interested in trying out this approach to DSD playback I'm making some PCBs available via a group buy over on DIY Audio. With a suitable Linux distro installed it should be possible to use something like a RPi to try this out.

The mute circuit has been successfully used by others. The relay response time spec. is about half of the 'buffer' length for the codec switch function. Anyway, as the saying goes, the proof of the pudding is in the eating and my corrected PCBs arrived today so over the weekend I'll build one up, with the relay correctly connected, and give it a try.

Ah, I see, I was trying to catch the chance from PCM to DSD, but I guess you are only doing DSD and as you say if you can see further back in the buffer I can see it being fast enough. I was using the Amnarero board, so the signal changed at the same time as the data stream from the board, so it was hard not to convert some i2s as DSD at he point of the change over.

It's good that Amanero have made this update as it eliminates one of it's main shortcomings compared with the JLSounds I use; I've never had any pops or clicks between tracks, just when you press stop or start on the music player. I guess the firmware update hasn't fixed those issues?

I'll still stick with the JLSounds though because it offers integrated isolation/reclocking.

On music players, I see your website doesn't mention HQPlayer for DSD playback. It's superior to JRMC and Foobar for both playback and upsampling. You should try it.