• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

A comparison of convolution engines

Keith_W

Major Contributor
Joined
Jun 26, 2016
Messages
2,929
Likes
6,801
Location
Melbourne, Australia
Introduction
Some members have systems where the audio crossover is performed by the PC. These are typically .WAV files that contain all the information required for the crossover to function: high and low pass filters, driver correction, room correction, delays for time alignment, etc. A convolution engine is required to host filters for the crossover. The job of a convolution engine is to "convolve", or blend the .WAV file with an incoming 2 channel audio signal in real time, and then feed the multichannel output to a multichannel DAC.

The incoming 2 channel signal can come from any source, e.g. a media player like Roon, JRiver, Kodi, Foobar; but also from streaming services like Spotify, Tidal, Qobuz, Idagio, etc. You may also want to play other digital sources such as HDMI, network audio, CD, TV, and so on. All of these sources will usually output in WASAPI or WDM (except for most dedicated media players), meaning that any convolution engine that accepts ASIO input only will require third party software to convert WASAPI/WDM to ASIO such as Hifi Cable and ASIO Bridge.

I made a quick survey of all the convolution engines I am aware of. View this in Google Sheets here.

1679828906612.png


Any feature listed in green is class leading. Any feature in red shows lack of that feature compared to the competition. Anything in yellow is neutral or unknown. The reason why lack of mention of a price in the website is listed in red instead of yellow is because purchasers need to know the price up front when comparing convolution engines. The fastest way to read the chart is to look at the columns and see which has the most green, then read the labels on left and weigh how important that feature is to you.

Some convolution engines (e.g. Convology XT) have been left out due to lack of information available on the web. I have not personally tried all these engines! This information was gleaned from websites and summarized into this table.

Recommended reading:
- Multi-Channel, Multi-Amplifier Audio System Using Software Crossover and Multichannel-DAC
- Comparing different convolution solutions (compares volume and delay between convolvers)

Notes:
- Comments, corrections, and criticism appreciated. I will edit all corrections into this post.
- This article is heavily Windows centric because your humble author only has experience with Windows. If I receive replies for other operating systems I will edit this post with a link to it.
 
I use two convolvers regularly. One for Windows audio:

And another for ASIO audio when doing studio work with my DAW, Reaper. It's called ReaVerb, a 'stock' (provided with Reaper) plugin intended for reverb impulse response files.

I use both with the same IR file, which I created using REW to generate a stereo EQ IR to compensate for speaker and room time and freq response effects. I used a procedure similar to what is shown here:

 
Thank you for your launching this nice thread, and also thank you for your kind referring to my project thread;
- Multi-Channel, Multi-Amplifier Audio System Using Software Crossover and Multichannel-DAC

Please find here (on the project thread) and here (remote independent thread post) the Hyperlink Index of my project thread and some of my related posts in remote threads.

Nowadays, I mainly use JRiver MC as music player, and DSP EKIO convolver as system-wide multichannel DSP (XO/EQ/delay/relative-gain) center.

Please note and correct your spreadsheet that EKIO also has very flexible unlimited parametric EQ features (ref. page 13 -16 of EKIO User Manual); in your sheet, does "Equalizer Included" mean this feature?
http://downloads.lupisoft.com/ekio/EKIO_user_manual.pdf

I assume you would be better including maximum sampling rate in convolver engine; in EKIO it is up to 192 kHz (and I assume the same for other engines, though.).

Also type of internal filter processing, FIR, IIR, Minimum Phase, etc. "EKIO uses IIR filters. The processing is done using a cascade of second order transposed direct form II biquad sections. Every calculation is done using 64 bit floating point numbers." (ref. here)

And, XO filter type selections and possible slopes: in EKIO we can select from BW, LR, Bessel:
BW: 6, 12, 18, 24, 30, 36, 42, 48 dB/Oct
LR: 12, 24, 36, 48 dB/Oct
Bessel: 12, 18, 24, 30, 36, 42, 48 dB/Oct


We need to understand and fully utilize ASIO digital I/O routing within PC using ASIO4ALL and Hifi Cable and ASIO Bridge; I hope the diagrams in my post here would be worthwhile in this respect.
Also these links;
VB-Audio Virtual Cable (donationware)
https://www.vb-audio.com/Cable/index.htm
VB-Audio Hi-Fi CABLE & ASIO Bridge (donationware)
https://www.vb-audio.com/Cable/#DownloadASIOBridge
ASIO4ALL (now 2.15);
http://www.asio4all.org/

Furtheremore, EKIO also can receive PCM digital audio signal from any other audio player software including internet browsers (for example YouTube listening) via WASAPI routing if you set Windows default audio output to VB-Audio HiFi Cable [WASAPI], as show in this diagram which I shared here.
WS004188.JPG
 
Last edited:
Not sure where U get the price for HQPlayer from but I was about buying version 5 today but the price is 249 euro + 19% VAT. So nearly 300 euro.

