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

Convolve Everything!(?)

RocketRanger

Member
Joined
May 9, 2025
Messages
10
Likes
2
History:
Electronics Tech/Auto Mechanic/Audio Lover

Coming from car-audio(yuck) I have been most comfortable with analog equipment from the 90s and many standalone DSP (AD—>DSP BOX—>DA) units.

Results were always less is more. Ending with a compromise compared to anything equilateral in a home, or recently my iPhone built in audio. (Haha-that) And now convolution!

Learning:
To learn more about modern measurement and correction techniques I found OCA on YouTube and finally found MitchCo’s book with his common references.

Thank God for reading glasses. PDF to paper made that a tough read. Also, thank God for Mitch and his works. OCA is always a hoot to try and follow as-well.

I tried convolution on a simple setup 2.1 at home. Began with OCA’s REW methods and am now using Focus Fidelity. Mind blow every step along the way.

Current Setup:
JBL Control Micro 3” full range 200-15Khz
Cerwin 15” 27-200hz
Yamaha AVR 8CH of POWA via HDMI
Surface Pro for the WIN11 PC

The REW convolution approach was eye opening, and Focus Fidelity has me hearing all my favorite music for the first time.

Crucial in my listening is MitchCo’s Hang Loose offerings. A great interface and experience. AB testing is crucial. VA Matrix is amazing too. Mitch was immediately helpful resolving my early issues. ❤️

Finally questions/inquiry:
Currently I feed the AVR 2 channels via HDMI jack on the surface. So easy and so quiet. The AVR does a group delay correction for the sub, level matching for all, and crossovers for all. Convolution fillers are built from full range 2ch measurements in Focus Fidelity Ace then hosted in HLC. FF is a true turn key app and well worth the investment. It is not multichannel/full-acting aware like an AudioLense solution.

I want to do fully active setups. I envision the delays and crossovers as plugins. The plugins I have tried were awkward if free. Seems like they were not made for what I am trying to do. Go figure. Pay to play plugins seem overly DAW focused with starting price points that worry me if they don’t work for my needs.

Options:
1) Locate a plugin(s) for HLC Host that do what I envision. Continue to use FF in 2ch full range. Costs are always a given.
2) Purchase AudioLense to do all the things with HLC managing the multichannel routing.
3) Learn enough about REW/Rephase to manually build and manipulate impulse files.

Final:
My goal is to implement this in car audio and then home theater. It is something my kid and I enjoy together. I envision convoluting everything after what I experienced with the simple setup. I have an open baffle setup to play with and other fun projects needing these solutions.

Thanks for suggesting my post. :)
 
Welcome to ASR!

First I suggest you read this thread: Understanding the state of the DSP market

If you want to use REW to make IIR biquads, it is a cinch. But if you want to use it to make linear phase filters, I say: forget it. This is something that you should attempt only if you enjoy pain and if you REALLY know what you are doing. Mitch's book is great, but it does not give you enough knowledge for you to attempt something like this in REW/rePhase. I also recommend that you do not use linear phase filters with an AVR, because of latency. If you really want to use linear phase, your AVR will need some kind of lip sync feature.
 
Welcome to ASR!

First I suggest you read this thread: Understanding the state of the DSP market

If you want to use REW to make IIR biquads, it is a cinch. But if you want to use it to make linear phase filters, I say: forget it. This is something that you should attempt only if you enjoy pain and if you REALLY know what you are doing. Mitch's book is great, but it does not give you enough knowledge for you to attempt something like this in REW/rePhase. I also recommend that you do not use linear phase filters with an AVR, because of latency. If you really want to use linear phase, your AVR will need some kind of lip sync feature.
Thanks for engaging this, Keith!

The AVR receiver is not used for anything but audio in my tinkering. My use will be firmly audio for awhile.

If there is benefit to linear phase crossovers and/or corrections I want whatever path I choose to support that journey.
 
There are very good reasons to use linear phase XO's. But low latency is not one of them. You can design a linphase filter to have low-ish latency but it will always have more latency than minphase. So if your application is video, I suggest minphase. But for audio ... IMO, linphase all the way.
 
There are very good reasons to use linear phase XO's. But low latency is not one of them. You can design a linphase filter to have low-ish latency but it will always have more latency than minphase. So if your application is video, I suggest minphase. But for audio ... IMO, linphase all the way.
Now to choose the right tools to get there.

Linear phase isn’t possible in a plugin, I suspect. Sounding like a vote for learning RePhase or to invest in AudioLense?
 
I'm not sure what you mean by "plugin". If you mean VST, then there are convolvers that can work as VST's in your DSP pipeline. Like Hang Loose Convolver that you already mentioned.

