Which HQP Filter are you using? [2024]

Regarding the difference the new AHM7EC8B can bring to DSD1024 when paired with a direct DAC, here’s just one example.

DSD1024 with a very good modulator we are used to (IIRC, ASDM7ECv2 here):

When we switch to ASDM7EC8B:

We got about 10 dB improvement! In some other cases, the differences are bigger, and sometimes smaller.

Please note that this applies to DSD1024 and how the DAC is being driven by the modulator at these rates.

5 Likes

Jussi, what about the noise spectrum? I have at 100kHz no noise increase with respect to the audio band with the other modulators but with AHM7EC8B there is an increase. With AHM5EC8B there is a substantially lower increase but with that one I see a little bump in noise below 100kHz.

The noise levels stay below analog noise floor to about 60 kHz, but of course depending on the DAC implementation specifics. And for example with DAC 200 and 60 kHz analog filter enabled this is even smoother. (this is a bit like running 512+fs modulator at DSD256)

With most music content, the music spectrum falls into recording analog noise by about 60 kHz. Hence in this case it was crucial to optimize it for that cross-over point. Although I usually use 100 kHz. So it it better to compare it to AMSDM or the 512+fs modulators. (and many recordings have ADC noise floor climbing up about the same way like AKM chips or DAD converters)

With “regular” style modulators, the 20 kHz band noise levels, and overall distortion levels suffer at DSD1024 rates (compared for example to DSD256) due to the way the DAC hardware behaves. But with EC8B these don’t, in fact the distortion figures are better with EC8B at DSD1024 than what you get at DSD256 in a “traditional” way.

Although the noise floor ramps up a bit earlier, like with 512+fs modulators (where it happens at 100 kHz when used at intended 512x rates), the peak wide band noise levels are still low.

So yes, the shaper profile and everything else too is very different. If you’d run it at DSD2048 it would be flat to about 120 kHz (with estimated/expected DAC response)…

So after about three years of thinking/working on this modulator, I ended up with this overall solution based on both digital domain analysis and measurements of the DAC analog outputs. Because this is primarily about how the D/A conversion section is being driven by the data.

6 Likes

Great improvement!
Great work, my Spring 3 KTE and my ears thank you.
I often used to try different modulators and filters.
Now, I’m sticking with SDM 1024 with the poly-sinc-gauss family and AHM7EC8B, and I no longer have any questions :slight_smile:
Furthermore, resource consumption is significantly improved; my stock Mac mini M2 works without a hitch with DAC correction enabled (I’ll be upgrading to a Mini M4 soon).
I think you mentioned optimizing these latest filters. Any thoughts on their upcoming releases?
HQPlayer 5 Embedded 5.13.1 was recently released, should HQPDesktop follow suit?
Congratulations again on this great upgrade to HQP!

1 Like

Thanks a lot for the explanation. Yes, indeed, up to 60kHz it is completely flat with very low noise floor as shown in your measurement.

Subjectively the ASDM7EC super 512+fs at DSD512 sounds more spacious and very smooth on my DSC1 based DAC. Maybe a bit less dynamic then AHM7EC8B at DSD1024. Both extremely satisfying.

Embedded 5.13.1 release was mostly addressing issues that are specific to Embedded. So many times particularly the third version number is not in sync / matching.

Yes, all the EC modulators perform extremely well. So best to pick one that sounds best for you.
Similar to filters, they each have their own technical design goals.

Mac Mini M4 base (16GB RAM) with Roon Server + HQP Desktop 5.13.0 sending to
Holo Red via Ethernet (NAA 513 image 03/12/2024) → USB to TA DAC 200 without correction:

DSD1024x48 + sinc-Lh + AHM7EC8B
Adaptive rate ON
Multicore DSP ON
DSP pipeline default
Blocks per cycle 4 or default (no changes)
Idle time 30

44.1k sources from Qobuz via Roon are playing fine, but I experience dropouts on any song above >48 kHz. Can you help me understand why?

PS: amazing job on the new modulator, is fantastic :slight_smile:

1 Like

sinc-Lh should become lighter load, higher the source sampling rate, since the conversion ratio gets smaller. So if I understand correctly, 48k works fine too? But 88.2 or 96 or so on doesn’t? And I assume 48k DSD is checked on the Output tab?

On Mac I would recommend to keep Multicore DSP set to “auto” (grayed) in most cases, unless turning it into checked verifiably improves results.

No, 48k has drops too. Yes Adaptive rate ON and 48x1024 as DSD output.

Knowing that less computing is needed the higher the source freq, I found it unexpected.

I am going to try with Multicore greyed tomorrow morning EU time and report.
Should you need any log, please let me know.

Multicore greyed out doesn’t seem to fix:
Same dropouts on 48k included and above that don’t happen on 44.1 songs

This!

Source: 44/24 Qobuz
Filter: sinc-long-h
Modulator: ASDM7EC-super 512+fs
SDM: 1024

This made me speechless tonight.

1 Like

OK, for some reason it doesn’t work then. I would suggest to use for example one of the poly-sinc-gauss* or poly-sinc-ext2/ext3 filters instead. These are technically better in many respects and working for me with base M4.

