Which HQP Filter are you using? [2015-2023]

You could try poly sinc mqa mp. It’s a short slow roll off filter. It’s designed for high ress, but even for 1x I prefer it to all other filters. The sound to me is natural and warm and just right. It might help on 1536khz. I’m limited to 384 due to the Amanero interface unfortunately.

Wow you weren’t kidding! I tried ext2, asdm7ec, dsd512 and my ryzen 3900x + 2080 super stutters constantly during playback. Dsd256 is ok.

For the cpu multicore and CUDA offload options, are they supposed to be greyed out or checked?

I’ll give it a shot after I receive some new usb cables. Thanks for the tip!

I’d suggest grayed out, which lets the software decide what is most efficient. If it works then fine, but you can also try combinations with checked if you still experience stuttering.

I don’t think EC mods can be run at DSD 512 on current consumer hardware without some serious overclocking and cooling. Like liquid nitrogen cooling.

1 Like

9 posts were split to a new topic: HQPlayer, Ethernet Regen and

@jussi_laako what is the difference between new sinc-S and sinc-M filter?

I blatantly copy my response to the same question on another forum:
It is basically same filter as sinc-M, but variable length like most other filters. Length is 4096 x conversion ratio. So it becomes 1M taps at x256 ratio (for example RedBook to DSD256). At DSD512 it is 2M taps and DSD1024 it is 4M taps. It is also much more convenient at PCM rate conversion especially when converting to rates like 352.8/384k and lower because it doesn’t have excessive delay. It is still very steep.

Screenshot_2020-05-09_16-59-41
Screenshot_2020-05-09_17-12-06

1 Like

So, upsampling pcm 44.1 > 705.6 gets sinc 2M taps?

No, 4k * 16 = 64k taps

I think I might need someone to explain a few things so I know whats really going on with regards to filters.

Apologies if these are a bit basic

1 - High Attenuation. Is that good or bad?
2 - Slow or faster roll offs. What are the positive and negatives between the two?
3 - Cut Offs. Steep/Extreme?

Thank you

Good, in a way it describes how precise the reconstruction is.

In a typical DAC digital filter it is at most 120 dB or less, meaning about 20-bit accuracy. And then due to use of S/H, linear interpolation or such, at higher frequencies it can be just 50 dB meaning about 8-bit accuracy.

Most HQPlayer filters are at least 192 dB meaning about 32-bit accuracy (enough for up to 32-bit PCM output) and the high attenuation ones are at least 240 dB meaning about 40-bit accuracy. HQPlayer never uses S/H, linear interpolation or other such cheap methods for going to high sample rates.

This involves time domain, steeper (faster, longer) roll off makes the filter “ring” longer in time domain. On the other hand it allows somewhat faster rise times too. Steeper (faster, longer) filter also makes more abrupt change to the frequency response. Because time and frequency are inversely connected to each other, it is always a decision where between the extremes one wants to be. It depends on the filter design algorithm how short, steep and high attenuation properties you can bake in to the same filter, better the algorithm, closer to the impossible you can get.

On the market, examples of two extremes are MQA and Chord. MQA is extremely short (slow) filter and they talk about the filter length “ring” as “blur” factor due to how longer filters spread edge events in time. While Chord is extremely long (fast) filter and they talk about about how shorter filters slower rise times.

In a way they are both right and wrong, while conveniently ignoring the other aspect. And of course there are many other factors in play too than just this. Neither of them talk about the attenuation or other such things, only filter length.

HQPlayer is not sticking to either extreme, but offer wide variety between these two extremes.

Same as (2).

6 Likes

4 posts were split to a new topic: HQPlayer and HAF Room Shaper

Jussi your post is great explaining complex conversion in a fast and “accessible” form, but the best is what I just quoted above, very nice thank you

Thank you for your explanation

I’ve updated to the latest version to try the new Sinc-S filter, but HQPlayer does not start any more. It freezes. I’m talking about the Mac version.

