Jump to content
IGNORED

HQPlayer Convolution Questions


Recommended Posts

  • 9 months later...

@Miska Forgive me if this question has been asked and answered. In embedded convolution, could you possibly change the word “set” on current status to the actual file name I have loaded? I ask because I have several filters I may choose to switch between and knowing what is currently loaded would be helpful. 

Link to comment
19 hours ago, sledwards said:

@Miska Forgive me if this question has been asked and answered. In embedded convolution, could you possibly change the word “set” on current status to the actual file name I have loaded? I ask because I have several filters I may choose to switch between and knowing what is currently loaded would be helpful. 

 

File name is not retained, but instead the file is named using HQPlayer's internal naming scheme. This is because source path and thus namespace is not passed over. You could be uploading files with same file name from various source directories or computers.

 

For example you could be uploading from:

C:\Corrections\Room\left.wav

C:\Corrections\Headphones\left.wav

 

In both cases, HQPlayer sees only that the file is called "left.wav" while the two could be entirely different files. This is not an issue on HQPlayer Desktop...

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1 hour ago, jvvita said:

Nope. You have to generate the filers in REW, using the equalization tab. Then you generate one correction filter (.wav) for each speaker. Or you dial in the PEQ filters in Matrix - pipeline menu.

 

You can also export the PEQ filters from REW as .txt file and just load it to HQPlayer. This is best option if you are using REW. In REW, choose the "Generic" EQ type.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 2 weeks later...

@Miska

How important is it to include HQPlayer up-sampling when performing the measurements for creating the convolution impulse response filter?

 

Until now I used Dirac with a virtual output-->input called "Hi-Fi Cable" from VB-audio (https://vb-audio.com/Cable/#DownloadASIOBridge) to send the Dirac sweep to HQPlayer-->upsample-->DAC

 

Now I want to use "focus fidelity" instead of Dirac, but Impala (the measurement utility of focus fidelity) doesn't recognize "hi-fi cable" as an available output (since vb-audio doesn't support event driven mode)

 

Maybe there is another way to perform the measurements while keeping HQPlayer part of the signal chain?

 

The alternative is to skip HQPlayer and connect directly to the DAC, but some say that upsampling has positive effect on time smearing and possibly also on some room modes (less smearing in low freq --> less room modes. at least that is the theory/claim). If this is true then it would be best to measure with HQPlayer

 

Maybe one of these? :

https://vac.muzychenko.net/en/

https://virtualaudiostream.com/

http://www.virtualaudiostreaming.net/

 

 

Link to comment
10 hours ago, GMG said:

Maybe there is another way to perform the measurements while keeping HQPlayer part of the signal chain?

 

Hardware route is most reliable, there are some pieces of hardware that also make hardware level loopback possible. Some audio device output to some audio device input to HQPlayer.

 

10 hours ago, GMG said:

The alternative is to skip HQPlayer and connect directly to the DAC, but some say that upsampling has positive effect on time smearing and possibly also on some room modes (less smearing in low freq --> less room modes. at least that is the theory/claim). If this is true then it would be best to measure with HQPlayer

 

If you measure with a NOS DAC, it is especially important to keep HQPlayer in loop, otherwise NOS behavior will disturb the measurement (HF roll-off). For oversampling DACs, just use some sharp linear-phase filter if you cannot keep HQPlayer in loop.

 

Room/speaker correction deal with different things than D/A reconstruction, so otherwise risk of notable conflict for oversampling DACs is relatively small.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
15 minutes ago, GMG said:

i am using Chord Qutest, so I guess I should just go with straight connection?

 

You can, and it won't have notable difference in measurement results for things that matter for room/loudspeaker correction.

 

WTA will have some transient smear (because it rings like hell), but such things are not part of - or detected by the measurements in question.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 3 weeks later...

@Miska

if I use the Umik-1 microphone, which is 24bit 48, and a 24 bit 48 sweep to create the convolution filter, what do you recommend as the format for the impulse response?

the sw outputs all format from 44.1/48 to 352.8/384. 
80% of my library is local 44.1, the is Qobuz, and I upsample everything to PCM 768. 
 

thanks. 

Link to comment
15 hours ago, GMG said:

@Miska

if I use the Umik-1 microphone, which is 24bit 48, and a 24 bit 48 sweep to create the convolution filter, what do you recommend as the format for the impulse response?

