Modding the DirectStream DAC

Don’t forget to try two opamps and go back to Sunlight at some point, it does sound much better than Snowmass on most systems.


YES I was just about to post that… It seems the sound took an obvious step back with Snowmass. It flattened a bit in space.


BTW I recalled another passive LPF that we might look into here. It might simplify things a bit while achieving a deep rejection null around the DSD fundamental. I’m talking about a passive RC feedback filter. As in, how Naim did their preamp input buffer/filter after CD came out in the 80’s- the mysterious “time aligned” buffer/filter. Turns out its a linear phase passive feedback filter with a deep null at 44K1. But it uses large value R so its also buffered out. For reference the image is below (the R/C in the middle). Wonder if we could maybe do similar with low value R’s (low Z).

We could look to scale something similar basically; I do have a lot of experience with Naim amps and preamps by now. Or, I have some filter design sw that they may grant a trial license again. You can add a zero to the function and that can do similar I think. I don’t know, maybe it wouldn’t work well without a buffer/isolator to drive the feedback. Maybe it cant be done passively after all.

Waiting for some parts from Mouser (tomorrow) so we can nail down rd 1 here with 2 OA/channel and take it on tour to the audio gang :slight_smile: fun fun


Naim time aligned buffer:

Update- couldn’t resist a few minutes with the sw. Look at whats possible with just 1 inductor and 3 small caps for example :wink: Now that’s a null at DSD2 freq (red circle)!


You really turbo to the mod title :+1:

Does upgrading the transformers in the analog board void the warranty?

PS Audio doesn’t care about mods as long as they didn’t cause the warranty issue, and don’t get in the way of fixing the warranty issue. If a mod is improperly installed, they probably won’t help fix it.


Thanks Ted! I will ask Wayne at WctAudio to install the transformers for me.

1 Like

Ted, a couple of fw question please if I may:
-Is it possible to convert PCM->DSD without upsampling the PCM first?
-Might it be possible to get a test fw that brings the sonic goodness of Sunlight w/o the staticy tweeter noise (on 1 OA/chan)?

I plan to try straight DSD file over USB and see how it compares to the DAC converted PCM->DSD. My usual streaming setup is USB->Gaia DDC->I2S DAC

Updates: I found the sound lost the amazing spatiality and a decrease in the super high resolution, relatively when I gave ea OA (2 OA/chan finally) its own primary coil. Bad idea. Joined the coils together again (in parallel) and the amazing spatiality is back :raised_hands: I attribute this to an increased noise floor, which covers up these low level spatial cues and information. Kind of like what jitter does (YMMV)

This amazing spatial quality is turning out to be the prime characteristic that sets this apart now. On top of the ~ perfect rendering and such. And we cannot go back, once heard. Anything less is disappointing at best (and immediately noticeable).

The room pressurizing low bass is also enjoyable now :fist_right:

Speaking of, I was also planning to roll back briefly to 1 OA/chan again, as that’s when it got amazing last night after updating to the latest 4th order simple passive filter, before duplicating another pair of OA. Even with Snomass fw. But no, I can even hear it as I type, there’s a whole lot of 3D going on and high resolution even around the corner where its playing. The music becomes freed from the speaker in a way I have not heard in my system :raised_hands:

However to be complete I should probably follow up on that today just to make sure. Then button 'er up in best config with the shielding and get ready for tour.

Another note, I was really churning on trying to figure out why the bits amplitude was slightly higher coming out of R4 OA… Where was the mistake? Churn, churn… :thinking:

Eventually I realized the bits amplitude coming in had to be slightly higher somehow… hmm… Ahhhh… the nearby R3 OA, unused except left with input termination network… One of those input R was not completely soldered (very hard to see); thus that bit network was not properly end terminated. Fixed that and joila, R4 OA is same amplitude as the others and looking great IMO (see below)

PS- I’ve found I like the “Out There” mix on Tidal quite a bit. Maybe we have a strange kinship lol :wink: Maybe some others might like it as well.


OA R4 bits output; tweaked the input filtering a bit more as well:

