Equalizer APO, REW and Rephase WOW!

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
He means that GraphicEQ outputs IR data for internal convolution engine so, that's why you can make filters with nearly arbitrary frequency response without screwing the phase.
Jonas opens this a bit here
Thank you for finding this. It clearly states that EQAPO's GraphicEQ is minimum-phase, meaning that you canNOT use it to make filters as you state. (Convolution can process amplitude & phase independently, but not every convolution operation actually does.) These filters won't screw phase for FR correction, but they clearly won't create a linear-phase crossover without additional correction via another method.

Really, that distinction is the major focus of this thread. Note "rePhase" in the title.

And this point contradicts what 33Polk posted earlier:
There is no analog phase shift, so no need to. It's getting rid of the phase issues that would be in a typical crossover.
That's all I've been trying to point out.

Let's just assume that there was no such thing as phase shift.

The real issue is that if you are crossing over to a tweeter that is at a different spot on the baffle...
I understand these things & am trying to highlight a different aspect of your method. Or, at least, what I believe your method is. But you're moving the goalposts, rather than addressing my concerns. When someone brings up phase issues, we won't get very far by immediately assuming it doesn't exist...

I was concerned about the same thing, but I have measured the before and after amplitude and phase response, and I get what I am expecting, so it is possible.
Marc, I agree that the method you describe can work. However, I believe that 33Polk is not using rePhase at all. I certainly can't find any evidence of it.

If I'm correct, his method of using incredibly steep, minimum-phase filters for his crossovers has consequences. And it's certainly not as simple as "there's no reason to not go very steep." For example, the Grimm paper I mentioned before has some interesting comments about the off-axis behavior of steep XOs.

Isnt he whole idea that they don't sum. If they don't overlap, they don't need to sum. -90 dB 5 Hz away.

Well there is a 6 Hz wide passband that will be wacky... is that a problem? :)
Well said, indeed. Unlike what I posted! I'll stick to the minimum- versus linear-phase detail for now.
 
These filters won't screw phase for FR correction, but they clearly won't create a linear-phase crossover without additional correction via another method.

Really, that distinction is the major focus of this thread. Note "rePhase" in the title.

And this point contradicts what 33Polk posted earlier:That's all I've been trying to point out.


I understand these things & am trying to highlight a different aspect of your method. Or, at least, what I believe your method is. But you're moving the goalposts, rather than addressing my concerns. When someone brings up phase issues, we won't get very far by immediately assuming it doesn't exist...

If I'm correct, his method of using incredibly steep, minimum-phase filters for his crossovers has consequences. And it's certainly not as simple as "there's no reason to not go very steep." For example, the Grimm paper I mentioned before has some interesting comments about the off-axis behavior of steep XOs.

I will look at the Grimm paper at some point.

However I never said or assumed that phase shift "doesn't exist". The point is simply that when you have sound coming from two sources more than 1/4 wavelength apart they will be interfering with each other, at certain points in space, period.

So you can't eliminate physical phase issues with rephase or "linear phase" crossovers of anything else.

Thus a very steep slope that transitions from one driver to another over a few hz is desirable and will be less audible.

I'm not an expert on the electrical phase of AC circuits, but I highly doubt that whatever algorithm being used in Equalizer APO is introducing the same kind of electrical phase shifts that are present in a typical crossover. If it is, fine, all the more reason to use a steep slope and rapid transition between drivers, since the issues are of a physical nature.

If you accept that it is preserving phase as a equalizer then it will doing the same as a crossover.
 
...

Thus a very steep slope that transitions from one driver to another over a few hz is desirable and will be less audible.

I'm not an expert on the electrical phase of AC circuits, but I highly doubt that whatever algorithm being used in Equalizer APO is introducing the same kind of electrical phase shifts that are present in a typical crossover. If it is, fine, all the more reason to use a steep slope and rapid transition between drivers, since the issues are of a physical nature.

If you accept that it is preserving phase as a equalizer then it will doing the same as a crossover.

Splitting bands with Linkwitz-Riley.
 
After some more research here's what I found;

1. Equalizer APO is apparently a linear phase equalizer. It has ZERO phase shift, not an issue whatsoever.

2. There are two issues with linear phase equalizers, one is delay which unless your a competitive gamer doesn't matter.

3. The other issue is ringing. This is more like an artifact from digital processing. How audible it is is debatable, but here a few articles addressing it.

Linear Phase EQ Explained - Crave DSP

Pre and Post Effin Ringing and **** like that | Super Best Audio Friends

The bottom line is that steep slopes do sound better, but don't make them unnecessarily STEEP, because it can be an issue. I changed my crossover to between 950-1050 hz, so not crazy steep, but steep than a typical crossover.

The issue of ringing is IMO less of an issue than lobing or the phase shift of normal crossovers, but it exists nonetheless.
 
