• Welcome to ASR. 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!

Introducing Hang Loose Convolver from Accurate Sound

@mitchco I’m looking into the ide of using a thin client as a dedicated audio source running JRiver and HLC running convolution filters generated by AudioLens.. As an example, one TC I looked ar could take 32Gb of RAM and its CPU was 2.2 - 3.2 Ghz. Would that suffice do you think?
 
Hi Keith,

HLC is a zero latency, uniform partition convolver that performs convolution of an input signal in the frequency domain using FFT. The convolution engine itself does not introduce any processing latency.

Note that FIR filters can be linear phase, minimum phase, or anything in-betweeen (i.e. mixed phase). So, your linear phase FIR filter contains both a minimum phase and excess phase corrections (plus the digital XO’s and any time alignment delays). In this specific case, the “delay” is introduced by the excess phase correction as the excess phase correction is the time reversed measured excess phase. In your case that is about 700ms. While the “peak” of a linear phase FIR filter is typically at midpoint, there still is correction ahead of the peak, which is your time reversed excess phase. You may want to reach out to Uli to show you how to display that in Acourate.

FIR filters can also be minimum phase (including minphase digital XO’s) with no excess correction. Therefore, the delay of the FIR filter is 0ms. Even if the minphase FIR filter is 262,144 taps long, using a zero latency convolver like HLC, will not add latency as demonstrated here.

For music listening, I use linear phase FIR filters (with time alignment and linear phase XO’s). For movie watching I use minimum phase FIR filters (and miphase digital XO’s) that are still high tap count filters, but no latency is introduced, other than the usual buffers in the audio chain. For video, I use virtual audio loopback drivers that are also zero latency, like BlackHole on Mac and LoopBeAudio on Windows. Therefore, no lipsync issues. Even when processing 7.1.4 Dolby Atmos movies. <--translate to English.

HLC will display the latency of the loaded FIR filter in the bottom right-hand corner of the UI so you can see for your self the latency introduced by the filter. Yes, HLC will switch filters seamlessly regardless if minphase or linphase.

Don’t know what DEQX is doing, but certainly not processing linear phase FIR filters with low frequency excess phase correction ;-) However, one can still have fantastic bass control using high tap (e.g. 65,536 tap or greater) minphase FIR filters with no lipsync issues for movie watching, assuming zero latency convolution.
 
Hi @mitchco I have a question about zero latency.

I was talking to the DEQX guys yesterday and they asked me what my latency was. I said it is normal FIR filter latency, which is (N-1)/2Fs (N = number of taps, Fs = sampling rate). So for me it is 700ms. They said they have a patent for a low latency FIR, they get 10ms. I asked how it was possible, because I thought the latency was unavoidable. The impulse is in the middle of the tap length, so you have to wait half the tap length to pass through the filter before the impulse. They said "it's fancy maths, look up our patent and it will tell you how to do it". So I managed to find the patent - here. DEQX came from Lake Audio, and they mentioned it was invented by David McGrath who works with them.

On my way home, I remembered that Hang Loose is a zero latency convolver. When I was testing it, I noticed that when I switched from one filter bank to another, the music would switch over immediately without so much as an audible gap. In fact it was so seamless that if two filters were similar, the switch was inaudible and you would not know that another filter was being used.

I was under the impression that zero latency meant that you were spending CPU cycles to process another filter bank at the same time so that you could switch seamlessly because I was not aware that there was such a thing as low latency FIR. So can I ask you - does zero latency mean that there is no FIR filter latency at all, and you have come up with an alternative FIR algorithm?

Many convolvers are capable of adding no latency to your filters. So if you use min phase filters, overall you have zero latency

If you use lin phase filters, that will be the overall latency
 
Hi Keith,

HLC is a zero latency, uniform partition convolver that performs convolution of an input signal in the frequency domain using FFT. The convolution engine itself does not introduce any processing latency.

