• 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!

Introducing Hang Loose Convolver from Accurate Sound

mk1classic

Member
Joined
Aug 20, 2019
Messages
76
Likes
101
PKHarmonic by our own @pkane. You can specify which harmonics to add, and how much.

Exciter plugins work the same way (adding harmonics). Some exciters allow you to specify which freqs to add the harmonics to. PKHarmonic does not do that. Google "exciter VST plugin", there are literally dozens.

Pultec Punch VST. This adds a bass boost followed by a cut, the effect is to make bass seem more punchy.
HLC only work with VST3 not VST.
 

DWPress

Major Contributor
Forum Donor
Joined
May 30, 2018
Messages
1,027
Likes
1,474
Location
MI
I just had a doh! moment.

I'm glad I'm not the only one who does stupid things and posts about it! :p

Glad you got it worked out. I tried playing with MCFX last night and it is only VST format as well so it wouldn't have worked anyway.

Another free plugin I have used is TDR Nova which is EQ + dynamic compression if you want it. Very cool GUI and features.
 
OP
mitchco

mitchco

Addicted to Fun and Learning
Audio Company
Joined
May 24, 2016
Messages
643
Likes
2,408
So taking xtalk shaper out I have it all working now! VB Audio Matrix is awesome. I have also configured setups where I can go Roon - HLHost - HQPlayer. Or use HLC.
Mystery solved! I am glad it is working for you now.

Some possible distortion plugins.

I used VB-Audio's virtual cable to connect JRiver's ASIO output to HLC's ASIO input. I don't know why HLC could not accept JRiver's ASIO output natively. HLC's instruction manual recommended VB-Audio.
There are two issues here. One is you can't connect JRIver's ASIO output to the input VB-Virtual Audio Cable as it is a WDM driver, so I am not surprised by the dropouts as this should not be even able to work in the first place. You would need to select JRiver's WASAPI output in shared mode to VB- cable input and the output of VB-cable is input to HLHost then HLC and then out to the DAC. Don't forget in JRiver to turn off exclusive mode.

2nd ASIO protocol runs in exclusive mode. Meaning only one connection between music player and ASIO driver. Using HLC in standalone mode means a "man in the middle" so that won't work either. What is required is a virtual ASIO driver, like the one you can get with VB-Matrix, which is a much different than VB cable, even through WDM is also supported.

If using JRiver, I recommend using HLC in plugin mode and simply add the plugin directly into JRiver's DSP Studio. No need for any virtual drivers.

HLC only work with VST3 not VST.
Yes, as @mk1classic mentions, VST2 is discontinued: https://helpcenter.steinberg.de/hc/en-us/articles/4409561018258-VST-2-Discontinued

January 19, 2022

The discontinuation of VST 2 marks the final step in the transition process to VST 3. Focusing solely on VST 3 will increase the stability of our products and allow us to fully leverage the advantages of the VST 3 platform.

As it stands, Steinberg hosts continue to offer VST 2 compatibility. Users of Mac computers with Apple silicon can continue to use VST 2 plug-ins under Rosetta 2.

Moreover, within the next 24 months, Steinberg's host applications and plug-ins across macOS and Windows will offer VST 3 compatibility only.

To ensure that you are prepared for these eventualities, we recommend to check if any third-party VST 2 plug-ins are in use and, if so, to contact the corresponding plug-in developers for details on supporting VST 3.
 

AudioJester

Addicted to Fun and Learning
Forum Donor
Joined
Jan 7, 2020
Messages
943
Likes
1,256
@Keith_W
I got over the ASIO issue by using Matrix.

I have HLH in Windows exclusive mode. So Roon output goes to VAIO 1 inpt, routed to VAIO 1 outpt to HLH. Then I have HLH going to VAIO 2 input which is then roued to ASIO output - in my case the Okto ASIO driver. Very elegant and robust solution. HLH stays in windows mode and Matrix outputs to ASIO.
 
OP
mitchco

mitchco

Addicted to Fun and Learning
Audio Company
Joined
May 24, 2016
Messages
643
Likes
2,408
@AudioJester very cool! If you feel like sharing, and have the time, a couple of screen shots would be awesome. Curious, which device is the master clock?
 