Hi! I am quite a newbie with HQPlayer, just recently purchased a license. I have Hegel H600 and KEF R11 Meta with Audioquest Thunderbird Zero as speaker cables, Audioquest Firebird High Current power cable and also use Macbook Pro M1 with Roon and HQPlayer connected via AQ Carbon USB cable directly to the internal DAC of H600. Also using a KEF KC62 sub.

I can start by saying that it’s obviously a better sound when upsampling to DSD256 with HQPlayer, but now I am trying to fine tune the filter and modulator to something that can make me happy overall in the long run.

I mentioned the system, because I think it’s important to understand that it is quite neutral, transparent. Hegel gives power and musicality, but the KEF’s are pretty neutral and quite sensibile to amp, cables etc. They can become slightly warm, but they can also be quite cold with harsh highs. In my setup, they’re pretty neutral and depending on the settings/sources, it can go a bit harsh and metallic, or slightly warm and more musical.

I am interested in getting fast transients, strong punch, to have the physical impact on drums etc. I want that sensation of live for rock (E.g. Porcupine Tree, Steven Wilson, Tool, Pink Floyd etc.) or more alert jazz. I also listen to a lot of experimental electronic, more downtempo or avantgarde. So, tight control on the bass is important to me, but I don’t want it to be very quick and short, without heaviness. At the same time, I want the voices to be as warm as possible and the highs not harsh considering that I want everything else to be pretty fast. I know there must be a compromise somewhere, so I am trying to find that. What seems to be working quite well for me so far is the gauss-hires-ip with ASDM7EC-super. By comparison, gauss-long with ASDM7ECv3 is warmer, more analogue like, feels like vocals and highs are sweeter and I like that, but it’s not as fast as I want it to be. Also, i use the hires-ip filter for all sources (1x, nx).

I know it’s a long shot and not sure if my observations with my choices and my preferences even make sense from a technical point of view (basically if the combinations I mentioned and the sound differences make sense), but my question is, do you have any other suggestion for me to try to find that balance of speed and musicality to accommodate the preferences I mentioned? Also, is it ok to use hires-ip for both 1x and nx?

Thx in advance! Also, great job with this piece of software!

My Pink Floyd filter is poly-sinc-short-mp-2s, for me it works nicely in particular with older prog rock recordings. Other than that, I recommend trying poly-sinc-gauss-long, poly-sinc-gauss and poly-sinc-ext2. Maybe also poly-sinc-gauss-short.

I would recommend ASDM7EC-fast modulator.

4 Likes

If you notice when using HQplayer mobile version the filter path is sometimes cropped in a shadow. For this reason I want to bring out attention to a request to improve HQplayer path display, specifically on the mobile platform.

If you can please help vote :ballot_box: here:

Many thanks :pray:t3:

1 Like

Hi Jussi, Noticed some interesting things as I have been trying to optimize my setup in HQPlayer. My laptop is a Lenovo 7i with an AMD CPU and RTX 3060 (overclocked a little). I am able to achieve dsd512 at 48k with my Geshelli Jnog 2 (had to update the firmware on the Amanero USB) - kind of amazing considering the price of the DAC. Anyway, the things I am wondering about is the efficiency of of the various modulators and why I am able to pull this off using ASDM7EC-Super and Poly-Sinc-ext2 but not happening with ASDM7EC or ASDM7ECv2. Noticed it was spiking load with these on the GPU but Super runs a bit more with even load. Is this expected and are there other modulators that are more even on loading and do you think this is why super works vs the others?
Also, I tried using 44.1 DSD and letting HQPlayer down convert X48k tracks to 44.1 but that did not work but if I enable 48k with gray adaptive rate it runs just fine at 48k dsd512 - this was counter intuitive but interesting considering it requires upscaling all 44.1 content. I am also running convolution filters in pipeline at 192khz so I am wondering if I am seeing better behavior with the upconversion because it is already doing this with the convolution at 192k and it is keeping the same x 48k when converting to dsd512 (less conversions) or is something else os going on? Whatever is the case it is working great and very impressed with how it sounds but I am interested in why and it maybe helpful to others.

Older modulators like ASDM7EC, ASDM7ECv2 or ASDM7ECv3 don’t have the optimizations the newer ones have. So they burn more CPU time for less.

This depends on the selected filter. Please see the filter table in the manual and select a filter that has “Any” in the possible conversion ratios column.

Convolution is performed at the source content rate. Only exception for the case is when source is DSD and output is PCM; in such case convolution is performed at 1/16th of the DSD source rate.

thanks Jussi! Really great product that elevated my headphones and stereo performance and most of all enjoyment!! Any future upgrades planned? and what are the 2s filters? Didn’t see anything mentioned in the manual or maybe I am missing it.

1 Like

I had a networking issue, replaced an ethernet cable and voilà!

DSD1024x48 + AHM7EC8 now works with basically every filter, even with DAC on! it’s incredibly efficient, well done! (Mac Mini M4 base).

Would you say that’s the best shaper for 1024 Jussi? how would you compare it to AMSDM7EC 512+fs or ASDM7EC super 512+fs in terms of performance for that rate?

1 Like