Using several convolution files in series with HQPlayer - HAF and multiway filters

One disadvantage of HQPlayer over Roon DSP is that it cannot “chain” several convolution filters, for example one for room correction and a second one for active filtering / channel separation.

In my case:

  • a 2 way --> 2 way Home Audio Fidelity convolution filter for Room EQ
  • a 2 way --> 8 way Rephase-generated convolution filter for 2 x 4 way speakers

I really wanted to have all processing done in HQPlayer so I found a way to combine the filters with good old convolverCMD.exe, this is reported here.

What I didn’t like is that the filters where very long, convolver adding 600ms of zeros at the beginning, and no way to apply a threshold to ignore the filter tails below let’s say -140dB (1e-7).

WIth the good advice of Thierry from HAF, I was able to build a simple Scilab script to take care of this, replacing the convolverCMD procedure.

The file is here together with my input filters and necessary Scilab library files. It should be easy for you to adapt to your case. Put all files in the same folder for things to work. Scilab is free to download on Let me know if you need help.

Once the filter have been generated, you can implement in HQPlayer matrix pipeline, here’s mine for example.

and with the shorter “all in one” filters I can do all processing in DSD, whoop whoop !

HQPlayer strips zero-tails, but doesn’t touch zeros at the beginning, because sometimes those are there on purpose for delay corrections…

I can put the filter chaining on my TODO-list, since it is makes life quite a bit easier.

1 Like