What problem are you trying to solve by not upsampling? Upsampling is the way to get clean antialiasing (well really a clean reconstruction filter) of PCM. Without upsampling you get gobs of aliasing or you need an impossibly steep analog reconstruction filter for the PCM.

A part of the goodness of all of the software after Snowmass is the feature that requires opamps in pairs. In general, you can’t pick and choose features from one DS software release and other features from another DS software release. The best-case scenario is that even if the software for those features is compatible (tho the big reason to leave one software release is to do a better job on the next one) we need to build 20 (or more) compiles and listen thru them for the good sounding ones vs. the bad sounding ones.


Well I was just thinking about issues with upsampling… Not a benign process. And all upsamplers are not equal. Chord for example have spent a career developing their long tap filters.

And yeah, I guess it also removes the beats that are apparent in the 44K1 or 48K data.

Anyway was just wondering out loud :thinking:


Bad upsampling isn’t benign. Good upsampling is much more benign. Upsampling is necessary for accurate reproduction of PCM (unless it’s sample rate already really high so you can afford rolling things off drastically. There are a lot of bad upsampling implementations out there, tho things are getting better. I (like Rob) have spent a lot of time implementing better upsampling than most. FPGAs (which Rob also use) allow more accurate real-time math to be done.


Hi Ted. You’ve made references to this a few times now but seemingly without any explanation. Am I just being dense or are you being coy about something you’d rather keep under wraps?

Sort of both :slight_smile:

When I first build the DS prototype I used differential opamps differentially (i.e. when the “plus” of one of the opamps went up another opamp’s “-” went up.) This cancels 2nd order distortion from the power supplies. I then used a pair of these to drive one input winding of the output transformer and another pair to drive another in parallel. With the original prototype I also doubled everything above to lower the uncorrelated noise by another 3dB.

With the DS we couldn’t afford 8 opamps per channel (tho the TSS uses 8 per channel), but there were still two pairs of opamps being used differentially.

What I didn’t mention above was that each pair of opamps was driven by a separate differential digital DSD signal. That’s the way it was in the releases up to Snowmass.

Then I realized that I could take advantage of sometimes driving them non-differentially to add more low level detail. That’s what the new releases do. Those exceptions I put in amount to noise if you only look at one side of an opamp pair. But with both sides it’s more detail.


Thanks. That’s along the lines of what I thought you might be implying but it’s a big assumption to make. It sorta-almost-kinda sounds like a multi-bit SDM…

Ted, is there a way to generate a step or square wave test sequence?


There aren’t any built in test signals.

I use Adobe Audition, If you have a path from your computer to the DS, you can generate and play any standard test tone at any level pretty simply with it. Audacity ( is a similar, but free, program.


Yes, have used Audacity alot actually. But dont’ know how to generate a DSD step test signal :wink:


You can’t very easily. The best you can do with things like Audacity is to generate a high sample rate test signal and then use something like HQPlayer (Signalyst) to convert it to DSD. With HQPlayer you have a lot of choices for conversions and (at least the last time I looked) the differences aren’t all explained in detail.

JRiver MC also has a driver that can be used by Audacity and can convert to DSD.

Still different DSD upsamplers all will sound different and there’s no one that’s mathematically more correct than all of the others.

Also, the DS will upsample any incoming DSD to it’s own quad rate DSD internal format in any case.


Thanks Ted. So I guess that, since there are no test signals built in I’ll have to inject an analog step or square wave to see the filter step response in the actual circuit. D*rn.

I do recall that the DAC would pass a 50KHz sine wave if fed a high sample rate :slight_smile:


The DS’s output bandwidth is limited only by the output filter (well, up to 5 MHz). The ultrasonic noise rises, but it too is limited by the output filter. Send in a 352.8k and you’ll see a 176.4k response.

[Edit: - ] Actually I might have misspoke, Depending on the release the DS has shared the same filter for multiple of the higher sample rates. The Mk II and TSS have a complete set of filters for all PCM sample rates, but the DS might have lower cutoffs for some of the higher sample rates.