You can use any software you like which is capable of generating linear phase filters. I thought that Focus Fidelity was able to do it. But otherwise ... learn rePhase, buy Audiolense. Or you could use Acourate. There's Mitch's book that you already have, and a free guide that is more comprehensive, but less approachable for newcomers.
 
I'm not sure what you mean by "plugin". If you mean VST, then there are convolvers that can work as VST's in your DSP pipeline. Like Hang Loose Convolver that you already mentioned.

You can use any software you like which is capable of generating linear phase filters. I thought that Focus Fidelity was able to do it. But otherwise ... learn rePhase, buy Audiolense. Or you could use Acourate. There's Mitch's book that you already have, and a free guide that is more comprehensive, but less approachable for newcomers.
Yes. I should have been more clear. I am hoping to keep HLC in the pipeline with VST plugins on the output of the convolver.

I will take another look at Acourate.
 
I want to do fully active setups. I envision the delays and crossovers as plugins. The plugins I have tried were awkward if free. Seems like they were not made for what I am trying to do. Go figure. Pay to play plugins seem overly DAW focused with starting price points that worry me if they don’t work for my needs.

Typically, both the digital crossovers and digital delays are "baked" into the convolution filters that HLC can run. DSP/DRC s/w like Audiolense, Acourate, rePhase/REW, during the filter design phase, can do this for you and simply load the generated filter into the convolver.

However, all three s/w have different "learning curves" and some variability when it comes to driver time alignment consistency, especially with subs. Audiolense automatically calculates the delays between drivers (and speakers and subs) during the measurement process. It is the only s/w I have come across that consistently calculates the delays, especially subs in a repeatable manner down to 0.02ms tolerance. Acourate and rePhase/REW can do this as well, but it is time intensive and typically must one repeat the process at least 3 times to verify the time delays between drivers are consistent and within a satisfactory tolerance.

Good luck on your journey!
 
Typically, both the digital crossovers and digital delays are "baked" into the convolution filters that HLC can run. DSP/DRC s/w like Audiolense, Acourate, rePhase/REW, during the filter design phase, can do this for you and simply load the generated filter into the convolver.

However, all three s/w have different "learning curves" and some variability when it comes to driver time alignment consistency, especially with subs. Audiolense automatically calculates the delays between drivers (and speakers and subs) during the measurement process. It is the only s/w I have come across that consistently calculates the delays, especially subs in a repeatable manner down to 0.02ms tolerance. Acourate and rePhase/REW can do this as well, but it is time intensive and typically must one repeat the process at least 3 times to verify the time delays between drivers are consistent and within a satisfactory tolerance.

Good luck on your journey!
Is the downside to plugin based crossovers and delays a compromise in end result quality? Said differently, would I ruin an otherwise great sounding setup not baking those features into the convolution filters?

Would you venture a filter plugin package more fitting and less for DAW work?

If my plugin approach is a ~20% reduction in quality I will need to spend more money or time. I wonder what Focus Fidelity has in the works for upgrades on top of my $200 investment. I will look into that too.
 
Gotta go hang with family but I'll be back in a bit - have been using HLC for what you want to do since it's development days.
 
You won't degrade the signal going through plugins unless you do something stupid - the music we listen to has gone through countless plugins already in production. I don't know Focus Fidelity, presumably it gives you an automated LR .wav file? (FIR)

It's a bit of a deep dive but here you go in a nut shell: Set up your desired XO in rePhase and export them as .wav impulse response into REW and apply your LR correction filters to each channel you are using (A*B) and you've got basic a correction filter you can plug into HLC as the basis, you can use your work from following OCA's method and apply it to the XO. HLC Host is a very handy toolbox for development with plugins. Here's a sample:

dirac path2.jpeg
Dirac Path.jpeg

This is a highly experimental graph but shows what's possible - input goes off to a couple meters on either side but otherwise directly to 2 plugins doing the exact same filters, Qrange via IIR and Sir3 via FIR. They both go to an A/B switch then into DLBC where I let Dirac do its magic thing with subs. It then goes to HLC that, in this instance, just had a XO without any correction filters applied for my 3 way active speakers + 2 subs. The last 2 channels on right exiting HLC are sub channels which go to delay, then EQ plugins (again IIR and FIR option) before exiting the graph to my 8ch DAC. By toggling bypass on any plugin (including Dirac) new filter experiments in any form can quickly be implemented and measured. With this graph I was experimenting with various ways of EQ and the effects on delay with the different filter types (IIR vs FIR) and measuring them in REW. Mitch has a similar picture of mine on his website showing DLBC as an example.

A lot of flexibility to play before committing. All of those plugins except Sir3 are free BTW. In practice, this is what I use once filters are baked in if using DLBC or just straight to HLC and sub routing to DAC if not - you can save as many different graphs as you can come up with and the plugin settings will retain:

Screenshot 2025-05-09 at 11.27.06 PM.jpg


