Jump to content
IGNORED

HQPlayer Convolution Questions


Recommended Posts

2 hours ago, The Computer Audiophile said:

I'm looking through notes from @Miska and think I may understand the IR Gain and Gain Comp a bit better. 

 

The IR Gain is just an estimator of the boosting done by filters. If I have this correct, then there is a negative gain / boost by my filters that decreases the volume by -8.64216 dB. Is this correct?

 

But, I also have an email from Jussi that says the IR Gain shown is an increase / boost (even though there is a negative in front of the number).

 

I guess I'm lost. 

 

If the value is negative, then the estimated gain of the filter is negative (attenuation). In this case you can apply positive gain compensation.

 

If the value is positive, filter has some boost above 0 dBFS, in which case you should apply equivalent amount of negative gain compensation.

 

These are estimates and not always correct for all filters. So knowing the filter design parameters upfront helps. For example on REW it is easy to see what is maximum boost of the eq filters so one can bring the value over to HQPlayer compensation.

 

There are two gain estimators, result of the other one is only written to the log file, but not shown on the GUI. So for some more guidance, one can take a look at the log.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 7 months later...
18 hours ago, ericuco said:

@MiskaI am currently with @mitchco on DSP filters that are input to HQP and have two questions on convolution settings, one of which was addressed above but still not clear to me.

 

On page 25 of the HQP manual (Version 3.14.0) which discusses the Convolution panel settings, it states:

 

"When positive gain compensation is chosen, it is applied as negative gain when convolution is disabled from the main screen. This makes it easier to compare impact of the particular convolution setup."

 

Does that imply that the "Gain comp" does not do anything when convolution is enabled? In other words, the "gain" is not impacted from the "Gain comp" setting while convolution is enabled?

 

No, that applies only when gain compensation is positive value (gain). To avoid clipping/limiting, while having similar volume levels with convolution enabled/disabled, the positive compensation is performed as negative compensation (attenuation) for the convolution disabled case.

 

Negative values are processed as usual as attenuation on the convolution enabled case.

 

Idea is that for example if you have +5 dB boost at some frequency, the overall gain of the filter needs to be -5 dB to avoid clipping when full level signal hits that boost frequency. This means the perceived volume of the correction is 5 dB lower. If you compare the two cases without compensation by switching convolution on/off, the perceived volume of the convolution case is 5 dB lower. However, if you apply +5 dB compensation, it drops the non-convolution case volume by 5 dB, meaning you get same perceived level while not having danger of clipping...

 

18 hours ago, ericuco said:

Sidenote: convolution can be enabled/disabled from either the "main screen" and the "convolution screen". Correct?

 

Yes, the convolution dialog enable/disable switch is the main switch. If it is disabled there, you cannot enable it from main window. The switch in main window is on the fly toggle to quickly engage/disengage the convolution during listening.

 

Note that the main window switch doesn't control convolution configured through pipeline matrix. This is safety reasons because pipeline matrix is commonly used for dealing with active speaker cross-overs. Which is something you don't want to switch during listening.

 

Note! At the moment I'm doing big overhaul on how pipeline matrix plugins are handled, which will split this functionality further, then you can have completely independent convolution engine and pipeline matrix convolution plugin.

 

18 hours ago, ericuco said:

The impulse responses that I have received are 48kHz. As such, I should check the "Expand HF" box given that a lot of my source material is at 96k, 192k, etc. even though a lot is still 44.1k (CD quality).

 

Yes, that's the purpose of the function. Some tools like Acourate have equivalent function (Acourate calls it Brickwall extension) that allow creating filters for higher sampling rates than the measurement itself is. For such cases Expand HF is not needed.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...
2 hours ago, ecwl said:

But for Roon, what is happening is that your 352kHz convolution filter is 880k taps which is insanely high.

I think my convolution filter at 44.1kHz is only 66k taps. I suspect yours was 110k taps to begin with for 44.1kHz. But when I generated the convolution filters for higher sample rates in Acourate, they are still 66k taps. So my 352kHz convolution filter is still 66k taps which is why it won’t overwhelm my desktop to apply the convolution filter.

 

880k taps is pretty short. Given that with GPU you can process 16M taps at 12 MHz sampling rate without issue... :D

 

880k taps at 352k rate is just about two seconds long filter and shouldn't be much of an issue for a normal CPU either. (for comparison, you can try running HQPlayer's sinc-M filter at 352k rate, which is 1M taps)

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 2 months later...
35 minutes ago, 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.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
2 hours ago, Zauurx said:

Yes, but in the case of volume management by HQP (e.g. RME volume bypassing), DSDs are transformed into PCM and then DSD?

 

No, HQPlayer has two separate DSP engines. PCM engine for PCM outputs and SDM engine for SDM outputs. Both have all the same DSP functionality.

 