It did start eventually. After 5 minutes…

  2020/05/12 17:55:30 Starting...
  2020/05/12 17:55:30 Signalyst HQPlayer 4 Desktop v4.5.0
  2020/05/12 17:55:30 Engine selected: 
  2020/05/12 17:55:34 Restore GUI state
  2020/05/12 17:55:35 libDSP version 21.8.1
  2020/05/12 17:55:35 HQPlayer Engine version 4.28.0
  2020/05/12 17:55:35 Number of processor cores: 4
  2020/05/12 17:55:35 Core mask: 0000000000000000000000000000000000000000000000000000000000001111
  2020/05/12 17:55:35 CPU brand name: GenuineIntel
  2020/05/12 17:55:35 Core pinning enabled
  2020/05/12 17:55:35 Initial parallel threads: 4
  2020/05/12 17:55:35 Number of logical cores: 4
  2020/05/12 17:55:35 DSP thread pools enabled (1)
  2020/05/12 17:55:35 DSP pipelines enabled
  2020/05/12 17:55:35 Pipelined DSP engine enabled
  2020/05/12 17:55:35 DirectSDM disabled
  2020/05/12 17:55:35 Audio engine: network6
  2020/05/12 17:55:35 Output set channels: 2 (2)
  2020/05/12 17:55:35 Output SDM packing: 1
  2020/05/12 17:55:35 Output supports DSD with any base rate
  2020/05/12 17:55:35 Output set channels: 2 (2)
  2020/05/12 17:55:35 Volume max: -3
  2020/05/12 17:55:35 NAA output network Audio IPv6 support enabled
  2020/05/12 17:55:35 Volume min: -60
  2020/05/12 17:55:35 Set volume: -60
  2020/05/12 17:55:35 NAA output discovery from 0.0.0.0
  2020/05/12 17:55:35 Automatic rate family disabled
& 2020/05/12 17:55:35 NAA output discovered network audio: name='28beta' version='Signalyst Network Audio Daemon 4.1.1'  @192.168.1.202:43210
& 2020/05/12 17:55:35 NAA output discovered network audio: name='28beta' version='Signalyst Network Audio Daemon 4.1.1'  @192.168.1.202:43210
  2020/05/12 17:55:36 NAA output network interfaces:
  2020/05/12 17:55:36 	if[en1] ipv4=192.168.1.10 ipv6=fe80::10e5:98d2:edad:63e3%en1 idx=6
  2020/05/12 17:55:36 	if[lo0] ipv4=127.0.0.1 ipv6=::1 idx=1
  2020/05/12 17:55:36 NAA output discovery from en1
& 2020/05/12 17:55:36 NAA output discovered network audio: name='28beta' version='Signalyst Network Audio Daemon 4.1.1'  @[fe80::d263:b4ff:fe02:34ed%en1]:43210
& 2020/05/12 17:55:36 NAA output discovered network audio: name='28beta' version='Signalyst Network Audio Daemon 4.1.1'  @[fe80::d263:b4ff:fe02:34ed%en1]:43210
  2020/05/12 17:55:37 NAA output connect to [fe80::d263:b4ff:fe02:34ed%en1]:43210 [ipv6]
  2020/05/12 17:55:37 NAA output network endpoint: Qutest: USB Audio (hw:CARD=Qutest,DEV=0)
  2020/05/12 17:55:37 NAA output discovered 1 Network Audio Adapters