edit: here's a screenshot of my plugin folder toolbox - these are shown as Mac AU plugins but all available as VST for PC and free:

Screenshot 2025-05-10 at 2.21.08 AM.jpg
 
Last edited:
If you know your desired XO I can probably set those up for you in rePhase, save you part of the learning curve to get started.
 
Is the downside to plugin based crossovers and delays a compromise in end result quality? Said differently, would I ruin an otherwise great sounding setup not baking those features into the convolution filters?

As long as the DAC receives the same information, it does not matter where it is applied. Hang Loose and other convolvers can work with .WAV files with all the corrections and delays baked in. There are other convolvers which are more modular, for example CamillaDSP. If you wanted to, you could separate the crossover module from delays and frequency correction. Some people like this because it is easy to change filter settings without having to regenerate the entire filter in your software program. I think Hang Loose can do this to a certain extent but I am not sure since I don't use it.

If my plugin approach is a ~20% reduction in quality I will need to spend more money or time. I wonder what Focus Fidelity has in the works for upgrades on top of my $200 investment. I will look into that too.

The whole point of VST plugins is to change the sound. Whether the change results in an improvement or reduction in quality is not the fault of the plugin, it is your fault for using improper settings.
 
Is the downside to plugin based crossovers and delays a compromise in end result quality? Said differently, would I ruin an otherwise great sounding setup not baking those features into the convolution filters?

The issue is system design. Generating digital XO's and adding digital delay plugins is easy on its own. How to integrate them into a cohesive system design, along with driver time alignment, perhaps even driver linearization, is another story. For DRC, there are sequential steps performed at each stage of the filter design process, each one having a specific purpose.

For example, here are the basic steps for an older version of Acourate. Acourate DRC uses "Macros" which organizes the design of a FIR filter in steps, along with a way to simulate the end result so you don't have to figure a way to verify your filter design by trying to measure it through convolution (which is entirely possible):

Here is a list of the macro processing:

Macro 0: Prefilter Definition
The macro allows to apply filters to the pulse responses before standard processing with macros 1 up.
Thus the macros will see a different pulse.
Macro4 takes care about the prefilters, they get embedded into the correction filters.
The prefilters are thus not influenced by the macro calculations e.g. windowing.
They have been introduced in combination with VBAs (virtual bass arrays)

--------------------------------------------------
Macro 1: Amplitude Preparation
Input
- Pulse48L.dbl (& Pulse48R.dbl if stereo)

Processing
- TD-Functions/Psychoacoustics
- TD-Functions/Frequency dependent Window

Output
- Pulse48Lpsy.dbl
- Pulse48Rpsy.dbl
- Pulse48Lmp.dbl
- Pulse48Rmp.dbl

--------------------------------------------------
Macro 2: Target Curve Design
Input
- (optional) Target.tgt (to load an existing target)

Processing
- user designed curve

Output
- Target.dbl

--------------------------------------------------
Macro 3: Inversion
Input
- Pulse48Lmp.dbl (& Pulse48Rmp.dbl if stereo)
- Target.dbl

Processing
- correction = target minus measurement (mp)
- removing correction > 0 dB by compression

Output
- Pulse48Linv.dbl, Pulse48Rinv.dbl

--------------------------------------------------
Macro 4: Filter Generation
Input
- Pulse48Linv.dbl (& Pulse48Rinv.dbl if stereo)
- XO[1-9][LR]48.dbl for stereo or XO[1-9]M48.dbl for mono

Processing
- excessphase correction
- windowing
- PRC processing
- samplerate conversions
- creation of different filter formats
- some NON-DISCLOSED functions

Output
- Cor[1-5][LR]48.dbl
- Cor[1-5]S48.wav (if wav generation checked)
- Cor[1-5]S48.vst (if vst generation checked)
- CorTest (if XO filters present)
--------------------------------------------------
Macro 5: Test Convolution
Input
- Pulse48L.dbl (& Pulse48R.dbl if stereo)

Processing
- convolution of the inputs with the Cor1[LR]48.dbl or CorTest48[LR] output of macro 4

Output
- vecin[LR].dbl (pre PRC result)
- vecout[LR].dbl (post PRC result)
- convolved pulses in slots 1 & 2 (written to folder \Testconvolution)

Add in digital XO's, driver linearization and time alignment, and the job gets bigger and complicated with more steps and more opportunities for errors as you can read in my ebook. Btw, Acourate's Macro's are just the tip of the DSP iceberg in Acourate, which is a fully featured digital audio toolbox.

The point is, it is one thing to assemble the run time pieces (i.e. plugins, convolvers digital delays, etc.), but it is another thing entirely to design a filter that improves the speaker systems accuracy and successfully integrate the speaker system into a room (or car).