AudioJester

Addicted to Fun and Learning
Forum Donor
Joined
Jan 7, 2020
Messages
943
Likes
1,256
@AudioJester very cool! If you feel like sharing, and have the time, a couple of screen shots would be awesome. Curious, which device is the master clock?

Will do when back home. Matrix has its own master clock, but there is also an option to select the Okto.

One of the benefits of doing "stupid" things, is i ended up doing a deep dive and figuring out other solutions...
 

AudioJester

Addicted to Fun and Learning
Forum Donor
Joined
Jan 7, 2020
Messages
943
Likes
1,256
VB Audio Matrix is very intimidating/daunting when you first try it.

I was able to figure it out after watching this 9 minute youtube video
 

AudioJester

Addicted to Fun and Learning
Forum Donor
Joined
Jan 7, 2020
Messages
943
Likes
1,256
1711442658448.png


1711442758339.png


1711442843997.png


This is my config in HLHost and Matrix,
In Roon I have selected VB Audio Matrix VAIO1 as output.
I also have both ASIO and VAIO2 6 channel output. If disable HLC, and go 2 channel only I can route VAIO2 output into HQP using WASAPI input.
 

mk1classic

Member
Joined
Aug 20, 2019
Messages
76
Likes
101
@mitchco
Has there been changes to the the output meter in HLC lately?
The output level meters now show the same level on all ouputs on my 2x4-way speaker setup. This is a 50hz test tone playing.
Do the output level now show output before the filter not after ?
If not I'm trying to kill my TAD compression drivers and Fostex tweeters with 50hz...
1711546643148.png
 

mk1classic

Member
Joined
Aug 20, 2019
Messages
76
Likes
101
@mitchco
Has there been changes to the the output meter in HLC lately?
The output level meters now show the same level on all ouputs on my 2x4-way speaker setup. This is a 50hz test tone playing.
Do the output level now show output before the filter not after ?
If not I'm trying to kill my TAD compression drivers and Fostex tweeters with 50hz...
View attachment 359472
It looks like I'm trying to kill my speaker elements with error in the routing of signals.

@mitchco Question: Does the output file from AudioLense route correctly or do I need to configure the CFG file to route the HLC output adresses?

1711549058352.png


1711549103569.png


The CFG file has been modified to direct according to HLC ouputs not according to ASIO output numbers?

Example of CFG file:

48000 2 8 0 0 0 0 0 0 0 0 0 0 0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 0 0.0 0.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 1 0.0 1.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 2 0.0 2.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 3 0.0 3.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 4 1.0 4.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 5 1.0 5.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 6 1.0 6.0 C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav 7 1.0 7.0
 
OP
mitchco

mitchco

Addicted to Fun and Learning
Audio Company
Joined
May 24, 2016
Messages
643
Likes
2,408
@mitchco Question: Does the output file from AudioLense route correctly or do I need to configure the CFG file to route the HLC output adresses?
Hi @mk1classic yes, the .cfg file contains the routing that you have defined in Audiolense output channels when you took the measurement. You should not have to edit the .cfg file and should be 1:1 mapping HLC output channels to the Audio Output channels. Please see the "Important note on digital crossovers" on page 124 of the Operations Guide.

If you are still running into issues, please send your .cfg file and corresponding mch .wav file to my email address please. Thanks.
 

DWPress

Major Contributor
Forum Donor
Joined
May 30, 2018
Messages
1,027
Likes
1,474
Location
MI
It looks like I'm trying to kill my speaker elements with error in the routing of signals.
I have to build my own .cfg files, just a casual look it seems your routing is set up for more than 2ch input.

C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav
7
1.0
7.0

indicates ch8 is routed into right channel and output on ch8. The first number after your .wav path should be a 0 or a 1 for L/R input channels. It is different for surround and Atmos configurations - then you would be using a routing convention as you have now where a processed input ch7 (usually R rear in 7.1) is indeed unique from ch2 (R front).

I'm on a Mac but cfg files are the same for both platforms. In my system settings my 8ch Okto is set for 7.1 to get the correct channel count but the channels 0-7 are assigned by the cfg file.