+ 2020/05/12 17:55:37 NAA output connect to [fe80::d263:b4ff:fe02:34ed%en1]:43210 [ipv6]
? 2020/05/12 17:55:37 NAA output network QoS functionality not available
  2020/05/12 17:55:37 NAA output network format: 32000/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 44100/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 48000/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 88200/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 96000/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 176400/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 192000/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 352800/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 384000/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 705600/32/2 [pcm] 
  2020/05/12 17:55:37 NAA output network format: 768000/32/2 [pcm] 
  2020/05/12 17:58:15 SDM conversion parameters (9, 0)
  2020/05/12 17:58:15 DSD 6 dB gain enabled
  2020/05/12 17:58:15 Control active volume range: -60 - -3 dB
  2020/05/12 17:58:15 Audio transport: rate=0 channels=0 format=auto buffer=0
  2020/05/12 17:58:15 Output set channels: 2 (2)
  2020/05/12 17:58:15 Output SDM packing: 1
  2020/05/12 17:58:15 CoreAudio input engine initializing...
  2020/05/12 17:58:15 CoreAudio input default device id: 189
  2020/05/12 17:58:15 CoreAudio input devices: 4
  2020/05/12 17:58:15 CoreAudio input device: Built-in Microphone (189) - Apple Inc. 
  2020/05/12 17:58:15 CoreAudio input device: Built-in Output (195) - Apple Inc. 
  2020/05/12 17:58:15 CoreAudio input device: Soundflower (2ch) (43) - ma++ ingalls for Cycling '74 
  2020/05/12 17:58:15 CoreAudio input device: Soundflower (64ch) (54) - ma++ ingalls for Cycling '74 
  2020/05/12 17:58:15 CoreAudio input device id changed, trying to find device by name: 28beta: Qutest: USB Audio
  2020/05/12 17:58:15 CoreAudio input selected device: 189
! 2020/05/12 17:58:15 CoreAudio input clCoreAudioEngine::SaveDevState(): AudioObjectSetPropertyData(kAudioStreamPropertyVirtualFormat)
! 2020/05/12 17:58:15 CoreAudio input clCoreAudioEngine::SaveDevState(): AudioObjectSetPropertyData(kAudioStreamPropertyPhysicalFormat)
  2020/05/12 17:58:15 CoreAudio input nominal rate: 32000 - 32000
  2020/05/12 17:58:15 CoreAudio input nominal rate: 44100 - 44100
  2020/05/12 17:58:15 CoreAudio input nominal rate: 48000 - 48000
  2020/05/12 17:58:15 CoreAudio input nominal rate: 88200 - 88200
  2020/05/12 17:58:15 CoreAudio input nominal rate: 96000 - 96000
  2020/05/12 17:58:15 CoreAudio input number of streams: 1
  2020/05/12 17:58:15 CoreAudio input available streams:
  2020/05/12 17:58:15 	input: 44100/32/2
  2020/05/12 17:58:15 CoreAudio input found suitable stream: 190
  2020/05/12 17:58:15 CoreAudio input number of wanted streams: 1
  2020/05/12 17:58:15 CoreAudio input virtual formats:
  2020/05/12 17:58:15 	96000/32/2 [ Float ]
  2020/05/12 17:58:15 	88200/32/2 [ Float ]
  2020/05/12 17:58:15 	48000/32/2 [ Float ]
  2020/05/12 17:58:15 	44100/32/2 [ Float ]
  2020/05/12 17:58:15 	32000/32/2 [ Float ]
  2020/05/12 17:58:15 CoreAudio input physical formats:
  2020/05/12 17:58:15 	96000/24/2 [ SignedInteger ]
  2020/05/12 17:58:15 	88200/24/2 [ SignedInteger ]
  2020/05/12 17:58:15 	48000/24/2 [ SignedInteger ]
  2020/05/12 17:58:15 	44100/24/2 [ SignedInteger ]
  2020/05/12 17:58:15 	32000/24/2 [ SignedInteger ]
  2020/05/12 17:58:15 	96000/20/2 [ SignedInteger ]
  2020/05/12 17:58:15 	88200/20/2 [ SignedInteger ]
  2020/05/12 17:58:15 	48000/20/2 [ SignedInteger ]
  2020/05/12 17:58:15 	44100/20/2 [ SignedInteger ]
  2020/05/12 17:58:15 	32000/20/2 [ SignedInteger ]
  2020/05/12 17:58:15 	96000/16/2 [ SignedInteger ]
  2020/05/12 17:58:15 	88200/16/2 [ SignedInteger ]
  2020/05/12 17:58:15 	48000/16/2 [ SignedInteger ]
  2020/05/12 17:58:15 	44100/16/2 [ SignedInteger ]
  2020/05/12 17:58:15 	32000/16/2 [ SignedInteger ]
  2020/05/12 17:58:15 	96000/32/2 [ Float ]
  2020/05/12 17:58:15 	88200/32/2 [ Float ]
  2020/05/12 17:58:15 	48000/32/2 [ Float ]
  2020/05/12 17:58:15 	44100/32/2 [ Float ]
  2020/05/12 17:58:15 	32000/32/2 [ Float ]
  2020/05/12 17:58:15 CoreAudio input device bits: 20
  2020/05/12 17:58:15 CoreAudio input engine initialized
  2020/05/12 17:58:15 Audio transport: rate=0 channels=0 format=auto buffer=0
  2020/05/12 17:58:15 CoreAudio input set sampling rate: 0 (0)
  2020/05/12 17:58:16 CoreAudio input engine uninitialized
  2020/05/12 17:58:16 CoreAudio input engine uninitialized
  2020/05/12 17:58:16 Network interfaces:
  2020/05/12 17:58:16 	if[en1] ipv4=192.168.1.10 ipv6=fe80::10e5:98d2:edad:63e3%en1 idx=6
  2020/05/12 17:58:16 	if[lo0] ipv4=127.0.0.1 ipv6=::1 idx=1
  2020/05/12 17:58:16 Listen discovery on en1
