Jump to content
IGNORED

HQPlayer Convolution Question


Recommended Posts

Hi @Miska, I have a question for you about HQP and convolution filters. 

 

You've always said to use the highest sample rate filter possible in HQP. I usually upload a 352.8 filter. However, this means my filters have less resolution because they are created for 65,536 taps at 1x sample rates. The 352.8 filter still has 65,536 taps

 

When I use Hang Loose Convolver, it upsamples the filter to 524,288 taps at 8x. 

 

Question: What is the best way to use convolution filters in HQP, a 65,536 tap 352.8 kHz filter, a 524,288 tap 352.8 kHz filter, or are you doing some magic that makes this irrelevant?

 

 

If I understand filters correctly, a 65,536 filter at 48 kHz has a resolution of 0.732 Hz, whereas the same filter at 352.8 kHz has a resolution of 5.383 Hz. Still good, but not as good :~)

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment
2 minutes ago, Miska said:

 

Usually filter design tools adjust the filter length as necessary to represent the wanted response.

 

Important point to remember though is that 352.8k rate filter can cover 176.4 kHz wide frequency band. If your filter is created for 48 kHz, it can cover only 24 kHz worth of bandwidth. If not HF expanded, this would result in source content frequencies above 24 kHz getting lost. Filter with 176.4 kHz wide bandwidth is enough for all practical purposes without expansion (but can be still expanded if one wants).

 

 

HQPlayer scales the filters to needed rate no matter what the filter rate is and what the source rate is. And it is not same as simple upsampling of the filter. Instead a specific algorithm designed for this particular purpose is used.

 

 

For many practical cases 64k taps is enough. That "resolution" means that you can have a brickwall filter that cuts from 0 dB to arbitrary attenuation within 0.732 Hz, or wihin 5.383 Hz.

 

How many taps your filter needs depends on how agressive (steep) frequency slopes the filter has. If it's rather gentle, not making drastic changes within very narrow few Hz bandwidth, it doesn't really need that many taps.

 

So far, for my convolution filters, I haven't really needed 64k taps. Usually it lingers around 16k taps or so.

 

Making drastic very narrow band changes usually sounds really bad. One reason is that such are extremely position sensitive. If your convolution filter has such, and you move your head by one inch, almost all such narrow steep corrections quickly become totally wrong. Higher the frequency the quicker.

 

Thank you Jussi!

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment
  • 3 months later...

Looking for some clarification..

 

if I’m using Audiolense and pulling sweeps @ 96khz does it make sense to create filters at rates higher than this?

 

I have been generating filters @ 352.8khz but not sure if it’s worth doing so.

Link to comment
29 minutes ago, Erik Haas said:

if I’m using Audiolense and pulling sweeps @ 96khz does it make sense to create filters at rates higher than this?

 

I have been generating filters @ 352.8khz but not sure if it’s worth doing so.

 

Yes, my recommendation is to generate filters for 352.8k. Then you don't need to use the "HF Expand" option and the filters sufficiently cover all PCM and DSD content.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...

@Miska I’m using 8 channels of convolution in the matrix pipeline and am observing a behavior that isn’t what I would expect. With a saved profile loaded and working, if I make a configuration change and hit ‘apply’, the values in the pipeline change to values of an old profile I used to use which was long ago deleted. Where is the program obtaining these values and why are they being loaded with a configuration change? I an running 5.5.0 Embedded.

 

Steve

Link to comment
1 hour ago, sledwards said:

if I make a configuration change

 

I didn't observe such a behavior but try this: After a change save your change to a named preset. Only then exit the Matrix pipeline dialog.

 

When you load a named preset, it is not enough to choose it in the combo box but you must also press the Load button.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

I just started with a clean hqplayerd.xml file and created one matrix profile. Loaded it and it worked. Left the Matrix tab and went to Configuration, changed a filter and hit apply. Waited the 10 seconds and returned to the Matrix page. All values in matrix are empty and the pipeline is not even enabled. I go to drop-down, select my one new profile and say Load. Everything is fine and and working again. Don’t understand why applying a configuration change is wiping out the current matrix settings.

Link to comment

I tried the thing you described with HQPlayer Desktop on Windows and there is no such behavior. I am not familiar with Embedded interface. If you aren't on the latest Embedded version try that one.

 

Maybe somebody using Embedded will chime in. If not, drop a mail to info @ signalyst . com with the issue description.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
14 hours ago, sledwards said:

@Miska I’m using 8 channels of convolution in the matrix pipeline and am observing a behavior that isn’t what I would expect. With a saved profile loaded and working, if I make a configuration change and hit ‘apply’, the values in the pipeline change to values of an old profile I used to use which was long ago deleted. Where is the program obtaining these values and why are they being loaded with a configuration change? I an running 5.5.0 Embedded.

 

It is same behaviour on both Embedded and Desktop. When you click Apply in Embedded, or OK in Desktop, the currently shown settings are saved as the unnamed default matrix setup that is loaded when you start HQPlayer, or select the "[Default]" profile in Client. When you click Load in either one, the profile is loaded as the currently active one, equivalent of selecting another profile in Client.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
6 hours ago, Miska said:

 

It is same behaviour on both Embedded and Desktop. When you click Apply in Embedded, or OK in Desktop, the currently shown settings are saved as the unnamed default matrix setup that is loaded when you start HQPlayer, or select the "[Default]" profile in Client. When you click Load in either one, the profile is loaded as the currently active one, equivalent of selecting another profile in Client.

 

Left the web interface with values set in the matrix, stopped and started the hqplayerd process, returned to matrix and this is what I have. I can load default profile or named profiled and it returns, but as you stated, it should have been loaded in startup.

image.thumb.png.26e36668505ed818649de03aa513eec2.png

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...