I tried Hang Loose Convolver today. I would like to give my heartfelt thanks to
@mitchco who talked me through the setup. Essentially, I had written the .CFG file correctly but I had selected a rather small buffer size - so instead of sound, I was hearing a series of pops. After I increased the buffer size, the problem went away.
I then had a listen and there was zero latency when switching between filter banks on HLC. This allowed me to compare the effect of different target curves very quickly. Over the next few days, I will be doing more comparisons between time alignment, different strategies for room correction, and so on.
Unfortunately, the latency when playing audio is quite significant, about 3-4 seconds between selecting a track and actually hearing sound. With JRiver it is probably 1-2 seconds. This is enough to cause significant lip sync issues when watching a Youtube video. I will have to play with it a bit more to see if I can get the latency down without reducing the buffer size so much that I get dropouts.
A really unexpected finding was that
HLC sounded better than JRiver! I could not believe my ears because both are bit perfect players, and I am using JRiver's output into HLC. Now, HLC has much higher gain than JRiver, so I initially thought it was that. So I played some white noise and matched the gain with an SPL meter. Doing back to back testing was not ideal, because it involved about 2-3 minutes of reconfiguring JRiver's output in order to do a comparison. Even after volume matching, the difference persisted - HLC has more bass, more top end, and just sounded clearer.
I was utterly dumbfounded. Surely it is impossible for bit perfect playback to sound different?!?!? If anything, my expectation bias was for both of them to sound the same!
Then I remembered that I had ISO226 volume control turned on in JRiver. Doh!! With JRiver, I was listening with the Vol turned up to 35. To obtain a level match in HLC, I had to turn down the volume in JRiver to 20. This means that what I am actually listening to is the different curve applied by JRiver to compensate for the lower volume! So I turned off ISO226, turned down the gain in HLC, and achieved volume matching with white noise and an SPL meter. The difference persisted, again in favour of HLC, but I suspect that I still have improper gain matching. Or maybe there is some secret sauce in HLC that might account for the difference.
I actually like the result with HLC having so much more clarity at low volumes compared to JRiver due to the differences in the ISO226 curve. Homework for tomorrow is to design more filters for testing and find a way to change the settings for JRiver's ISO226 reference point. I will crack out the voltmeter and measure the difference at DAC output. If it still sounds different, then i'll have to investigate further, maybe by running the DAC output through an ADC for analysis. It's 3am in Australia, time to go to bed. And you can laugh at another one of my silly mistakes.