Note that FIR filters can be linear phase, minimum phase, or anything in-betweeen (i.e. mixed phase). So, your linear phase FIR filter contains both a minimum phase and excess phase corrections (plus the digital XO’s and any time alignment delays). In this specific case, the “delay” is introduced by the excess phase correction as the excess phase correction is the time reversed measured excess phase. In your case that is about 700ms. While the “peak” of a linear phase FIR filter is typically at midpoint, there still is correction ahead of the peak, which is your time reversed excess phase. You may want to reach out to Uli to show you how to display that in Acourate.

FIR filters can also be minimum phase (including minphase digital XO’s) with no excess correction. Therefore, the delay of the FIR filter is 0ms. Even if the minphase FIR filter is 262,144 taps long, using a zero latency convolver like HLC, will not add latency as demonstrated here.

For music listening, I use linear phase FIR filters (with time alignment and linear phase XO’s). For movie watching I use minimum phase FIR filters (and miphase digital XO’s) that are still high tap count filters, but no latency is introduced, other than the usual buffers in the audio chain. For video, I use virtual audio loopback drivers that are also zero latency, like BlackHole on Mac and LoopBeAudio on Windows. Therefore, no lipsync issues. Even when processing 7.1.4 Dolby Atmos movies. <--translate to English.

HLC will display the latency of the loaded FIR filter in the bottom right-hand corner of the UI so you can see for your self the latency introduced by the filter. Yes, HLC will switch filters seamlessly regardless if minphase or linphase.

Don’t know what DEQX is doing, but certainly not processing linear phase FIR filters with low frequency excess phase correction ;-) However, one can still have fantastic bass control using high tap (e.g. 65,536 tap or greater) minphase FIR filters with no lipsync issues for movie watching, assuming zero latency convolution.

Hi Mitch, thanks for the reply. Yes I am aware that there is EP correction going on before the impulse peak. I have looked at the lin phase FIR filters I generated and I can see the EP correction:

1728853122494.png


That is an extreme zoomed in view of my subwoofer lin phase FIR (Cor1L48) where I see the impulse peak in the middle of the tap length and EP correction before and after.
 
Yes, HLC will switch filters seamlessly regardless if minphase or linphase.
Does it mean the switch is done like

Activate filter bank
Feed input to new filter in parallel to existing live stream
Once X ms (x being driven by the inherent latency of the filter) has passed them switch the output feed to the new filter bank

ie it's audibly seamless but with a lag driven by the filter?
 
Does it mean the switch is done like

Activate filter bank
Feed input to new filter in parallel to existing live stream
Once X ms (x being driven by the inherent latency of the filter) has passed them switch the output feed to the new filter bank

ie it's audibly seamless but with a lag driven by the filter?
It's seamless as the individual filters are running in parallel. The filter with the longest delay dictate the delay for all the other filters.

I have saved two filter projects in HLC. One for TV and streaming with low latency (still active XO with Audiolense) and one for music streaming where I have higher FIR filter lengths. I just open HLC and load the project file for either TV or music.
 
It's seamless as the individual filters are running in parallel. The filter with the longest delay dictate the delay for all the other filters.
So it's constantly processing all filters all the time? I was thinking of something like a switch to activate that mode (or keeping something alive for n seconds once you switch on the basis that you would switch back and forth and that's when you need zero latency) to avoid the overhead of constantly processing
 
New software update:

HLC Web Application and HLC Embedded are two new additions to the Hang Loose DSP Software Suite, which is a growing suite of audio DSP applications and plugins.

HLC Web Application and Embedded can run on Mac, Windows, Linux, and Raspberry Pi. HLC Web App can run with a native UI or run headless.

HLC Web App gives the user the ability to compare level matched DRC filters and/or headphone filters in real time using a web browser on a phone or tablet from the comfort of one's listening chair.

HLC Embedded gives music application developers the ability to easily embed convolution into their application and communicate with it using a simple REST API.

Documentation: Hang Loose DSP Suite Operations Guide

How to use HLC Web Application and Web API:

 
New software update:

HLC Web Application and HLC Embedded are two new additions to the Hang Loose DSP Software Suite, which is a growing suite of audio DSP applications and plugins.