This is my .cfg for 2ch input with XO for a 3 way speaker + 2 subs:
(ignore my deviation on the 3rd line - they are channel delays)

48000 8 8 0
0 0 0 0 0 0 0 0
1.9 1.9 0 0 .9 .9 0 0
/Users/xo/3.24 48kHz/linear/b.wav
0
0.0
0.0
/Users/xo/3.24 48kHz/linear/b.wav
1
1.0
1.0
/Users/xo/3.24 48kHz/linear/m.wav
0
0.0
2.0
/Users/xo/3.24 48kHz/linear/m.wav
1
1.0
3.0
/Users/xo/3.24 48kHz/linear/t.wav
0
0.0
4.0
/Users/xo/3.24 48kHz/linear/t.wav
1
1.0
5.0
/Users/xo/3.24 48kHz/linear/s.wav
0
0.0
6.0
/Users/xo/3.24 48kHz/linear/s.wav
1
1.0
7.0
And this is my graph in HLC:

HLC graph.jpeg


You can see by the .cfg file and routing coming out of HLC that entry 1&2 are L&R b.wav (woofers) and are routed out ch 1&2 but the way they connect to the 8ch DAC is dictated by how the amps are hooked up to the DAC! In my case L&R output from HLC goes to ch 1&4 of my Okto and those channels go to the L/R channels of the amp in charge of woofers. I use individual 2ch .wav filters for each driver set (b, m, t, s) instead of a 8ch .wav, the result is the same but I find it easier to adjust things if needed doing it this way.

Output channels from left to right on my HLC represent:
L bass, R bass, L mid, R mid, L tweet, R tweet, sub1, sub2 (sub1 is routed into TDR Nova for HP/LP filter)

My s.wav filters (sub) are unused in HLC in this case as I have DLBC in the chain prior and it is doing XO between woofer and sub but the output channels on the DAC are still respected.

Hope this helps, lots to wrap your head around with .cfg files.
* edited for clarity
 
Last edited:

Keith_W

Major Contributor
Joined
Jun 26, 2016
Messages
2,660
Likes
6,065
Location
Melbourne, Australia
I have to build my own .cfg files, just a casual look it seems your routing is set up for more than 2ch input.

C:\Users\Admin\OneDrive\Dokumenter\Juice Hifi\Audiolense\Correction\4-way TAD\2024.03.15_02 Part TTD-10db\T-15 mar 24_19 13 -10d drop from400hz48.wav
7
1.0
7.0

indicates ch8 is routed into right channel and output on ch8. The first number after your .wav path should be a 0 or a 1 for L/R input channels. It is different for surround and Atmos configurations - then you would be using a routing convention as you have now where a processed input ch7 (usually R rear in 7.1) is indeed unique from ch2 (R front).

I am sorry, I disagree with your interpretation. If you look at his .cfg file you will notice that he is using an 8 channel .WAV file. This means:

C:\path\file <--- Path for the filter .WAV file
7 <--- which channel of the .WAV file to use for convolution
1.0 <--- which input channel to convolve with (in this case, right channel)
7.0 <--- which channel to output into the DAC

This is one of my .cfg files (with annotations). This system is similar to yours, a pair of 3 way speakers with a pair of subs.

44100 2 8 0 <-- 44kHz sampling rate, 2 channel input, 8 channel output, output channel mask (leave this as 0)
0 0 <-- input channel mask
0 0 0 0 0 0 0 0 <-- output channel mask

Cor1S44.wav <--- source file, in this case a stereo .WAV file for subwoofers. Note that the filename makes sense, it says "corrected filters for 1st driver pair (in Acourate convention, 1 is for the lowest freq), stereo .WAV, 44kHz sampling rate".
0 <--- use channel 0 / left channel in the .WAV file
0.0 <--- use channel 0 of the input signal
0.0 <--- send output to DAC channel 0

Cor1S44.wav <--- same stereo .WAV file as above for subwoofers
1 <--- use channel 1 / right channel in .WAV file
1.0 <--- use channel 1 / right channel of the input signal
1.0 <--- send output to DAC channel 1