If you do volume management or any other DSP processing, you should always also do upsampling to increase headroom.

 

For example direct conversion from DSD64 to DSD256 with volume.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1 hour ago, dm68 said:

Thanks @Miska. One other question, I am using an NAA but could not work out how to include it while taking the measurments with REW so ended up plugging my DAC into the control PC. Does this change in signal path make much difference to the measurements and if so is there a way to route REW test signals through HQPlayer in order to keep the NAA in the signal path?

 

It doesn't change the result in a way that would matter. For my measurements I just use Toslink cable from the measurement computer to the DAC and use a measurement microphone. The only case where this could matter is if you use rePhase or Acourate or similar that does also phase corrections AND the DAC is using minimum-phase filter.

 

You should always try to make sure you are using linear phase digital filter when doing room correction measurements.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
4 minutes ago, dm68 said:

Hi Miska, Focus Fidelity does do phase corrections. So referrring back to my previous question is it at all possible to carry out measurements with REW via HQPlayer and the NAA and keep the signal path the same as during music playback.

 

I think you could export the test signal, play & record it and then import it afterwards. But I don't think it is usually worth the effort if you know/can choose the DAC's digital filters.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 4 months later...
19 hours ago, GMG said:

does it matter much if the filter for convolution is based on 44.1kHz or 48kHz rate families?

if my filter is 192kHz would the scaling to 176.4kHz cause any disadvantage  vs using a 44.1 based filter or even a native 176.4 filter? Or are the differences negligible for convolution purposes?

 

No it doesn't matter. If you can create convolution filter for 352.8k then that would be best.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
8 hours ago, bibo01 said:

Probably a measurement is made at 44.1 or 48 hKz, thus what is the best way to upsample it to 352.8 kHz? Can HQP Pro be used?

 

You shouldn't do that, there's no advantage in doing so and in addition it causes harm, because you lack the "HF Expand" feature. If you cannot create filter natively for 352.8k rate, so that it would have a real frequency response up to 176.4k, you should instead give HQPlayer the one created at measurement rate and let HQPlayer scale it using special algorithms created for the purpose.

 

Measurement rate itself doesn't necessarily matter if it's for example 44.1k, rather it matters how the filter is created from it. IOW, what happens beyond Nyquist of the measurement rate.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
9 minutes ago, GMG said:

1. is it possible to provide multiple versions of the filter (like in Roon), and therefore avoid the need for up/down scaling

 

No, there's no reason for such. And since HQPlayer doesn't have any limited set of supported source rates, the number of rates could be unbounded.

 

9 minutes ago, GMG said:

2. is the convolution performed before or after the up sampling? let's say my track is 44.1 and the convolution filter is 192 and the up sampling is set to 768, when and with which sampling will the convolution be done.

 

It is documented in the manual... Convolution is performed at the source rate, for PCM and DSD. Except when you are playing through DSD -> PCM conversion, in which case it is performed at 1/16th of the source rate, except if your conversion is set to "none".

 

9 minutes ago, GMG said:

In Roon the convolution is down after upsampling to the final sampling rate - claiming it will produce the best convolution results

 

I disagree.

 

If your source is 44.1k RedBook and thus has content up to 22.05k. Why would you perform convolution at 11.2M rate where there is no content between 22.05k and 5.6M?

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
8 hours ago, Ozan Bolat said:

To make clear for me when I'll create convolution filters : it is your opinion that there is not benefit in playing 96 file with 192 filter and then switching to 176.4 filter when playing a 88.2 or 44.1 file?

 

Yeah, especially if the filters are based on single measurement it is no different using different filters than letting HQPlayer scale the filters.

 

Since most tools don't support creating filters for DSD64/DSD128/DSD256 rates anyway, HQPlayer has capability to adapt filters for whatever rate is needed.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
8 minutes ago, Ozan Bolat said:

I would have thought that scaling down a 192 filter to convolve a 44.1 file would introduce sort of issues decimation and downsampling of a 96K recording into a 44.1 Redbook file do...

 

No it doesn't. And you are anyway dealing with a 44.1k file already.

 

8 minutes ago, Ozan Bolat said:

I intend to use Qobuz with 192 subscription and no intention to own 352.8 or 384 files : is 192 convolution filter enough or do I need to create 384 convolution filters for the Qobuz 192 files ? Does it matter if convolution filters are big (ie 1 Mo if 384 while 512K is enough with 192)?

 

If 192k is highest rate you use, then 192k filter is fine. 352.8k convolution filter is good for DSD sources though.

 

However, if you are using a tool like REW, it is better to use it's parametric EQ text file export instead of convolution filter. Because that way the whole process becomes much simpler and lighter (things like filter rate become totally irrelevant).

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
31 minutes ago, GMG said:

Side question. 
I believe Dirac applies both time and frequency corrections.


