Jump to content
IGNORED

Software Players & Filters


Recommended Posts

Background

 

Many software players (and an increasing number of DACs) offer ‘leaky’ filters that are not optimized in the frequency domain. (Even pro companies like RME offer 'NOS filters’ in their DACs nowadays!) The rationale cited is that such ‘soft’/’smooth’/’slow’ filters are optimized in the time domain instead, which some believe is more important for sound quality.

Is this true? Let’s see if we can find out…

Setup:

music server  -ethernet->  audio PC  -USB->  DAC  -analogue->  ADC  -USB->  laptop

 

(More hardware/software details at end.)

 

I started out with a Reference Recordings 24/176.4 file, the main reasons being SQ and provenance. It would have been recorded judiciously by Keith Johnson, originally in analogue and mastered for digital on a Pacific Microsonics Model Two, a machine I know very well. It would have passed through a passive analogue anti-alias filter (no over-sampling) and digitized using full ladder converters (no sigma-delta modulation).

 

But I wanted to use a 16/44.1 file for the comparison, as 99.9% of my music is in this format. So, I decimated the RR 24/176.4 file down to 16/44.1 (with TPDF dither).

I could have kept things purely in the digital domain, but decided to capture the analogue output of my DAC instead, as ultimately, it’s here that ‘the rubber meets the road’. I took five 24/176.4 captures of the analogue output of my DAC:

 

  1. original RR 24/176.4 file played back bit-perfectly (to provide a reference file for listening comparisons)
  2. 16/44.1 file up-sampled to 352.8 using HQPlayer’s sinc-M filter (& NS5 noise-shaping)
  3. 16/44.1 file up-sampled to 352.8 using HQPlayer’s poly-sinc-lp filter (& TPDF dither)
  4. 16/44.1 file up-sampled to 352.8 using Roon’s smooth-mp filter
  5. 16/44.1 file up-sampled to 352.8 using XXHighEnd’s Arc Prediction filter

 

The files

 

1. Bit-perfect (reference file)

 

https://drive.google.com/file/d/1btTKG8xnMQQYvzNQpawbKeHyLG6Lu0T3/view?usp=sharing

 

1449241518_1.Bit-perfect24_176.4.thumb.JPG.f19082d18b11b6f615a2592ce034a02f.JPG

 

As you can see, there’s ‘real’ content right up to ~50 kHz (though at a very low level by that point).

 

2. HQP sinc-M & NS5

 

https://drive.google.com/file/d/1pOP8uc3xNVWWNrnxeE6XffCwMzrZpoIn/view?usp=sharing

 

1549476819_2.HQPsinc-MNS516_44.1.thumb.JPG.2ee7787225b681e59fbfc39334213e58.JPG

 

A pretty much ‘textbook’ result. The signal is attenuated massively well before Nyquist.

 

3. HQP poly-sinc-lp & TPDF

 

https://drive.google.com/file/d/1SzK-6_7atGeRCCLjgR86HjcQ1MP7GeX1/view?usp=sharing

 

1047512816_3.HQPpoly-sinc-lpTPDF16_44.1.thumb.JPG.b2bf1ff63e157f6600a69405c07cc033.JPG

 

Here, the signal is ~80dB down by Nyquist. I suspect the filter designer considers this a good balance between frequency and time optimization.

 

4. Roon smooth-mp

 

https://drive.google.com/file/d/1HdNMz31eRmEllqYnz3_5mePKs8tdXREx/view?usp=sharing

 

1066502335_4.Roonsmooth-mp16_44.1.thumb.JPG.ab3972d7d0ba8c6cedcdd106ee59252a.JPG

 

A much ‘leakier’ filter than the two previous two. Everything above 22.05 kHz is imaging (not to be mistaken for the real ultrasonic content in the reference file).

 

5. XXHE Arc Prediction

 

https://drive.google.com/file/d/1q57OQlC_3XQS04GNK5R1iUw6q4YMWarc/view?usp=sharing

 

924681386_5.XXHEArcPrediction16_44.1.thumb.JPG.48b12f57934606b1da5a216010c63d89.JPG

 

The ‘leakiest’ filter of all with lots of imaging above 22.05 kHz. But even so, it could be argued that there’s still less ultrasonic noise here than there is in a DSD64 file (derived from the 24/176.4):

 

1804749709_6.OriginalDSD64.thumb.JPG.d1d80b3c66e15bf50537f303904412d7.JPG

 

However, the DSD file has ‘real’ content up to around 34 kHz. Also, the noise above 34 kHz is not correlated with the music (whereas imaging obviously is).

 

Findings

 

If sine tones are to be believed, I can’t hear much above 12 kHz nowadays. Irrespective of filter, the FFTs look virtually identical below 12 kHz. And yet… the captures all sound distinctly different to me. (I’d be happy to describe the differences in detail later.)

 

Moreover, the ‘textbook’ filter does NOT sound closest to the reference file (to my ears).

 

I’ve linked all the files. You’re welcome to analyse these yourself, or even, God forbid, take a listen 😉.

 

Mani.

 

****************************************

 

Hardware/Software

 

Music Server

-          - SMPS ATX

-          - Supermicro mobo

-          - i3 CPU

-          - W10

-          - Roon Core v1.7_610

-          - music storage

 

Audio PC

- Phasure Mach III

-          - ultra-fast linear PSU -> HDPlex 800 DC-ATX

-          - Xeon 14/28 CPU

-          - W10 loaded into RAM

-         -  no SSDs or HDDs attached to mobo

-         -  XXHighEnd v2.11 (Kernel Streaming)

-          - HQPlayer v4.7.1 (WASAPI)

-          - RoonBridge v1.0_172 (WASAPI)

 

DAC

-         -  Phasure NOS1

-          - 8x BB PCM1704U-K chips

-          - 24/768 capable

-          - no internal upsampling/filtering

-          - no SDM

-          - 2000 V/μs slew rate

 

ADC

-          - RME ADI-2 Pro FS R

-          - set to 24/176.4

-          - ‘Slow’ filter (little risk of aliasing at these rates)

 

Laptop

-          - W10

-          - RME Digicheck

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment

Apologies for the lack of spacing - a strange consequence of importing from Word. And I can't seem to edit.

 

Edit: Ah, got it now!

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment

Mani,

 

Leaky filters that don’t attenuate enough by Nyquist cause images below Nyquist frequency, in the audible range. It’s not surprising that you might hear them, as they can certainly mess with below 22kHz. Also, you need to examine the structure of individual filters. Some may introduce other artifacts in the audible range, from frequency variations to delays and phase distortions. Depends on the filter design and implementation. And finally, of course you can use whatever filter sounds best to you, including no filter at all, but that doesn't mean it's reproducing the content more accurately. (When one joins the objectivist party one is sworn to keep repeating this mantra constantly, so I'm just fulfilling my quota 🤪 ).

 

 

Link to comment
24 minutes ago, pkane2001 said:

And finally, of course you can use whatever filter sounds best to you, including no filter at all, but that doesn't mean it's reproducing the content more accurately.

 

Paul, that's why I included the reference file. It's not at all about which filter sounds best to me, but rather which filter sounds closest to the reference.

 

And to my ears, it's not the 'textbook' filter.

 

But I'm happy for others to take a listen and compare for themselves (though I accept this isn't the most enjoyable thing to do). If they feel that the 'textbook' filter is indeed the closest, then that's absolutely fine. If, however, the consensus is that one of the other filters sounds closest, then I think that's an interesting result worth pursuing.

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
3 minutes ago, manisandher said:

 

Paul, that's why I included the reference file. It's not at all about which filter sounds best to me, but rather which filter sounds closest to the reference.

 

And to my ears, it's not the 'textbook' filter.

 

But I'm happy for others to take a listen and compare for themselves (though I accept this isn't the most enjoyable thing to do). If they feel that the 'textbook' filter is indeed the closest, then that's absolutely fine. If, however, the consensus is that one of the other filters sounds closest, then I think that's an interesting result worth pursuing.

 

