The next DirectStream update?

That hiss drives me crazy!

Sort of., but not really: The above doesn’t show the effect of the analog output filter, but more directly: FFTs reveal steady state signals in noise - the more bins you use the lower the noise / bin, but the steady state values for a particular frequency stay the same (with more bins they occupy fewer bins, but have the same height.) A similar effect can be had by averaging many tests, the noise goes down but the signal stays the same.

The purpose of the plot isn’t to talk about noise, but to talk about low level linearity, colored noise, etc. I use different tests to look at noise.

The noise level on the above graph is approx. -108dB which isn’t obvious from the plot at all.

That -108dBFS is what your ears can hear in a system with “extra” gain or sensitively - note that -108dB is below the resolution of a CD and hence with a preamp (or at times with the 20dB attenuator) the noise be brought below the hearing threshold.

All in all if I can get the FPGA behavior to match the above simulation there will be less noise overall and the remaining DSD related noise will be less objectionable in higher sensitivity systems. But the goal isn’t to lower noise as much as to bring out more detail (without becoming harsh), to improve low level system linearity and to give a blacker background - all of which people notice in each new release.

4 Likes

Would this apply to DSjr too, Ted?

2 Likes

Yes, the software is essentially identical between the Jr and Sr: they share the same FPGA and the hardware (tho not identical) works identically as far as the FPGA is concerned.

1 Like

Sorry to have confused things. The FFT stuff I was talking about is only the FFT in the analysis tool (e.g. the scope or a software FFT in, say, Adobe Audition.) In general to increase detail in an FFT analysis you need to use more points - you have about three choices, use more time to get more points, sample more often in the same time or simply add zeros (and account for them when reading the results.)

There are many noise floors in question: the analog noise floor of the hardware, the digital noise floor of DSP work in the FPGA and the sigma delta modulator noise floor. The switching noise inside the FPGA can bleed into the system power supply so anything I can do in the FPGA to lower it is useful (that’s the primary difference between the 20 otherwise identical versions we listen to for each release). The noise floor of most of the digital processing can easily be kept lower than the accuracy of the inputs and outputs, but generating DSD with a sigma delta modulator is an exercise in compromises.

The primary difference between Torreys and Huron was doubling the internal sampling rate. This allowed more freedom in moving the noise around in frequency with the SDM. Right off the top, doubling the sample rate will lower the S/N of the sampling by 3dB, but more importantly it will let me shove more noise from the audio band into the ultrasonic frequencies. Still I don’t want to increase the ultrasonic output of the DAC so I have to strike a balance between lower noise in the audio band and where I put that noise in the ultrasonic frequencies.

So, above and beyond good algorithms, I need to be careful how much and when I have things switching in the FPGA to help with system analog noise. Writing my own FIR filtering gives me more control here.

4 Likes

Yep, one of the reasons I wanted to write my own upsampler was to get better control of which resources are used (and when.) I can control how each Multiply and Add is implemented, where the old samples and the coefficients are stored, etc.

In general noise shaping is used to push noise to higher frequencies (there’s a lot more room up high than down low.) FWIW Changing the frequency response around 1Hz seems to be audible, certainly not as a pure tone, but definitely in the impression of timing and pace. In Huron I dedicated a few more resources to keeping the low frequencies clean and it paid off.

3 Likes

Ted, forgive me if this is an unreasonable question to ask. How long are you contracted to update the firmware? When does it actually stop?

No contract - I will keep going as long as I can find good things that fit in any product I worked on.

8 Likes

Ted, a philosophical question on improvement:

1 - Are you discovering or inventing?
2 - How much liquid can be squeezed out of a piece of sandstone?
3 - Will your next release grow hair where it stopped years ago?
4 - Does answering our dopey questions slow down your real work?

Peace
Bruce in Philly

4 Likes

:slight_smile:

Yes.

I thought the well would have run dry many releases ago.

If I’m like my dad it will.

I mostly check here while my computer is doing something that I need before my next step.

5 Likes

Oh wow! You must really like @Paul and after chatting with him this past weekend at RMAF I can see why. :wink:

How did your comparison go?

As I remembered, the ultraRendu/Teddy Pardo 7v PS combo with the Bridge II card pulled from the DS has proven to sound quite a bit better than using the Bridge II card. MQA has to proven to be a bust for me so I don’t mind giving up that feature.

I am now getting ready to test HQPlayer (imbedded in my sonicTransporter i5) with the ultraRendu and Roon to see how that sounds. There are many people out there that think Roon/HQPlayer sounds better than Roon by itself. The Roon/HQPlayer setup bypasses RAAT entirely so I am not sure how much of that is how HQPlayer processes the music files and how much is bypassing RAAT.

Does anyone out there have a favorite filter setup for HQPlayer and the DirectStream DAC? For PCM, do you prefer upsampling to max rate PCM or to DSD128?

Here is what I am using now:

Interesting issue. Some say that the Auralic Aries sounds better using Bubble DS or Lightning DS than with Roon.
The issue seems to be that without the RAAT support, the Aries is given a playlist, and then plays on it’s own without any further involvement from the player program. This includes pre-buffering into a 2GB cache, and then playing the music from that cache, much like the DMP.
Roon/RAAT, by contrast, feeds the track to the Auralic in real-time.
Sounds like HQplayer might mitigate that issue and let the Aries work at its best.

Try the Poly-sinc-ext2 and sinc-M filters. They are very similar but the sinc-M wins for me however, it has a 8 seconds buffer/delay which gets annoying but doesn’t matter if one listens to an album straight though.

I only upsample to 192PCM as that is all my I2S board will support, nonetheless it sounds better to me than Roon straight. Also try non-upsampling with HQP, set filters to none and dither to none. Oh, I can detect no difference between the dither choices with the DS. I suspect the DSD upsample make dither irrelevant.

FWIW, I run HPQ embedded on a Pink Faun 2.16x with only I2S output to DS.

Oh, I see you are running ext2 now. Compare it to sinc-M.

2 Likes

I just tried the sinc-M filter and I find it quite good. It does not use much CPU either. I get about a 6 second delay. I play mostly full albums so that is not much of a problem. It’s not much fun though when I am randomly paying tracks. It’s a good thing I don’t do that very often.

Thanks for the suggestion.

1 Like

Nope. The filter setup I like best, so far, is poly-sinc-short-mp/NS5 with all PCM content upsampled to 352.8k. Using this filter setup with my sonicTransporter i5 (w/HQPlayer embedded)/ultraRendu/DirectStream combination is SIGNIFICANTLY better than when I was using the Bridge II card and no HQPlayer.

All I can say is “Wow!”

1 Like

Paul…Anything on a DS update? 10 months seems like an eternity…:hourglass_flowing_sand:

Well, I can tell you I heard the start of the next mountain top just before I left for London (where I am now). It is breathtakingly good - without a question the most significant code Ted’s ever written. It’s a new ballgame. Darren Myers lost sleep so lost he was in the music. Fingers crossed we can release next week.

17 Likes

Cool!

Did you also try it on the DSjr, PMac?