Cor2S44.wav <--- stereo .WAV file for woofers
0 <--- use channel 0 / left channel in the .WAV file
0.0 <--- convolve with channel 0 / left channel of the input signal
2.0 <--- send output to DAC channel 2

Cor2S44.wav <--- same stereo .WAV file as above for woofers
1 <--- use channel 1 / right channel in the .WAV file
1.0 <--- convolve with channel 1 / right channel of the input signal
3.0 <--- send output to DAC channel 3

... and so on. So in his case, he is using an 8 channel .WAV file for his filter. The .cfg file is correct in that it directs the convolver to use channels 0 to 7 of the .WAV filter file.

The other issue with Audiolense is that the channel routing is a bit different. I have noticed that Audiolense typically sets channels 0-3 for left, and 4-7 for the right (assuming it's an 8 channel system). Compounding the issue is the very opaque naming convention of the output filters. In this case, it's an 8 channel .WAV file so you have no idea how Audiolense has assigned the channels within. But when I get Audiolense to output mono files, this is what I get:

1711672091926.png


Most of the filename is taken up with useless and redundant information, e.g. date is recorded twice and the ACTUAL important piece of data is a single digit with no indication of which driver it is meant to correct. It would make more sense if the file was called "48khz Mono Ch1 L Sub.WAV" for example.

The far more serious issue is that Audiolense sometimes outputs incorrect .CFG files. I had to get Audiolense to output mono .WAV's and then open all of them in REW to see what was doing what. For clarity I renamed all the files to something that made sense, and then rewrote the .CFG file to reflect those changes. It worked.

@mk1classic this is what I suggest:
- get Audiolense to output mono .WAV's with a mono .CFG file
- open up all the .WAV's in REW to inspect them. TAKE NOTE of which .WAV does what.
- open the .CFG files and make sure the channels have been routed correctly
- if you wish, you can rename all the .WAV's into something that makes sense. You will also have to edit your .CFG files with the new filenames.
- if Audiolense did output an incorrect .CFG file, write to Bernt to complain.

This is a Bernt issue not a Mitch issue. You can read more about .CFG files here.

Note I am not an Audiolense user myself. The above experience came from a friend who wanted to try Audiolense on my system. The correction files and .CFG were a hot mess. I expected the .CFG file to work, and I simply loaded it into my convolver and pressed play. The sound that came out was completely garbled and it was obvious the channel routing was wrong. We spent some time fixing it before we could listen to the filters.

I hate .CFG files. When I started using Acourate 10 years ago, it did not output .CFG files, so I had to write them myself. Thankfully, for a few years now, Acourate writes them for me so I don't have to bother.
 

DWPress

Major Contributor
Forum Donor
Joined
May 30, 2018
Messages
1,027
Likes
1,474
Location
MI
So in his case, he is using an 8 channel .WAV file for his filter. The .cfg file is correct in that it directs the convolver to use channels 0 to 7 of the .WAV filter file.
Ah, I see. I've never hand coded a 8ch .wav into a cfg before. Last time I used 8ch.wav was with a different multi ch convolver and had to amalgamate my own 8ch.wav in Audacity. At least the convolver did the channel mapping part right.

I make all my own filters with REW and rePhase and save .wav files with naming I understand in the file path:
/Users/xo/3.24 48kHz/linear/b.wav [made in March 2024][sample rate][phase][b = woofers]
I save my filters as stereo.wav just to make it simpler when coding the cfg.

@mk1classic this is what I suggest:
- get Audiolense to output mono .WAV's with a mono .CFG file
- open up all the .WAV's in REW to inspect them. TAKE NOTE of which .WAV does what.
- open the .CFG files and make sure the channels have been routed correctly
- if you wish, you can rename all the .WAV's into something that makes sense. You will also have to edit your .CFG files with the new filenames.
- if Audiolense did output an incorrect .CFG file, write to Bernt to complain.
Absolutely good advice. While in REW I take a snapshot and save it in the same folder as the filters for easy reference like this simple XO:

80-350-3700 min6.jpg

Another reason for me to lean more toward Acourate if/when I level up my software.
 
OP
mitchco

mitchco

Addicted to Fun and Learning
Audio Company
Joined
May 24, 2016
Messages
643
Likes
2,408
@Keith_W and @DWPress thanks for the assist guys.

Keith, just wanted to point out that there is nothing wrong with Audiolense's config file generation. Acourate has a "fixed" output format where crossovers (and correction filters) are generated in the sequence 1L, 1R, 2L, 2R, 3L, 3R, 4L, 4R. Meaning bass left, bass right, lower midrange left, lower midrange right, upper midrange left, upper midrange right, tweeter left, and tweeter right.

However, in Audiolense, one can change the output channel routing depending on how one has their DAC wired up to the amps/speakers. For example, in my case of a triamp system, the output is woofers are on channel's 1 and 2, tweeters on 3 and 4 and subs on 5 and 6. So when I generate the .cfg file in Audiolense, I just load the .cfg in the convolver, it just works. But if I try and load an Acourate generated .cfg, of course the mapping is not going to work. I literally have to rewire the DAC outputs to the correct amps.

This is simply one of the literally dozens of small differences between how these two very powerful DSP/DRC programs operate.

Also in Audiolense, one can "test speaker connections" before running a sweep where a short pulse is sent to each channel to verify that the signal is going to the correct driver/speaker.

In the end, it is not that AL outputs wrong .cfg files, as one has take into consideration how the output channels are routed as it user specified in AL. The multichannel .wav works just as well as mono .wavs or multiple stereo .wav's that Acourate can also do.
 

DWPress

Major Contributor
Forum Donor
Joined
May 30, 2018
Messages
1,027
Likes
1,474
Location
MI
Good to know about the channel mapping with those two apps, thanks.
 

UliBru

Active Member
Technical Expert
Joined
Jul 10, 2019
Messages
124
Likes
338
Acourate has a "fixed" output format where crossovers (and correction filters) are generated in the sequence 1L, 1R, 2L, 2R, 3L, 3R, 4L, 4R. Meaning bass left, bass right, lower midrange left, lower midrange right, upper midrange left, upper midrange right, tweeter left, and tweeter right.

However, in Audiolense, one can change the output channel routing depending on how one has their DAC wired up to the amps/speakers. For example, in my case of a triamp system, the output is woofers are on channel's 1 and 2, tweeters on 3 and 4 and subs on 5 and 6.
The sequence 1L, 1R, 2L, 2R ... is based on logic. The intention is to keep the user away from arbitrary channel assignments. The target is to especially avoid the case where a user connects the tweeters to channels 1+2. Because music players by default play music to channels 1+2. And thus there is a high chance that tweeters will quickly die if you play music without a proper highpass to the tweeters.
Of course the assignment woofers to 1+2, tweeters to 3+4 and subs to 5+6 does not hurt. But I do not see some rational idea behind. So IMHO it is better to sometimes follow rules instead of being creative.
 
OP
mitchco

mitchco

Addicted to Fun and Learning
Audio Company
Joined
May 24, 2016
Messages
643
Likes
2,408
No disagreement @UliBru And I am not saying one way is better than the other either. In my case, it just turned out that way due to the lack of cabling/connector options I had at the time and too lazy to go back and fix it. For sure, the ability to arbitrarily change output routing in an active system can lead to potentially damaging consequences (i.e. fried tweeters) as you well describe.
 

DWPress

Major Contributor
Forum Donor
Joined
May 30, 2018
Messages
1,027
Likes
1,474
Location
MI
I guess since I don't know any better that I prefer the freedom of controlling the routing myself. My method has evolved from the use of MiniDSP hardware in the past where the XO was visualized via their GUI so woofer, mid, tweeter looked best when done in that order but then later I added a sub then another so just added those to my remaining 2 channels.

When I was starting out I always connected a full range speaker to the output channels I was configuring to verify, much simpler just using the connecting links in HLC and sending signals to a woofer. I'll admit I learned that the hard way after frying a ribbon tweeter. OS routing, DAC routing and cfg files are a lot to try to keep track of when your brain is trying to figure this stuff out.
 
Top Bottom