Last edited:
I had ringing on a sub once, it was really bad. Using 16th order filters and higher.
Worst was Elliptic. Butterworth and also Bessel worked reasonably well. It is easier to notice it on low-ish frequencies(60-350hz maybe?), it is a real issue. I have been sticking to 8th order and lower since that time. Sometimes make setups with different slope xo's, and just fast switch between them to find the one that works best. Sometimes you got to mix types and orders.
 
Last edited:
I had ringing on a sub once, it was really bad. Using 16th order filters and higher.
Worst was Elliptic. Butterworth and also Bessel worked reasonably well. It is easier to notice it on low-ish frequencies(60-350hz maybe?), it is a real issue. I have been sticking to 8th order and lower since that time. Sometimes make setups with different slope xo's, and just fast switch between them to find the one that works best. Sometimes you got to mix types and orders.

A number of studies have shown that we aren't very sensitive to phase, but we are sensitive to off axis problems like lobing. So a steep slope is better, and sort of reduces the overall affect of the crossover, especially in an active system.

Ringing can occur though, in any type of steep slope. Possibly using a variable slope in the crossover would help.
 
I understand what you are saying. And am very familiar with the pro-steep filters arguments you use.

Just mentioning that steep slopes are not always the best answer.
You have to hear bad ringing in order to properly identify it. I had no clue, just messing around trying steep filters because it was "all the rage", experimenting. After some days/weeks I try to go back to my old settings with the "slow" filters just to laugh at my vast improvement, notice this really weird effect on my subs first, after switching back and forth, thinking "they are not supposed to sound like this?", after noticing it there and identifying the problem, I found the same problem present in my other filters as well.
What it sounds like is heavily dependent of the frequency the filter works on. It sort of changes in "speed and pitch", do not know how to describe it.

If you do not have these problems then good for you.
I need more testing to get the filters right, just choosing a frequency and setting the steepest filters does not always give optimal results.

It is easy to "shrug it off", "just my imagination playing tricks". You can fool yourself into "knowing" you are making improvements, but maybe you are getting further away from your goal. Quick changing filter settings while listening to varied music is my solution. I rarely choose more than 48db/oct after testing.

I know I was fooling myself into thinking it was better.
 
Last edited:
Kaffiman, thanks. I wouldn't go steep on a sub anyways since low frequencies are more affected and overlap isn't an issue (unless you have distortion problems). Do you think a variable slope that gets steeper and steeper would help with the potential ringing? I was looking into this.
 
It is not that "low frequencies are more affected". All filters are equally affected. It is just easier to notice it on subs because the wavelengths are longer. Once you know what to "hear for" you can find it on higher frequencies too.

I have not found a steep filter that does "all the magic" with no bad sides. I go mostly 48db/oct under 7-900hz, maybe 24db/oct up to nearly 2khz, but often end up with 12db/oct bessel.
Combinations of different topologies and orders/slopes for HP/LP can work really well. I like Butterworth combined with Bessel, got to mix'n'match the frequencies a bit.
Legendre-Papoulis filters can be fun to try, they are steeper than Butterworth.
 
Kaffiman, thanks. I wouldn't go steep on a sub anyways since low frequencies are more affected and overlap isn't an issue (unless you have distortion problems). Do you think a variable slope that gets steeper and steeper would help with the potential ringing? I was looking into this.
1st or 2nd order Neville-Thiele linear-phase FIR as offered eg by the Acourate(tm) toolbox is a very good compromise in that it has infinite steep slopes yet the "knee" is very soft (hence considerable overlap) and correspondingly the (off-axis) ringing is quite moderate for such a steep filter.
 
1st or 2nd order Neville-Thiele linear-phase FIR as offered eg by the Acourate(tm) toolbox is a very good compromise in that it has infinite steep slopes yet the "knee" is very soft (hence considerable overlap) and correspondingly the (off-axis) ringing is quite moderate for such a steep filter.

Thanks I will look into it or try to emulate it with equalizer apo.

Question, does ringing only occur off axis? I thought it is signal timing issue?

Also why do some crossover models show them meeting at -6db? I thought to sum flat all crossovers must meet at -3 db (coherent source)?
 
Thanks I will look into it or try to emulate it with equalizer apo.

Question, does ringing only occur off axis? I thought it is signal timing issue?

Also why do some crossover models show them meeting at -6db? I thought to sum flat all crossovers must meet at -3 db (coherent source)?
When the transfer function are in phase (0° phase offset between ways, like in a Linkwitz-Riley) then they are 6dB down at the intersect, both drivers supply one half of the output, their outputs add directly (scalar addition). If there is phase offset, the intersect is at a higher level because the outputs add less than perfect. For a 90° offset (as seen with eg a Butterworth crossover) each way supplies 0.72x of the output (vector addition). Any phase offset (except a straight 180°) is possible but beyond 120° the addition is destructive, each way supplies more that the sum. Not very useful, for a variety of reasons.