HLC Web Application and Embedded can run on Mac, Windows, Linux, and Raspberry Pi. HLC Web App can run with a native UI or run headless.

HLC Web App gives the user the ability to compare level matched DRC filters and/or headphone filters in real time using a web browser on a phone or tablet from the comfort of one's listening chair.

HLC Embedded gives music application developers the ability to easily embed convolution into their application and communicate with it using a simple REST API.

Documentation: Hang Loose DSP Suite Operations Guide

How to use HLC Web Application and Web API:

Looks great! Possible to access Master Trim from the web UI? I don't see it in screenshot
 
Yes, the screen shot has it chopped off, but it is there. Shown in the video and there is a web API call for it as well.
 
New software update:

HLC Web Application and HLC Embedded are two new additions to the Hang Loose DSP Software Suite, which is a growing suite of audio DSP applications and plugins.

HLC Web Application and Embedded can run on Mac, Windows, Linux, and Raspberry Pi. HLC Web App can run with a native UI or run headless.

HLC Web App gives the user the ability to compare level matched DRC filters and/or headphone filters in real time using a web browser on a phone or tablet from the comfort of one's listening chair.

HLC Embedded gives music application developers the ability to easily embed convolution into their application and communicate with it using a simple REST API.

Documentation: Hang Loose DSP Suite Operations Guide

How to use HLC Web Application and Web API:

Mitch, hats off for your work!
Especially the new stand-alone feature is very exciting. It also opens new ways to use our speaker virtualization technology, which is very much appreciated.

Philipp
 
Anyone else notice some intermittent crackling sounds with VB Audio Matrix and HL Host.

I have a windows pc with Roon-Matrix-HLHost-Matrix-Asio-Okto dac.
I can fix it, but cant work out the source of the problem. Seems to be clock/sampling rate/buffer related - but too many places to change things.
 
Hi @AudioJester I have a couple of VB-Audio Matrix setups with Roon-Matrix-HLHost-Matrix-ASIO with Motu mk5 in a triamp setup and a Topping E30 for a stereo setup. One plays in the background most of the day and have not had any dropouts/static. But through customer feedback, some setups seem more sensitive than others wrt intermittent crackling sounds, most likely due to clock drift.

What device are you using as a master clock in Matrix? Which Okto DAC?
 
Hi @AudioJester I have a couple of VB-Audio Matrix setups with Roon-Matrix-HLHost-Matrix-ASIO with Motu mk5 in a triamp setup and a Topping E30 for a stereo setup. One plays in the background most of the day and have not had any dropouts/static. But through customer feedback, some setups seem more sensitive than others wrt intermittent crackling sounds, most likely due to clock drift.

What device are you using as a master clock in Matrix? Which Okto DAC?

Using an okto dac8 pro.
There is clock priority in Roon as well. I switch between master and okto, just switching sometimes fixes it - does not matter which way. One thing that helped a lot was making the buffer realy small in HLHost
 
Hi @AudioJester I have a couple of VB-Audio Matrix setups with Roon-Matrix-HLHost-Matrix-ASIO with Motu mk5 in a triamp setup and a Topping E30 for a stereo setup. One plays in the background most of the day and have not had any dropouts/static. But through customer feedback, some setups seem more sensitive than others wrt intermittent crackling sounds, most likely due to clock drift.

What device are you using as a master clock in Matrix? Which Okto DAC?
After some tests and evaluations on Windows 11 Pro 25H2 PC at my upstairs office, I finally updated VB-AUDIO MATRIX to the newest ver.1.0.2.5 in my multichannel multi-amplifier audio rig having DSP "EKIO" and 8-Ch DAC OKTO DAC8PRO; I usually use JRiver MC, now MC35, as my music (and video) player.

- Updated VB-AUDIO MATRIX (1.0.2.5) in my main multichannel multi-SP-driver multi-amplifier fully active audio rig; together with updated JRiver MC35 (35.0.29) and updated DSP “EKIO” (1.0.8.2): #1,022 on my project thread.
 
Last edited:
Back
Top Bottom