Maybe he increased the price with the new version?
 
Just for reference,,,

Many of DSP/Convolver engines have "Channel Delay" capabilities for "Time Alignment" adjustment all over the channels/SP-drivers.

The delay/time-alignment optimization utilities within convolver engines (by looping-back analysis), however, are not always fully validated and not always accurate/correct; for example as shared by @zergxia in his posts here and here on my project thread.

I strongly believe and suggest, therefore, that we need actual room air sound (test tone) microphone recording/analysis using independent fully validated methods/setup, hopefully using independent second PC.

As for my fully validated 0.1 msec precision time alignment (and SP transient assessment) methods and tuning procedures, please refer to my summary posts here and here.

Just for convenience, let me share the actual links;
- Precision measurement and adjustment of time alignment for speaker (SP) units: Part-1_ Precision pulse wave matching method: #493
- Precision measurement and adjustment of time alignment for speaker (SP) units: Part-2_ Energy peak matching method: #494
- Precision measurement and adjustment of time alignment for speaker (SP) units: Part-3_ Precision single sine wave matching method in 0.1 msec accuracy: #504, #507
- Measurement of transient characteristics of Yamaha 30 cm woofer JA-3058 in sealed cabinet and Yamaha active sub-woofer YST-SW1000: #495, #497


In case if you would be seriously interested in the precision test tone signals I prepared for these time-domain measurements and tuning, please simply PM me writing your wish.
 
Last edited:
Notes:
- Comments, corrections, and criticism appreciated. I will edit all corrections into this post.
As to HQPlayer:
It does provide individual channel delay, the number of filter banks are as many as you whish and also an Equalizer is included.
The manual will clarify how to use/set these.
 
HQPlayer has always existed in a Mac version as well.
 
The jriver column has some errors.

It supports 32 channels and it also supports per channel gain (before or after the convolver). You can use zones to support multi filter banks as well (not ideal but is possible) or you can script something using mcws as a remote API.
 
Thank you all for your input. I have updated the spreadsheet, but I have not updated the image in the first post yet. It is reproduced here for future reference. I will wait to see if there are any further corrections before I update the image in the first post.


Please note and correct your spreadsheet that EKIO also has very flexible unlimited parametric EQ features (ref. page 13 -16 of EKIO User Manual); in your sheet, does "Equalizer Included" mean this feature?
http://downloads.lupisoft.com/ekio/EKIO_user_manual.pdf

I assume you would be better including maximum sampling rate in convolver engine; in EKIO it is up to 192 kHz (and I assume the same for other engines, though.).

Also type of internal filter processing, FIR, IIR, Minimum Phase, etc. "EKIO uses IIR filters. The processing is done using a cascade of second order transposed direct form II biquad sections. Every calculation is done using 64 bit floating point numbers." (ref. here)

And, XO filter type selections and possible slopes: in EKIO we can select from BW, LR, Bessel:
BW: 6, 12, 18, 24, 30, 36, 42, 48 dB/Oct
LR: 12, 24, 36, 48 dB/Oct
Bessel: 12, 18, 24, 30, 36, 42, 48 dB/Oct

We need to understand and fully utilize ASIO digital I/O routing within PC using ASIO4ALL and Hifi Cable and ASIO Bridge; I hope the diagrams in my post here would be worthwhile in this respect.

I have updated the spreadsheet with this information - thank you. Follow the link in the first post to view the updated spreadsheet. I did not include type of internal filtering because this specification can not be found on the webpage of most of these convolvers surveyed. As for ASIO4ALL and HiFi Cable, I consider it a minus to require third party software for the convolver to accept WDM. For the record, I have tried HiFiCable and it does not work for me - for some reason, latency and packet loss is extremely high and this manifests in audible clicks and pops.

As to HQPlayer:
It does provide individual channel delay, the number of filter banks are as many as you whish and also an Equalizer is included.
The manual will clarify how to use/set these.

HQPlayer supports an unlimited number of filterbanks?

Not sure where U get the price for HQPlayer from but I was about buying version 5 today but the price is 249 euro + 19% VAT. So nearly 300 euro.

Maybe he increased the price with the new version?
HQPlayer has always existed in a Mac version as well.
The jriver column has some errors.

It supports 32 channels and it also supports per channel gain (before or after the convolver). You can use zones to support multi filter banks as well (not ideal but is possible) or you can script something using mcws as a remote API.

Thanks all. Updated.
 
Why not include Equalizer APO? ___I myself never tried it yet, though.
 
For CamillaDSP there are no channel count limitations that I am aware of, I am currently using it with 22 output channels. I am not sure what is the point of the filter bank row but CamillaDSP can implement multiple mixers which means you can put filters on input and output channels (and even intermediate channels if you wanted). It can also do dynamic loudness volume control by using the "loudness" filter instead of the "volume" filter, this is completely customizable.

