HQPlayer Impressions and Settings Rolling Thread
Feb 17, 2024 at 3:14 PM Post #661 of 1,426
Curious what volume level folks have HQ player set ? I read some threads about using -3 db (to avoid "pops).

What are you folks generally running at ?
Max at -3 but I typically run at -8 to provide additional overhead for any EQ settings I might invoke in HQP.
 
Feb 17, 2024 at 4:05 PM Post #662 of 1,426
Curious what volume level folks have HQ player set ? I read some threads about using -3 db (to avoid "pops).

It is not recommended to set volume higher than -3 dB since upsampling increases dynamic range and the maximum value which can be coded in fixed point PCM data representation is 0dB. Using upsampling with source content mastered up to 0dB would result to so called limitation, which is a form of distortion.

In HQPlayer settings one can set minimum and maximum wished volume level. It will be reflected in the HQPlayer volume knob.

Typical headphone setup contains headphone amplifier with analog volume control. In such a setup I would recommend to use HQPlayer volume level somewhere between -12 and -3 dB. Simply listen to some music and try what sounds better for your ears. As you for example lower digital volume level, compensate it with increased analog volume level. DACs usually have lower distortion at -10 dB than at 0dB, so it makes sense to try what sounds best for you.

It is not recommended to lower digital volume level for more tens of dB since every 6 dB of lowered volume means lost of 1 bit of digital resolution.
 
Feb 17, 2024 at 6:16 PM Post #663 of 1,426
It is not recommended to set volume higher than -3 dB since upsampling increases dynamic range and the maximum value which can be coded in fixed point PCM data representation is 0dB. Using upsampling with source content mastered up to 0dB would result to so called limitation, which is a form of distortion.

In HQPlayer settings one can set minimum and maximum wished volume level. It will be reflected in the HQPlayer volume knob.

Typical headphone setup contains headphone amplifier with analog volume control. In such a setup I would recommend to use HQPlayer volume level somewhere between -12 and -3 dB. Simply listen to some music and try what sounds better for your ears. As you for example lower digital volume level, compensate it with increased analog volume level. DACs usually have lower distortion at -10 dB than at 0dB, so it makes sense to try what sounds best for you.

It is not recommended to lower digital volume level for more tens of dB since every 6 dB of lowered volume means lost of 1 bit of digital resolution.
Interesting point re DACs usually handling a -10dB signal better than a 0dB (or presumably -3dB) one. Not something I'd read before.

Re digital resolution loss from use of software volume controls, I'd understood Roon and HQP have 64 bit volume controls that are near lossless for attenuation in the say 0 to -20dB range?

Googling on this point to check my recollection I came across this general volume optimisation guidance by Jussi, which factors in managing/minimising the imperfection of your typical analogue preamp when attenuating a signal...

Screenshot_20240218_112812_Chrome.jpg

https://community.roonlabs.com/t/roon-dsp-volume-vs-hqplayer/230875/27
 
Last edited:
Feb 18, 2024 at 1:41 AM Post #664 of 1,426
Interesting point re DACs usually handling a -10dB signal better than a 0dB (or presumably -3dB) one. Not something I'd read before.

This is SMTPE Ratio measurement of May from L7audiolab.com site. SMTPE ratio is a way how to measure intermodulation distortion.
Different DACs show slightly different graph curve, but distortion at 0dB is usually higher than at few dB lower signal level.

1708236713919.png


Re digital resolution loss from use of software volume controls, I'd understood Roon and HQP have 64 bit volume controls that are near lossless for attenuation in the say 0 to -20dB range?

With digital volume control quantization error remains constant, since digital data format does not change, just each 6dB attenuation means something like shifting bits right by one position, adding zero on beginning. Signal level gets lower, but quantization error level remains the same. So you get lower dynamic range and S/N ratio.

A simplified explanation: For example with 20 bit DAC resolution and 16bit recording you have few bits available for digital volume control without shifting source audio content below DAC noise floor. But if you would attenuate by for example 48 dB, what means shifting 8 bits right, some bits of original recording would be lost below DAC noise floor.

On the other side, with analog volume control you attenuate everything, including noise, which is part of audio signal. So S/N ratio remains the same (if your headamp including volume pot behaves ideally). Headamps add their own noise/distortion, so the overall picture is more complicated, but that's the principle.

general volume optimisation guidance by Jussi

That's OK, but this description is rather for people on loudspeaker system who don't have analog volume pot easily accessible and use HQPlayer digital volume control to adjust volume level to recording and maybe daily hour. Here on head-fi we are using headphones and we have headamp volume pot easily accessible. I prefer to use analog volume control of headamp for small adjustments - it does not have steps.
 
Last edited:
Feb 18, 2024 at 3:52 AM Post #665 of 1,426
This is SMTPE Ratio measurement of May from L7audiolab.com site. SMTPE ratio is a way how to measure intermodulation distortion.
Different DACs show slightly different graph curve, but distortion at 0dB is usually higher than at few dB lower signal level.





With digital volume control quantization error remains constant, since digital data format does not change, just each 6dB attenuation means something like shifting bits right by one position, adding zero on beginning. Volume level becomes lower number, but quantization error level remains the same. So you get lower dynamic range and S/N ratio.

A simplified explanation: For example with 20 bit DAC resolution and 16bit recording you have few bits available for digital volume control without shifting source audio content below DAC noise floor. But if you would attenuate by for example 48 dB, what means shifting 8 bits right, some bits of original recording would be lost below DAC noise floor.

On the other side, with analog volume control you attenuate everything, including noise, which is part of audio signal. So S/N ratio remains the same (if your headamp including volume pot behaves ideally). Headamps add their own noise/distortion, so the overall picture is more complicated, but that's the principle.



That's OK, but this description is rather for people on loudspeaker system who don't have analog volume pot easily accessible and use HQPlayer digital volume control to adjust volume level to recording and maybe daily hour. Here on head-fi we are using headphones and we have headamp volume pot easily accessible. I prefer to use analog volume control of headamp for small adjustments - it does not have steps.
Thanks for the explanation. Interesting.

In practice I do as it sounds like you do, I think, set and forget HQP vol at -3dB then use my Athena preamp to control volume (thankfully it has a remote), with just some occassional limited use of Roon/HQP vol.

I do think part of Jussi's advocating for that approach to optimising volume is his view preamps perform less linearly and colour the sound more the more they attenuate volume... so - in his view - the lesser of two evils is use of a high quality digital volume control to minimise preamp attenuation. In this same vein he so advises setting power amps on lower gain settings where possible to lessen the extent of analogue preamp attenuation (this I coincidentally already do with my Hypex Nilai, lets me run the preamp with very limited attenuation.. sounds a little better to my ear ).
 
Feb 19, 2024 at 1:18 AM Post #666 of 1,426
I do think part of Jussi's advocating for that approach to optimising volume is his view preamps perform less linearly and colour the sound more the more they attenuate volume... so - in his view - the lesser of two evils is use of a high quality digital volume control to minimise preamp attenuation. In this same vein he so advises setting power amps on lower gain settings where possible to lessen the extent of analogue preamp attenuation (this I coincidentally already do with my Hypex Nilai, lets me run the preamp with very limited attenuation.. sounds a little better to my ear ).

It does not make sense to digitally strongly attenuate and then to amplify, because as I explained above with stronger digital attenuation you lose digital resolution. Therefore every serious approach will suggest low digital attenuation. Low level of digital attenuation is suitable to avoid limitation during signal processing in HQPlayer and also to avoid intersample overflows in DAC if PCM output is set in HQPlayer and you are using a delta sigma oversampling DAC.

One can use DAC with digital volume control as the only preamp in loudspeaker setup, but that's suitable only when power amp gain is low enough to bring maximum really usable listening level with no attenuation. Then you don't need to attenuate much digitally and even max. signal level will not destroy your loudspeakers. If one can fine tune loudspeaker sensitivity and power amp gain this way, no analog preamp is needed. The advantage is no added distortion or possible channel imbalance of analog preamp. With stronger gain such a setup brings risk that accidental full level output could destroy your loudspeakers.

So using analog preamp in loudspeaker setup brings advantages and disadvantages. Main advantage is retaining dynamic range when attenuating (noise lowers with signal level), disadvantage is adding its own noise and distortion.
 
Feb 19, 2024 at 1:59 PM Post #667 of 1,426
Curious what volume level folks have HQ player set ? I read some threads about using -3 db (to avoid "pops).

What are you folks generally running at ?
-3dB is typically the recommended maximum to avoid clipping, however I would still get clipping at -3dB (on poorly mastered recordings) so I used to bump it down to -4dB when I first started using HQP. (Volume dial will turn red in HQP to indicate clipping)

Lately I use -10dB (see @bogi posts for a more detailed explanation on lower distortion with some DACs). This also gives me the added benefit of more attenuation on my preamp (GS-X MK2 which only has a DACT 24-Step attenuator)
 
Feb 20, 2024 at 11:54 PM Post #668 of 1,426
-3dB is typically the recommended maximum to avoid clipping, however I would still get clipping at -3dB (on poorly mastered recordings) so I used to bump it down to -4dB when I first started using HQP. (Volume dial will turn red in HQP to indicate clipping)

Lately I use -10dB (see @bogi posts for a more detailed explanation on lower distortion with some DACs). This also gives me the added benefit of more attenuation on my preamp (GS-X MK2 which only has a DACT 24-Step attenuator)
I use -5dB because occasionally on very bass intensive tracks it would clip.

Btw I was able to get my SMSL SU8s to play DSD512 with HQP, apparently I was using WASAPI instead of ASIO drivers from XMOS, but now I can get full use of my DAC. Tbh, not noticing a huge difference.
 
Feb 21, 2024 at 8:27 AM Post #669 of 1,426
Technically a modulator and noise shaper are sort of the same thing, though modulator specifically implies modulating to a lower bit depth.

Basically, when you convert a higher bit depth piece of info to a lower bit depth piece of info, you encounter a 'quantization error'. Simple example of this:

- You have a device with a maximum output of 3V
- You need to output exactly 2V
- This can be accurately represented by a 2-bit system, because two bits can be '11' (100%/3V), '10' (66%/2V), '01' (33%/1V) or '00' (0%/0V). So you just choose '10' and you're good.
- If you now wanted to get this output with a 1-bit system, you can't do it accurately. A 1-bit system can only be '1' (100%/3V) or '0' (0%/0V). And so picking the closest value of '1' (3V), you now have a quantization error of 1V, the difference between the value you intended and the actual value.

This can be shown visually too. Here for example is an image on the far left, represented with 8-bit accuracy, meaning there are 255 different possible shades from black/white that can be used to represent each pixel.

1708118333683.png

If you now wanted to represent each pixel with just 1-bit, meaning ONLY pure black or pure white, you can do so by just throwing away the bottom 7 bits and keeping only the top bit '1' (black) or '0' (white). But you've thrown away all the finer detail information about the particular shade and this leaves a fairly inaccurate result due to what is called truncation distortion.

We can address this by dithering, which is the process of intentionally adding some random noise to prevent any strong signal-correlated truncation distortion errors. This can get us closer to a more perceptually ideal result, but it's still not perfect.

We can take things a step further by applying dithering in a more advanced way, called noise-shaping. This means that rather than noise being added in a more random fashion and evenly distributed, a feedback loop system is employed to correct remaining noise/quantization error and provide more dynamic range within the area we want or the area of perceptual relevance, and shape the quantization error out to areas where it's not as much of an issue.

In audio, this means that the noise shaper is designed in a way which provides higher dynamic range in the audible band itself, and shapes the quantization errors out to higher frequencies, where they can just be filtered out with an analog filter.

This image shows a 1khz signal, represented by 768khz 8-bit PCM. No dithering was applied, and so we can see unwanted extra content, truncation distortion.

1708119460410.png

Now if we apply some standard TDPF dither, this adds a small amount of random noise, but in doing so removes the truncation distortion and actually results in better effective dynamic range:

1708119153181.png

We can then try with a noise shaper, HQPlayer's LNS15 noise shaper in this instance, which prioritises dynamic range in the audible band, and shapes the noise out to higher frequencies and gives us even better dynamic range up to about 100khz, and the higher noise above 100khz can just be filtered out by the DACs analog filter:

1708119270807.png


Noise shaping can be applied when upsampling just in PCM as shown above, because the new samples generated as part of the upsampling are only as accurate as the bit-depth of the output allows. They can't perfectly represent the ideal real value, so quantization error is still a concern even though you're not actually reducing bit depth.

But when doing upsampling + modulation, such as converting 16 bit PCM info to higher rate, 1-bit DSD info, you have enormous quantization error, and thus there's a lot of work for the modulator to do to try to get a high dynamic range output in the area you want.

SUPER TLDR:
Even if something can only be 'on' at 100% or 'off' at 0%, you can still get an output of say 80% by turning it off and on a hundred thousand times rapidly, with it being 'on' about 80% of the time, and then filtering out the excess high-frequency noise.
Btw have you done any comparisons between NS5 and LNS15? I prefer NS5 with May most of the time as LNS15 sounds kind of sterile, but would be interesting to see how they compare in measurements @ 24 bit. Also a youtube video on how to make these pictures would give you a new subscriber :)
 
Feb 21, 2024 at 2:40 PM Post #670 of 1,426
Feb 23, 2024 at 6:24 PM Post #671 of 1,426
Btw! Change modulator, try different song, change modulator, switch song back. Sometimes it gets stuck somehow. It's quite rare, but happens like every 3m or so. My theory is that something goes wrong in how it handles RAM/cpu cache or something and it can't recover. Switching to different modulator and starting different song flushes memory and you start from clean slate. Just my guess. When it gets into that state, switching songs isn't enough, I need to try different modulator. Even restarting hqplayerd alone doesn't help, but that modulator trick does it.

If you have a usage pattern to reproduce this, please email me. I can look into it. Also, is this with NAA or local output?
 
Feb 23, 2024 at 6:34 PM Post #672 of 1,426
If you have a usage pattern to reproduce this, please email me. I can look into it. Also, is this with NAA or local output?
Welcome to HF Jussi, nice to see you here. A recent HQP5 upgrader here, really enjoying it.
 
Feb 23, 2024 at 7:09 PM Post #673 of 1,426
If you have a usage pattern to reproduce this, please email me. I can look into it. Also, is this with NAA or local output?
Wow! Welcome Jussi. This thread is about to get a lot more informative. Thank you for your amazing software and top notch (personal) customer service across all the various forums

@jlaako if you respond to your welcome email you should be able to get a Mod to change you from a new head-fier to a Member of the Trade

IMG_4741.jpeg
 
Last edited:
Feb 23, 2024 at 7:19 PM Post #674 of 1,426
If you have a usage pattern to reproduce this, please email me. I can look into it. Also, is this with NAA or local output?
Welcome Jussi, being enjoying your software for a few months now, it's incredible, thanks!
 
Feb 23, 2024 at 7:28 PM Post #675 of 1,426
Interesting - so if I feed 7XX (say 705) content to a two stage filter, it's computing to 11280 (DSD128) then another 4x to 45120 if I'm outputting DSD1024?

Then the first stage is 705.6 x 16 = 11.2896 MHz and second stage takes it from there. If the output rate is within this, or less than this, then the filter runs as single stage with just the first stage. First stage cannot be bypassed, it is active even if the conversion is 1:1 or 2:1 or what ever.

This is opposite of what DAC chips do.
 
Last edited:

Users who are viewing this thread

Back
Top