HQPlayer feature requests

I haven’t seen any feature request threads for HQPlayer, so lets help @jussi_laako with some new ideas to improve the excellent HQPlayer software.

Here are my feature requests:

  • Fix Roon/HQPlayer interaction to stop cutting of end of tune when next tune has another sample rate. I believe this is being worked on.
  • I would love some more basic DSP features, for example:
    – adding configurable harmonics to get a little tube-flavor in sound (strength, even/odd, etc).
    – stereo-width (widening) control
    – adaptive loudness (somewhat similar to the one in RME DAC), the difference when having to listen on low level is quite big.
  • Better AMD and Windows optimization
  • Better handling of multi-threading, the monster-CPU Ryzen 5950x with 16 cores should be much better than a 4 core 5Ghz Intel CPU.

Lets see your creative ideas :slight_smile:

Some notes regarding the above requests:

  • configurable harmonics. Such sound affects would seem to be a departure from the basic principles of HQP, which imo are about technical solutions to achieve fidelity. Tube sound from adding distortion is a very different concept from using tubes to amplify;

  • better AMD and Windows optimisation. I’m not sure whether this is a Windows issue or an HQP issue;

  • better handling of multi-threading. Some operations in HQP, such as modulators, are not conducive to multi-threading and depend upon single core speed. Large multi-threaded chips may perform those tasks worse than faster chips with fewer threads. Also there is an overhead associated with parallelisation. After a certain point adding more threads to a task may not make it any faster.

As far as my own requests go, I don’t know enough about the technical aspects to know what is possible, but improved optimisation for the CPU intensive EC mods and long filters would be welcome.

1 Like

This is already there through ReplayGain 2.0 spec. You can process your files to have the needed tags added and then choose whether HQPlayer should use this data during playback.

These depend on the tasks you want to run. Some things are mathematically such that the work cannot be parallelized efficiently. And there is nothing that can be done about it. It is not related to AMD vs Intel. Intel also has some monster X-series and Xeon CPUs that are not so great choice for HQPlayer use either.

Best is to ask AMD and Intel to improve their cross-core communication efficiency to same level as Apple’s ARM64 (M1) CPU. That would allow some more work split.

I don’t think thats exactly what I mean. Here is how I used it on RME when I used volume from RME (now I have RME at fixed volume 0, ref at +1 and autoref disabled):

  • At volume -30 or higher, volume is high enough so no loudness is needed
  • At volume between -30 and -50, loudness kicked in with continuous more effect the closer to -50 volume gets.
  • I had +5dB for lower frequencies and +4dB treble at max loudness level (i.e. when volume was -50 or lower).

Note that this has to be configurable and cannot be pre-set, since listening volume depends on amplifiers and speaker sensitivity.

You could do this with matrix profiles and IIR EQ. So you can enable this loudness curve when you want to.

No, you are missing the point. It has to be tied to the volume you play, so you get more loudness the less volume you play. And of course without adding or changing anything except volume.

Check page 14 in the RME fs DAC manual: https://www.rme-audio.de/downloads/adi2dac_e.pdf

I think this would need some variable bindings for the IIR EQ, so that one variable could be controlled by another variable. Maybe scriptable. There are no “bass and treble” controls either, but the IIR EQ can do that in a more flexible way.

If the ADI-2 DAC can do it with it’s limited processing power and negligible latency added, you/HQPlayer can do it where there is comparatively almost no processing limitations and latency isn’t a concern

It’s a really useful function

Well, ADI-2 cannot do it at 705.6/768k PCM rates nor DSD. But it is not about processing power, but instead finding time to do it and deciding how to do it. It is not high priority feature, since not many would use it.

1 Like

Exactly why would be great feature to HQPlayer.

It may end up being a very used feature, once it’s there.

It’s quite a popular feature on ADI-2 threads on various forums and maybe something not many people thought they’d use until they tried it.

For those unfamiliar with this RME ADI-2 feature, from the manual:

8.5 Loudness

Another legacy of HiFi amplifiers: there has not been a single one missing a feature called Loudness. It tries to address the changes in frequency-dependent hearing sensitivity over differ- ent volume levels. If one listens to music loud, then drops the level by at least 20 dB, sound los- es punch and glitter. HiFi amps tried to fight this effect by adding more bass and treble the lower the volume was set. Unfortunately that never worked as intended, and just became an additional bass/treble booster. Reason: the manufacturer of the HiFi amp could not know what volume any position of the volume knob equals at the customer’s home. Room size, room dampening and efficiency of the used speakers are all unknown.