Mani.

 

How does one listen to these without first applying some other filter on top of whatever is already baked into it? I assume you'll need a NOS/filterless DAC, otherwise you don't know what it is that you're listening to, no?

Link to comment
1 minute ago, pkane2001 said:

How does one listen to these without first applying some other filter on top of whatever is already baked into it? I assume you'll need a NOS/filterless DAC, otherwise you don't know what it is that you're listening to, no?

 

Yes, a 24/176.4-capable NOS/filterless DAC would be ideal... But not a lot of those around, I accept.

 

However, I can hear differences between the files on my MOTU M2, with it's regular filter. They're not as pronounced as when I use my filterless Phasure DAC, but they're clearly there. Enough to make a judgment as to which file sounds closest to the reference.

 

Not ideal, I accept.

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
55 minutes ago, yamamoto2002 said:

May be it is easier to hear the filter sound difference with comparing 11025Hz PCM upsampled to 44100Hz PCM using those several different filter set

 

Hearing differences is one thing, but determining which one is 'best' is something else. To do this, I really think you need some sort of reference.

 

Take HQPlayer for example. There are 30 (!) different PCM filters and 10 different dithers. Where on earth do you start? My feeling is that many users simply go for the 'max' filter their CPU can cope with, in the belief that it must be the best. But comparing against a reference file (as described in the opening post), I find simpler filters like poly-sinc-lp to sound more accurate.

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...