the sw outputs all format from 44.1/48 to 352.8/384. 
80% of my library is local 44.1, the is Qobuz, and I upsample everything to PCM 768. 

 

I recommend using 352.8k convolution filters, with 64-bit floating point format. But also 32-bit integer and 32-bit floating point are fine.

 

If you are using Acourate, remember to check the "Brick" box.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
3 minutes ago, Miska said:

 

I recommend using 352.8k convolution filters, with 64-bit floating point format. But also 32-bit integer and 32-bit floating point are fine.

 

If you are using Acourate, remember to check the "Brick" box.

 

Thanks @Miska

i am using Focus Fidelity. 
I actually thought you would recommend leaving the filters at their native rate and let HQPlayer take care of the conversion. 
can you share why you recommend using the higher rate upsampled by the filter design sw?

Link to comment

I think your question has been asked by another Focus Fidelity user and answered on page 1 of this thread:

 

On 3/16/2021 at 4:14 AM, dm68 said:

I've recently started looking into convolution and generating filters using Focus Fidelity. This is probably a stupid question but I just wanted to check, does HQPlayer do the convolution before upsampling and therefore do I match the sample rate of the filter to the source material or HQPlayers upsampled output?

 

Convolution is performed at the source rate. (except DSD-to-PCM conversion case, where it is performed after conversion to PCM at 1/16th of the original rate)

 

You don't need to match the sample rate, but instead provide filter at highest rate of your content if possible. Preferably at 352.8 kHz rate (DXD material). HQPlayer then scales the filter to match the source rate, what ever that will be.

Link to comment
2 hours ago, Miska said:

If you are using Acourate, remember to check the "Brick" box.

In the newer Acourate version 2.0 there is a selection box.

44230492bh.png

 

2 hours ago, GMG said:

I actually thought you would recommend leaving the filters at their native rate and let HQPlayer take care of the conversion. 

The same consideration led me to deposit a filter with 44.1. Assuming that the interpolation of the HQPlayer is of higher quality than the interpolation in Acourate. Not that I would hear a difference. 😂

 

41 minutes ago, sledwards said:

Convolution is performed at the source rate...

You don't need to match the sample rate, but instead provide filter at highest rate of your content if possible. Preferably at 352.8 kHz rate (DXD material). HQPlayer then scales the filter to match the source rate, what ever that will be.

Since I listen to a lot of Reedbock material, the hit rate at 44.1 is quite high. The HQplayer does not need to interpolate the filter, as I understand it. 

 

Is there a loss of quality when the HQPlayer has to interpolate from 44.1 to e.g. 96?

Link to comment
4 hours ago, StreamFidelity said:

The same consideration led me to deposit a filter with 44.1. Assuming that the interpolation of the HQPlayer is of higher quality than the interpolation in Acourate. Not that I would hear a difference. 😂

 

Since I listen to a lot of Reedbock material, the hit rate at 44.1 is quite high. The HQplayer does not need to interpolate the filter, as I understand it. 

 

Is there a loss of quality when the HQPlayer has to interpolate from 44.1 to e.g. 96?

 

Yes, if you export filter at 44.1k, it doesn't need to get scaled for 44.1k source rates.

 

OTOH, then the filter covers only 22.05 kHz wide band. Which, as such, is not much of a problem if your measurement was such to begin with. But you should probably use the "Expand HF" option so that the filter is processed such way that it's frequency response extends beyond that 22.05 kHz limit to cover frequency range of hires content. Scaling higher sampling rate filter to lower sampling rates is somewhat simpler operation than scaling lower sampling rate filter for higher rates.

 

However, for example Acourate can generate such filters straight if you choose 352.8k output rate and select the "Brick" checkbox. Then you can leave the "Expand HF" off. These two functions are functionally equivalent.

 

 