A proper crossover is designed to sum to flat frequency response and the ringing of the ways fully cancel at least on-axis, off-axis the cancelling isn't perfect mainly because of the time-of-flight differences. There is no way to correct this electrically.
This is not to be confused with the typically non-zero phase response of the total (summed) transfer function which adds another kind of "ringing". The higher the order the stronger the phase shifts and corresponding smearing of the transient response. But this is a one-dimensional effect and can be corrected by applying an overall phase correction to give a linear phase response.
 
When the transfer function are in phase (0° phase offset between ways, like in a Linkwitz-Riley) then they are 6dB down at the intersect, both drivers supply one half of the output, their outputs add directly (scalar addition). If there is phase offset, the intersect is at a higher level because the outputs add less than perfect. For a 90° offset (as seen with eg a Butterworth crossover) each way supplies 0.72x of the output (vector addition). Any phase offset (except a straight 180°) is possible but beyond 120° the addition is destructive, each way supplies more that the sum. Not very useful, for a variety of reasons.

A proper crossover is designed to sum to flat frequency response and the ringing of the ways fully cancel at least on-axis, off-axis the cancelling isn't perfect mainly because of the time-of-flight differences. There is no way to correct this electrically.
This is not to be confused with the typically non-zero phase response of the total (summed) transfer function which adds another kind of "ringing". The higher the order the stronger the phase shifts and corresponding smearing of the transient response. But this is a one-dimensional effect and can be corrected by applying an overall phase correction to give a linear phase response.

I don't understand phase and crossovers as well as you do. It sounds like you're saying that you can't just use a decibel (logarithmic) calculator to sum the slopes of the crossover.

It sounds like your saying the change in phase changes how the slopes sum. IOW in phase will have mutual coupling and out of phase will have total cancellation.

So then what's the best way to set a slope for a driver using equalizer apo? I believe its a minimum phase equalizer. So then I have to calculate phase? This almost seems irrelevant because at every position other than equal distant between the two drivers there is going to be a different phase relationship?

The set-up I have now (I use the equalizer slopes to make a steep slope crossover) seems to sound good, but some people here have questioned what I am doing is really a legitimate crossover or an out of phase mess :D

Sorry for all the questions and thank you for clearing things up.
 
Last edited:
Great thread guys!

Just found it now after playing with eAPO for software-based system-wide bass management (not doing BM upstream so that I can then use Room-Correction software to correct the sub channel).

Questions -
1. I used the LR-4 coefficient filter provided here to replace the built-in eAPO filters. I saw that it takes the sampleRate as an input. Isn't that a bit problematic for different content?

2. Is rePhase relevant for sub integration as well? Will it replace the need for LR-4/HPF/LPF filters in eAPO? Will it replace the need for summing?

3. Regarding summing for 2.0 --> 2.1 - is SUB=0.5R+0.5L correct? I see how this is good for a sine wave of equal level played on both channels but what if the channels contain uneven Stereo bass content? Is that an issue/limitation of using a subwoofer? Any alternatives? rePhase?

4. Any tips to setup/research/measure for Sub integration for Stereo music with eAPO/REW/rePhase?



An externally hosted image should be here but it was not working when we last tested it.


LP | HP+LP | HP

Code I use is taken from here.

The pic is from eAPO analyzer or a different software? If it is from eAPO, how did you combine the channels on the graph?


A small contribution -

1. eAPO is generally deployed as an APO, meaning it passes the windows OS Mixer. There is another option, as eAPO also implemented support for VoiceMeeter API client which can used in exclusive mode end-to-end thus bypassing the OS Mixer, I shared details here: HOWTO: VSTs & Loudness & Virtual Zones & Exclusive mode & System/Notifications/Other Apps Sounds - All together! Oh and Dirac is there too ^_^8 - Roon Software - Roon Labs Community

It has some quirks, like Loudness filter not getting the correct volume, etc. If there's a C++ person in the crowd maybe he can take the challenge :)

2. Haven't seen mentioned in this thread but if moving eAPO stage to pre-mix an inputChannelCount condition can be used to set different configs automatically based on channel count:
Code:
Stage: pre-mix
If: inputChannelCount == 2
    # Upmix 2.0 to 2.1 with Crossovers 
ElseIf: inputChannelCount == 6
	# Bass Management for 5.1 content (10dB LFE, summing, etc) 
EndIf:
 
...

Questions -
1. I used the LR-4 coefficient filter provided here to replace the built-in eAPO filters. I saw that it takes the sampleRate as an input. Isn't that a bit problematic for different content?

...

The pic is from eAPO analyzer or a different software? If it is from eAPO, how did you combine the channels on the graph?

#1 It depends.
IIRC, EqualizerAPO don't recognize samplerate change done through system options or through software features ... and worst is that you can't see which samplerate EqualizerAPO uses (I have suggested Jonas to add support for samplerate change and a (Editor) GUI field for to display the current fs ... so maybe someday ...).

Captures from Config Editor and the final pic is combined using Windows Paint (there's this transparent option when inserting images).
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.