PS. David's excellent Focus Fidelity Designer had digital crossovers on his TODO list next, maybe check with him to see where he is at since you already have his software.
 
You won't degrade the signal going through plugins unless you do something stupid - the music we listen to has gone through countless plugins already in production. I don't know Focus Fidelity, presumably it gives you an automated LR .wav file? (FIR)

It's a bit of a deep dive but here you go in a nut shell: Set up your desired XO in rePhase and export them as .wav impulse response into REW and apply your LR correction filters to each channel you are using (A*B) and you've got basic a correction filter you can plug into HLC as the basis, you can use your work from following OCA's method and apply it to the XO. HLC Host is a very handy toolbox for development with plugins. Here's a sample:

View attachment 450005 View attachment 450008

This is a highly experimental graph but shows what's possible - input goes off to a couple meters on either side but otherwise directly to 2 plugins doing the exact same filters, Qrange via IIR and Sir3 via FIR. They both go to an A/B switch then into DLBC where I let Dirac do its magic thing with subs. It then goes to HLC that, in this instance, just had a XO without any correction filters applied for my 3 way active speakers + 2 subs. The last 2 channels on right exiting HLC are sub channels which go to delay, then EQ plugins (again IIR and FIR option) before exiting the graph to my 8ch DAC. By toggling bypass on any plugin (including Dirac) new filter experiments in any form can quickly be implemented and measured. With this graph I was experimenting with various ways of EQ and the effects on delay with the different filter types (IIR vs FIR) and measuring them in REW. Mitch has a similar picture of mine on his website showing DLBC as an example.

A lot of flexibility to play before committing. All of those plugins except Sir3 are free BTW. In practice, this is what I use once filters are baked in if using DLBC or just straight to HLC and sub routing to DAC if not - you can save as many different graphs as you can come up with and the plugin settings will retain:

View attachment 450009

edit: here's a screenshot of my plugin folder toolbox - these are shown as Mac AU plugins but all available as VST for PC and free:

View attachment 450011
Much great info to look into here.

Focus Fidelity drives 2 channels and provides a 2 channel correction WAV I then load into HLC. I could setup plugins in front of that and have FF recreate the convolution file.

That A/B switcher seems crucial enabling swapping out filter-sets that include differences in the signal path. I don’t know how else A/B testing is possible.

I will circle back with more questions once I have a little time with this.

Thanks again!
 
Some of those plugins in my folder aren't free, I've got a lot of them by beta testing and gratuitous gifts from devs.
The point is, it is one thing to assemble the run time pieces (i.e. plugins, convolvers digital delays, etc.), but it is another thing entirely to design a filter that improves the speaker systems accuracy and successfully integrate the speaker system into a room (or car).

Yup, I over simplified a lot of things lol. If @RocketRanger managed to get through one of OCA's videos I think he has a small grasp of some of that, he will upgrade the monitors shortly I suspect. Good to see you here checking in again on ASR @mitchco.

I've never seen the signal processing path for Acourate before, nice to know it basically follows my own method.
 
The issue is system design. Generating digital XO's and adding digital delay plugins is easy on its own. How to integrate them into a cohesive system design, along with driver time alignment, perhaps even driver linearization, is another story. For DRC, there are sequential steps performed at each stage of the filter design process, each one having a specific purpose.

For example, here are the basic steps for an older version of Acourate. Acourate DRC uses "Macros" which organizes the design of a FIR filter in steps, along with a way to simulate the end result so you don't have to figure a way to verify your filter design by trying to measure it through convolution (which is entirely possible):



Add in digital XO's, driver linearization and time alignment, and the job gets bigger and complicated with more steps and more opportunities for errors as you can read in my ebook. Btw, Acourate's Macro's are just the tip of the DSP iceberg in Acourate, which is a fully featured digital audio toolbox.

The point is, it is one thing to assemble the run time pieces (i.e. plugins, convolvers digital delays, etc.), but it is another thing entirely to design a filter that improves the speaker systems accuracy and successfully integrate the speaker system into a room (or car).

PS. David's excellent Focus Fidelity Designer had digital crossovers on his TODO list next, maybe check with him to see where he is at since you already have his software.
I will check with David. FF and HLC have been a great software in addition to REW. What a great time to be in audio!
 
Some of those plugins in my folder aren't free, I've got a lot of them by beta testing and gratuitous gifts from devs.


Yup, I over simplified a lot of things lol. If @RocketRanger managed to get through one of OCA's videos I think he has a small grasp of some of that, he will upgrade the monitors shortly I suspect. Good to see you here checking in again on ASR @mitchco.

I've never seen the signal processing path for Acourate before, nice to know it basically follows my own method.
“Upgrade the monitors…” is that a jab at my JBL CONTROL MICRO 3” work horses?
 
;)

If you XO at 200Hz maybe....
 
Back
Top Bottom