Simple DSD SRC for BeagleBone

Not sure about isochronous USB. If you have a master dac clock and another clock in the PC, then there are two clock domains. Guessing you mean asynchronous USB, where the USB board is clocked by its own clocks or else by the dac clock, and thus the USB board clocking is asynchronous with the PC clock?

Another question might be, how good do you want this to be? As hi-fi as you can get it?

Have you tried freeware offline conversion which gives the best SQ of all, even if only as a point of reference?

Reason I'm asking all the questions is because I have done DSD conversion with two AK4137s, including a couple design iterations. It was more elaborate, costly, and lower jitter than the project here (based on having reviewed the schematic for this). Bottom line is that its hard to get the best out of AK4137 because it only operates in ASRC mode. In reality if using asynchronous USB, then the dac itself including the USB board can be entirely synchronous. In that case its easier to do, and gives better SQ to use a synchronous PCM->DSD converter. That's the short description of what was actually a lot of work to find out.
 
Last edited:
Yes I think we're talking about the same thing. Asynchronous USB in isochronous transfer mode.

I have a AK4499EQ-based DAC, a Singxer SDA-6 PRO, which supports passing DSD directly to the conversion stage. I have trialed HQPlayer and favour that DSD output over AK4499's built-in SDM. What I do not like is the significant latency that it introduces even with short buffers. Which is why I thought it would be fun and useful to DIY a hardware-based solution.

As for "how hi-fi", well, how to put that in numbers? :) I am an audio enthusiast but do not have golden ears. For example, I cannot claim to hear differences between the DSD5 vs. DSD7 modulators in HQPlayer even when I think the rest of my playback chain is pretty good (Singxer SA-1 being my most linear amp probably + Beyerdynamic T1.2). Which is why I estimate that an AK4137 would be a nice enough upgrade to offload SRC and SDM duties from the AK4499.
 
Just read your latest edit. For sure I will pay attention to your experiences. Although when slaved to a master clock I thought it would be an upgrade.

Which synchronous PCM->DSD converter can you point me to? Reading up on the other thread "Simple DSD modulator for DSC2" I am unsure how well that one works now?
 
The synchronous converter project is at: https://www.diyaudio.com/community/threads/simple-dsd-modulator-for-dsc2.370177/page-34#post-7294900

What I did was basically to keep a set of well powered and bypassed Crystek 957 clocks running at all times. Clocks were switched with a miniature relay to minimize added phase noise. Clock buffer chips fed the AK4499 dac, some reclocker stages, the AK4137s, and the USB board. That kept everything synchronous, and the clocks correctly loaded. The reclockers were used to clean up I2S signals before the dac chip, and before each AK4137. There were also provisions to bypass one or both AK4137 chips.
 
Last edited:
I am unsure how well that one works now?
It works very well, provided certain issues are designed around. Its FPGA based, so the output tends to be somewhat jittery. Best to galvanically isolate the outputs, and then reclock. Also best to have a bypass mechanism as it can produce some noises when DSD conversion is bypassed. The noises can occur at the beginning and end of songs while the USB board asserts the DSD_ON signal to indicated incoming native DSD. The USB board by itself doesn't make the noises. Have not looked at that issue in any depth with a scope and or logic analyzer. May have to do that at some point though.
 
I'm currently listening via a 'DSD'it' board that I finished assembling this morning. Currently using just a very simple RC filter 'No-DAC' DSD decoder it is sounding good.

0op7QHp.jpg


1pMp0PF.jpg
 
  • Like
Reactions: 1 user
I'm impressed with DSD'it on initial listening and I'm now using it on the input of Marcel's RTZ DAC.

When I first finished the DSD'it I was using it with the Beaglebone running as HQ Player NAA - it worked perfectly with PCM files but with if I passed it DSD, either native DSD media or resampled from PCM I experienced quite audible noise?

I'm now running the Beaglebone with Roon RAAT and it works perfectly when passed PCM or DSD media.

Good job Pavel! 👍

By the way, is this the correct AntMiner to run with DSD'it?

https://www.aliexpress.com/item/1005003832749081.html?spm=a2g0o.cart.0.0.10a238daaSFQLy&mp=1
 
if I passed it DSD, either native DSD media or resampled from PCM I experienced quite audible noise?
What OS, what driver model, what USB board?

BTW, you might want to try the FPGA Simple DSD Converter also in the forum here. It is a fully synchronous converter, which IME is better if you know how to configure your dac and clocks. Also, either the converter you are using now, or else the FPGA diy project, may benefit from reclocking through D-Flip Flops. If you don't know how, no doubt some members would be willing to help if you ask.

That said, best overall might be to get USB interface problem fixed.
 
Last edited:
"What OS, what driver model, what USB board?"

Not relevant in this context - check out the pictures.

The noise issue appears to be an HQ Player thing.

I already attempted the FPGA solution but screwed up soldering the FPGA - I might get around to having another go sometime.
 
That's a bit like saying apples don't taste like pears - DSD'it is designed as a beaglebone cape so i doubt it there are many (any) USB board users who've connected a DSD'it board.

I've been using HQP for years with both USB and Beaglebone endpoints and this is the first time I've had an issue with noise and i tried different HQ player options (though not exhaustively) to see if the issue was related to a specific setting. As the point of the DSD'it is to have the option of not requiring HQ Player and it is working perfectly as a Roon endpoint I'm content with the result and I still have HQ Player and my other DSD DACs...
 
BTW, I use a Beaglebone with the same Botic-based firmware as HQ Player NAA in two other DSD DACs, one with a Twisted Pear Hermes/Cronus pairing, the other with Pavel's isolator/reclocker cape, and they work impeccably.

I normally run at DSD256 as my HQ Player computer struggles with my preferred settings at DSD512, but easily processes DSD512 with 'easier' configurations.
 
Odd. Hard to see how only HQ Player DSD would be distorted? Hardware DSD such as SACD is always at sampled using the 44.1KHz clock family. HQ Player can use either clock family. Wonder if there could be a problem there?

Also, are you using the version of DSD'it with SRC4392 or with dual AK4137? The former doesn't understand DSD but can be set to bypass non-standard formats (perhaps using an MCU along with the DSD_ON signal from the I2S source device). OTOH, AK4137 understands DSD (input through the DSD-only pins), but by default uses an inverted bitclock (DSD Frame Clock). IIRC there is a register setting to invert BCLK output to what everyone other than AKM uses. There may be a separate setting to configure that format for DSD input.