If you use for example REW instead of Acourate, it always creates corrections based on parametric EQ (it's native operation). In such case it is better to export PEQ filter settings just as .txt file and import that to HQPlayer instead. Advantage is lighter processing and independence of the sampling rate. Because such parameters don't have sampling rate. Down side is less flexibility in terms of corrections. But for example Oratory headphone PEQ correction settings perform great in practice!

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1 hour ago, Miska said:

 

These two functions are functionally equivalent.

 

 

@Miska

the upsampling functionality may be the same, but who is doing a better job? HQPlayer or the filter creation sw (Accurate, Focus Fidelity, etc. )

Does HQPlayer upsample (HF expand) the convolution filter with the same settings used for the actual track up sampling? Or some “generic” upsampling?

Link to comment
1 minute ago, GMG said:

the upsampling functionality may be the same, but who is doing a better job? HQPlayer or the filter creation sw (Accurate, Focus Fidelity, etc. )

 

I don't think upsampling is correct term here.

 

1 minute ago, GMG said:

Does HQPlayer upsample (HF expand) the convolution filter with the same settings used for the actual track up sampling? Or some “generic” upsampling?

 

Absolutely not. Using same kind of rate conversion you use for music tracks would give wrong results.

 

HQPlayer uses scaling algorithms designed for this particular purpose.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
3 minutes ago, Miska said:

 

I don't think upsampling is correct term here.

 

 

Absolutely not. Using same kind of rate conversion you use for music tracks would give wrong results.

 

HQPlayer uses scaling algorithms designed for this particular purpose.

 

Thanks for clarifying,

now I can ask more clearly 🙂

who is using better scaling algorithms designed for convolution filters?

 

Link to comment
Just now, GMG said:

Thanks for clarifying,

now I can ask more clearly 🙂

who is using better scaling algorithms designed for convolution filters?

 

Think it this way:

1) You measure at some rate, this defines frequency bandwidth of your measurement

2) Based on this frequency and phase response, correction is calculated

3) Correction filter is generated for given sampling rate

 

Of course I don't know inner details of each tool how they operate. But above is my assumption.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
2 minutes ago, Miska said:

 

Think it this way:

1) You measure at some rate, this defines frequency bandwidth of your measurement

2) Based on this frequency and phase response, correction is calculated

3) Correction filter is generated for given sampling rate

 

Of course I don't know inner details of each tool how they operate. But above is my assumption.

 

Thanks, and thanks for your patience. 
 

I think that what I do t quite get relates to #3

 

i measured with a 48kHz sine sweep and captured with a 48kHz mic. 
my assumption is that the native correction filter is therefore 48kHz. Then if the sw outputs a WAV at any other rate it is done by some conversion/scaling algorithm. 
 

at the end I am trying to understand if it is better to use the native 48kHz filter with HF expand, or use the highest scaled filter (352.8kHz) and have HQPlayer downscale it when needed. Sonically speaking (not so much about cpu load)

Link to comment
51 minutes ago, GMG said:

at the end I am trying to understand if it is better to use the native 48kHz filter with HF expand, or use the highest scaled filter (352.8kHz) and have HQPlayer downscale it when needed. Sonically speaking (not so much about cpu load)

 

My recommendation has been to generate 352.8k filter in the design tool when possible. It is the most universal in use and has potential to hold more information than 48k one.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
10 hours ago, Miska said:

My recommendation has been to generate 352.8k filter in the design tool when possible. It is the most universal in use and has potential to hold more information than 48k one.

Thank you for the valuable information. I learned from it to increase the sampling rate already during the measurement. For example to 96kHz. This increases the Nyquist frequency (limit) to theoretically 48kHz.

 

The bottleneck is of course the microphone, but the anti-aliasing filter must come in later.

Link to comment
  • 2 weeks later...

After a break I have been using HQPlayer 4 Desktop for Windows again since two weeks or so, and I am loving it.

I tried my Acourate correction filters in 'Convolution setup' as well as 'Pipeline setup' (of course mutually exclusive) and initially both worked fine. However, since a week it only works with the former. When activating Pipeline setup, HQP crashes, whether I upsample to PCM or DSD. Any idea what could cause this?

 

audio system

 

Link to comment
1 hour ago, bodiebill said:

After a break I have been using HQPlayer 4 Desktop for Windows again since two weeks or so, and I am loving it.

I tried my Acourate correction filters in 'Convolution setup' as well as 'Pipeline setup' (of course mutually exclusive) and initially both worked fine. However, since a week it only works with the former. When activating Pipeline setup, HQP crashes, whether I upsample to PCM or DSD. Any idea what could cause this?

 

Just want to confirm by crash you mean HQPlayer closes? And not that it gets virtual stuck or similar?

 

If you can email me a log file with a note on time stamp when that happens, it could have some hints what is going wrong.

 

Also emailing me filters + HQPlayer settings.xml could help me to reproduce any crash. If I can reproduce a crash, I can very likely fix it too. Biggest problems are "ghost" crashes I cannot reproduce that randomly appear somewhere.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

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