# 2020/05/12 17:58:16 clControlServerThread::Start(): clSocket::SetOption(): setsockopt(..., 41,12, ...): Can't assign requested address
  2020/05/12 17:58:16 IPv6 support disabled due to failure
  2020/05/12 17:58:16 Audio transport: rate=0 channels=0 format=auto buffer=0
  2020/05/12 17:58:16 Input set channels: 2 (2)
  2020/05/12 17:58:16 Input SDM packing: 1
  2020/05/12 17:58:16 CoreAudio input engine initializing...
  2020/05/12 17:58:16 CoreAudio input default device id: 189
  2020/05/12 17:58:16 CoreAudio input devices: 4
  2020/05/12 17:58:16 CoreAudio input device: Built-in Microphone (189) - Apple Inc. 
  2020/05/12 17:58:16 CoreAudio input device: Built-in Output (195) - Apple Inc. 
  2020/05/12 17:58:16 CoreAudio input device: Soundflower (2ch) (43) - ma++ ingalls for Cycling '74 
  2020/05/12 17:58:16 CoreAudio input device: Soundflower (64ch) (54) - ma++ ingalls for Cycling '74 
  2020/05/12 17:58:16 CoreAudio input device id changed, trying to find device by name: 28beta: Qutest: USB Audio
  2020/05/12 17:58:16 CoreAudio input selected device: 189