Michael
 
As for quick survey of convolver engines, @doodski's two wonderful threads here and here would nicely serve as "first at-a-glance lisits", I assume.
 
HQPlayer supports an unlimited number of filterbanks?
yes. The "Convolution" setup is simplfied. The "Matrix Pipeline Setup" offers the same functionality - and much, much more. Here you can assign settings for 128 routable chanels, load *wav-based convolution files in addition to EQs and/or delays and you can store each setting as a "profile" (in an *.xml file). The number of profiles you can store is unlimited. Above all you can switch between stored profiles on the fly during playback.
 
For camillsdsp there are several things wrong. The number of channels is unlimited, and probably filter banks too (but unclear what this row actually means).
I'm also not sure what the equalizer row refers to. Maybe it has, maybe not.
There is a gui. That's ok in the picture but is wrong in the sheet.
There are lots of features not fitting into the existing rows, some of those could be added to "special features".

EqualizerAPO should obviously be included. And it can only be called a list of convolvers if BruteFIR is included.
 
For camillsdsp there are several things wrong. The number of channels is unlimited, and probably filter banks too (but unclear what this row actually means).
I'm also not sure what the equalizer row refers to. Maybe it has, maybe not.
There is a gui. That's ok in the picture but is wrong in the sheet.
There are lots of features not fitting into the existing rows, some of those could be added to "special features".

EqualizerAPO should obviously be included. And it can only be called a list of convolvers if BruteFIR is included.

Thank you for your feedback. I will look at EqAPO and BruteFIR and edit the spreadsheet.

"Filter Bank" means that a set of filters can be loaded into a bank - so that switching filters is as easy as choosing a different filter bank.

Can you please list some of the special features included in CamillaDSP? When I was compiling this spreadsheet, I had to look at multiple websites to glean information. If the website is difficult to navigate (as Camilla's is) it is easy to miss things.
 
"Filter Bank" means that a set of filters can be loaded into a bank - so that switching filters is as easy as choosing a different filter bank.

I still do not fully understand "Filter bank"; can I understand that different "XO/EQ/Gain/delay configuration" sets would be saved in PC with specific file names and we can load any of them afterwards? If so, EKIO can do incorporate unlimited numbers of "filter banks".
 
I still do not fully understand "Filter bank"; can I understand that different "XO/EQ/Gain/delay configuration" sets would be saved in PC with specific file names and we can load any of them afterwards? If so, EKIO can do incorporate unlimited numbers of "filter banks".

Hang-Loose-Convolver-with-Atmos-Resampler.jpg


Hang Loose Convolver's Filter Bank.

overview3akx1.jpg


Acourate Convolver's Filter Bank.

Push a button, and it immediately switches filters without having to stop the music. This is really useful for loading multiple configurations and comparing them. Acourate Convolver has a very slight latency when switching filters, while HLC is immediate with no interruption to the music. JRiver lacks this feature - if I want to switch filters, I have to stop the music, go to DSP studio, choose another config file, then exit and restart the music. For me, this feature is essential because it allows rapid A-B of filters with minimal delay. I haven't played with EKIO because their trial is a bit too limiting*, but if it requires you to stop the music to reconfigure filters and does not allow easy button pushes to swap between them, then it lacks this feature.

You will note that both AC and HLC have a volume levelling feature with their filter banks. I can adjust the volume of one filter bank so that it matches the other to eliminate any bias from higher volume.

* I think the EKIO trial only allows you to output four channels. This prevents me from using it in my system, so I can't trial it at all. HLC's trial is also limiting, you only get 14 days. HQP and Acourate Convolver have better trials - HQP stops the music and requires a restart after 30 minutes, but you can keep doing this indefinitely. Acourate Convolver stops the music and bugs you with a pop-up to register, but you can dismiss the pop-up and use it indefinitely.

It's not that I don't plan to buy these convolvers if I like them, and it is not my intention to use these convolvers for free. But ... one trial prevents me from using it at all, and the other 14 day trial prevents me from going back to look at HLC at a later date if I wanted to explore something specific about it. The limitation of EKIO immediately puts it out of consideration for me because I can't trial it. As for HQP, I keep a trial version installed on my PC even though I don't use it. It's there because every now and then I ask myself if I should buy a license, and does it offer a feature that I haven't thought of before that isn't listed on their webpage? Simple matter of launching it, playing with it for 30 minutes, and going back to my regular convolver.
 
Last edited:
OK, well understood.

EKIO needs to "load" new configuration setting (as a named configuration file); EKIO cannot have multiple "filter banks" on it at once for one-click selection/change.

Edit:
See post #52 here.

Thank you for your clarification.
 
Last edited:
Also, I think I should change the "GUI for configuration" to "text editor required?" because it was my intention to show if the convolver required you to manually edit a text file for configuration.
 
Back
Top Bottom