does that mean that if I loop back a sine impulse through a Dirac filter and capture the impulse response and then use this impulse response in a convolution engine (HQPlayer or Roon or any other) will I be loosing the time domain correction that Dirac applies or is all the information needed to reproduce the Dirac filter exist in the looped back impulse response I captured?

 

Yes, if you capture the impulse response, it will include both time and frequency domain corrections.

 

I think Dirac supports up to 192k these days? At that rate you'd cover most use cases already.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...
On 8/25/2021 at 3:55 PM, GMG said:

3. Tools-->EQ-->Filter tasks-->Export filter settings as text

 

I don't have REW at hand right now. But IIRC this should do it and export compatible description file.

 

On 8/25/2021 at 3:55 PM, GMG said:

Also, any special care needs to be taken in save options? (format - MiniDSP/SigmaStudio, Normalise samples to peak, Apply IR window before export, export min phase version of IR)

 

Check what is your highest positive gain EQ and apply that amount of negative gain compensation.

 

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Just now, GMG said:

I created my impulse response by a loop with Dirac, so I didn't create any EQ filter in REW. I suspect that if I just load the recorded impulse response and export the EQ filter it will be empty. Am I wrong?

 

Ahh, OK, then you will want to export the impulse response itself as WAV (mono, preferably 64-bit floating point). Try with IR Window applied. But do not convert to minimum phase as it would spoil any phase correction done by Dirac.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
2 minutes ago, GMG said:

thanks, I am using the WAV, but wanted to follow your recommendation to use the parametric version

Will have to check that I exported with IR window. 

 

If you don't have correction filter designed in REW, there's no parametric version to export. There's no way to export anything else than a regular convolution filter from a Dirac loop recording.

 

Just check for any applicable filter gain compensation needed. And check the result in HQPlayer's matrix dialog with the Plot-function to see if the result looks correct.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
3 hours ago, GMG said:

Exporting with IR Window significantly changed the resulting IR gain. I used to have negative 2.8dB and now it is positive ~10dB. Does that make sense?

 

Where do I see the IR Gain in HQP Embedded? I had to check this in Windows version...

 

Do not blindly trust that figure. Instead double-check with the plot function in matrix setup.

 

3 hours ago, GMG said:

Now that you made me aware of Matrix, is it better to use it for the convolution if I have different gain compensation for the right and left channels? I assume it will benefit the balance of the stereo image.

 

No, always use the same compensation for both channels, as the room correction impulses are already compensating any needed differences between the channels.

 

3 hours ago, GMG said:

If it is preferred to do so in Matrix, How do channels 1&2 map to left and right?

 

Yes, channel 1 is left and channel 2 is right. You don't need to change the mappings if you just want to use basic convolution stuff and such.

 

You don't need to run the processing under matrix necessarily, you can also leave it disabled and just use it for plotting the responses.

 

But make sure you don't have both convolution and matrix enabled at the same time. Because they are sort of mutually exclusive and mixing the two will result in confusing setup.

 

3 hours ago, GMG said:

And as long as we are on Matrix - will the loudness control work for Roon? or does it only work for HQPlayer direct and volume control by HQPlayer knob?

 

It works only with HQPlayer volume control, but Roon adjusts HQPlayer's volume when you output to HQPlayer.

 

3 hours ago, GMG said:

Will Adaptive Gain work with Roon?

 

Not at the moment, as there's no metadata coming from Roon. HQPlayer doesn't know where the track boundaries are or any metadata associated with the tracks. Roon would need to send relevant information to HQPlayer for it to work.

 

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
4 hours ago, GMG said:

Thanks 

I guess I did something wrong but after a few attempts to plot the 2 different impulse responses (with and without IR window) the web interface is stuck on config tab and I can’t go back to matrix, convolution, main, etc. 

only log and restore

 

i checked the config page and I can’t spot any wrong setting. It’s same as I had it. 

 

When you get stuck to config page, HQPlayer usually cannot access your DAC. Possibly some other process has taken control of it (Roon?). Reboot your machine and maybe it will start working again.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
4 hours ago, GMG said:

here are the 2 plots, with (green) and without IR Window

Can you give brief explanation to what IR Window is doing and why it might be better to use with

 

image.png.67da45dbb270cd3b67d819d85a5aa120.png

 

You can check out the REW manual. But it seems to remove the empty background noise stuff before and after the actual impulse response.

 

Green one seems to have over +10 dB gain while the red one is normalized to 0 dBFS.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
14 hours ago, GMG said:

What if I use REW to design a filter on the recorded Dirac loop using a flat target curve on 0db line then calculate the eq filter and inverse all the calculated gain coefficients?

 

No, don't do that, it doesn't make much sense. Then you could as well just design the filters straight with REW without Dirac and have a better result.

 

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