But the effect of loss in perceived sound exists (read about the Fletcher-Munson curves), and can be easily reproduced with any serious gear by comparing normal volume and DIM state (usually -20 dB). The ADI-2 DAC offers Loudness for the analog stereo outputs, and probably is the first time that Loudness works as intended. The user can decide how much maximum gain in Bass and Treble should occur at lower volume settings. The user also sets the Low Vol Ref- erence, where maximum gain is achieved. After extensive tests a 20 dB range has been defined as range for maximum gain to no gain while increasing volume. That seemed to be the perfect definition of the range that needs to be addressed by Loudness.

Here is an example on how it works: the user’s typical lowest level listening volume is at -35 dB at the unit. This value is now set by the user as Low Vol Ref in the Loudness menu. Then Bass and Treble Gain can be set between 0 and +10 dB. Default is +7 dB for both. Increasing the volume by turning the Volume knob causes the gain in Bass and Treble to be lowered smoothly over a range of 20 dB. So when Volume is set to -15 dB, the music is not only quite loud, but Loudness’ Bass and Treble are then at 0 dB gain. See chapter 31.6 for graphs.

No matter how sensitive the connected phones or speakers are, no matter how much increase in Bass and Treble are desired – with the ADI-2 DAC one can finally adjust it to meet the per- sonal hearing and taste. Loudness finally works as it should have worked from the start - anoth- er unique feature in the ADI-2 DAC.

Note: Loudness works best in Auto Ref Level mode due to the seamless dBr scale of the vol- ume control. Without Auto Ref Level active, manually changing the Ref Level will change the volume without changing the VOLume value (dB). As Loudness is referenced to a ‘Low Vol Ref’ setting it then might no longer work as intended, and needs the Low Vol Ref value to be adjust- ed.


1 Like

If you have to listen at low level, for example with sleeping kids (or wife), its a pretty awesome feature.

HQPlayer might be best known for up-sampling, but since there is already some high-quality DSP in there I would love to see more DSP in HQPlayer, for example with this feature or sound-tuning functions like adding saturation/harmonics or stereo-width control. I have a feeling a lot of people would end up using some or all of them, even if they don’t know it now.

Distortion generators are not in scope for HQPlayer. Goal is to improve accuracy of music reproduction. Loudness function is a borderline case that may still be in, like cross-feed already is.

1 Like

Hi @jussi_laako

I already use Matrix profiles a lot.

But would it be possible to have Config profiles?

Various config presets?

I have different NAA’s that are a mix of 2 channel, 6 channel and 8 channel and a mix of different output modes, sample rates, modulators etc.

Would be nice to be able to a preset/profile for each NAA.

If you consider changes to signal/sound done in DSP as distortion than a convolution file also adds distortion. I played around a little with these things at one time when I used a VST host for DSP, and being able to tweak the sound-signature in DSP is pretty nice.

Maybe this, or something similar, could be done in a filter instead.

Btw, a harmonics/saturation function would at the end reduce distortion, since the only alternative is to buy a tube-amp or tube-dac, and then you add a lot more distortion then harmonics.

You export the settings to a file and then to select a “profile” you import the wanted settings file. So the functionality has already been in the File menu for a long time.

1 Like

Adding harmonics is about adding distortion. Convolution is to correct errors in the system. And loudness could be seen as correcting errors in the hearing. But I cannot see what would adding distortion correct.

Adding harmonics = adding harmonic distortion.

1 Like

Ooops I was talking about Embedded.

Also possible?

Well, lets not get stuck into what is distortion or not (my feel is that distortion is unwanted, and changes done in DSP is something else).

In my view, HQPlayer is about fine-tuning and improving the sound quality of your HiFi, and as such it would be nice with some more DSP functionality. And as always, sound-quality is at least partially subjective.

Also, and I might not be 100% correct here, but I think a room adds harmonics (or a similar effect), and more acoustic treatment lowers this harmonics. With this in mind, a overly treated room would need some extra harmonics or saturation to sound good.

Maybe your thinking about some FX like reverb or compression/expansion? Pretty common plug-ins for a DAW or other player software… What might be interesting is if HQplayer could “host” VST and/or AU plug-ins…