! 2020/05/12 17:58:16 CoreAudio input clCoreAudioEngine::SaveDevState(): AudioObjectSetPropertyData(kAudioStreamPropertyVirtualFormat)
! 2020/05/12 17:58:16 CoreAudio input clCoreAudioEngine::SaveDevState(): AudioObjectSetPropertyData(kAudioStreamPropertyPhysicalFormat)
  2020/05/12 17:58:16 CoreAudio input nominal rate: 32000 - 32000
  2020/05/12 17:58:16 CoreAudio input nominal rate: 44100 - 44100
  2020/05/12 17:58:16 CoreAudio input nominal rate: 48000 - 48000
  2020/05/12 17:58:16 CoreAudio input nominal rate: 88200 - 88200
  2020/05/12 17:58:16 CoreAudio input nominal rate: 96000 - 96000
  2020/05/12 17:58:16 CoreAudio input number of streams: 1
  2020/05/12 17:58:16 CoreAudio input available streams:
  2020/05/12 17:58:16 	input: 44100/32/2
  2020/05/12 17:58:16 CoreAudio input found suitable stream: 190
  2020/05/12 17:58:16 CoreAudio input number of wanted streams: 1
  2020/05/12 17:58:16 CoreAudio input virtual formats:
  2020/05/12 17:58:16 	96000/32/2 [ Float ]
  2020/05/12 17:58:16 	88200/32/2 [ Float ]
  2020/05/12 17:58:16 	48000/32/2 [ Float ]
  2020/05/12 17:58:16 	44100/32/2 [ Float ]
  2020/05/12 17:58:16 	32000/32/2 [ Float ]
  2020/05/12 17:58:16 CoreAudio input physical formats:
  2020/05/12 17:58:16 	96000/24/2 [ SignedInteger ]
  2020/05/12 17:58:16 	88200/24/2 [ SignedInteger ]
  2020/05/12 17:58:16 	48000/24/2 [ SignedInteger ]
  2020/05/12 17:58:16 	44100/24/2 [ SignedInteger ]
  2020/05/12 17:58:16 	32000/24/2 [ SignedInteger ]
  2020/05/12 17:58:16 	96000/20/2 [ SignedInteger ]
  2020/05/12 17:58:16 	88200/20/2 [ SignedInteger ]
  2020/05/12 17:58:16 	48000/20/2 [ SignedInteger ]
  2020/05/12 17:58:16 	44100/20/2 [ SignedInteger ]
  2020/05/12 17:58:16 	32000/20/2 [ SignedInteger ]
  2020/05/12 17:58:16 	96000/16/2 [ SignedInteger ]
  2020/05/12 17:58:16 	88200/16/2 [ SignedInteger ]
  2020/05/12 17:58:16 	48000/16/2 [ SignedInteger ]
  2020/05/12 17:58:16 	44100/16/2 [ SignedInteger ]
  2020/05/12 17:58:16 	32000/16/2 [ SignedInteger ]
  2020/05/12 17:58:16 	96000/32/2 [ Float ]
  2020/05/12 17:58:16 	88200/32/2 [ Float ]
  2020/05/12 17:58:16 	48000/32/2 [ Float ]
  2020/05/12 17:58:16 	44100/32/2 [ Float ]
  2020/05/12 17:58:16 	32000/32/2 [ Float ]
  2020/05/12 17:58:16 CoreAudio input device bits: 20
  2020/05/12 17:58:16 CoreAudio input engine initialized
  2020/05/12 17:58:16 Audio transport: rate=0 channels=0 format=auto buffer=0
  2020/05/12 17:58:16 CoreAudio input set sampling rate: 0 (0)
  2020/05/12 17:58:17 CoreAudio input engine uninitialized
  2020/05/12 17:58:17 CoreAudio input engine uninitialized
  2020/05/12 17:58:17 Set filter: 23 / 23
  2020/05/12 17:58:17 Set oversampling: 22 / 22
  2020/05/12 17:58:17 Set dither: 9
  2020/05/12 17:58:17 Set modulator: 9
  2020/05/12 17:58:17 AutoSDM disabled
  2020/05/12 17:58:17 Audio engine is normal
  2020/05/12 18:00:59 SDM conversion parameters (9, 0)
  2020/05/12 18:00:59 DSD 6 dB gain enabled
  2020/05/12 18:00:59 Audio engine PCM mode enabled
  2020/05/12 18:00:59 Requested output rate: 705600
  2020/05/12 18:00:59 NAA output set sampling rate: 705600 (705600)
  2020/05/12 18:00:59 Set volume: -5
* 2020/05/12 18:00:59 Control server allow remote control

I also updated the other day (to Mac v4.4.0) and I don’t even SEE the Sinc-S option - do I have the right version; i.e., is there a later version available I’m just not seeing?

4.5.0 is latest, if you are seeing older version on the product page, please refresh the page.

1 Like

I am running the latest version (4.5.0) and it’s woking perfectly, except for the very long time needed to start. Prior to this version, there was no delay when starting the app.

Looks like there’s some lag before “SDM conversion parameters” where “9” is pointing to sinc-M. If you change PCM conversion algorithm in DSD Sources to poly-ext2 or sinc-S for example likely startup gets faster.

I don’t know why this would be any different in terms of speed to previous version. There are no code changes on this front.

I’m trying it now, but quitting the app also causes it to freeze. Something’s not working as it should.

LE: This is happening when I start HQPlayer. I understand that it shouldn’t, but it does.

Should I roll back to the previous version?