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.
EqAPO is a system wide equalizer so you can use any player. I often use VLC player or JRiver. Sometimes I turn off EqAPO's convolver and use the one in JRiver because when you play a movie it corrects for the delay that the convolver creates by delaying the video equally. Usually though I just turn off the convolver for video playback and keep the regular EQ stuff.

Because of the latency issue, I always separate phase correction from EQ so that I can at least have EQ with no latency when latency is an issue.
 
Also to clarify, I always keep equalizer APO active however I am turning off the convolver engine that runs only the phase correction impulse file.

Frequency response correction seems to have no latency or at least not enough to make any difference. I just want to make sure that people know they will not have latency issues unless they get into fancy phase correction stuff which almost nobody wants to do because it's very difficult to get the proper measurements to do it. You must take separate measurements for the phase correction and they must be close range or you will not get anything decent to work with. The sound moving around in the room bouncing off of surfaces walls and whatnot will completely destroy your phase data. Measuring at close range with low volume levels to minimize room interaction works best for phase measurements. This is why it is impossible to get decent phase correction with any automatic system such as Audyssey or dirac live. I think it's pretty funny that dirac live advertises phase correction.

I think that the fact this requires separate different styles of measurement is all the more reason to process it as a separate layer.

As you suggested using a player that can offset the video will solve this problem of latency with the convolver engine. My biggest issue is with Netflix and YouTube as well as other streaming services. It would be really nice to find a player they can access these sources and also has the video delay function.
 
Last edited:
Is anyone here using rephase and the convolver engine in equalizer APO to fix the crossover phase issues? I don't think I have ever seen another system that uses this.

This trick allows me to use 1/8 order crossover between my mid-range and tweeters to really pull down that crossover point without any of the strange effects that I would normally get out of an eighth order LR. The rest of the Crossovers on the 4-way system are 4th order LR and phase correction is applied to fix not only the crossover phase wrap but also The Oddities introduced by the ported speakers. I believe the result is really worth it, I've got a chesky recording of a drum solo and it just blows people away.

The difference is very noticeable with the kick drum. I think the phase wrap issues that are introduced by crossovers produce somewhat of a fatiguing effect. This is apparently not an issue with certain kinds of fir filters but the really cool thing about doing the phase correction separately is that you can actually fix the phase issues with passive crossovers or regular IIR DSP crossover such as the ones used in the mini DSP units. Being able to fix passive crossover and port phase issues is really spectacular in my opinion.

Obviously frequency response issues are a much bigger problem and should be addressed first, but if you manage to perfect that then I believe the next step is to address these phase issues.
 
Last edited:
You can also change in EQ Apo quickly if you edit config.txt file, just have in clipboard prepared different setup, change the file, save it, and instantly it is active configuration.

I am very aware of this. It's still more work than changing setups with pedalboard. It really is 4 mouseclicks to replace the whole setup with another pre configured one. Very handy when comparing different xo slopes.

Ryan:
That was my intention. To use eqapo for phase corrections only, but still stuck in happy mode after finding some good xo settings, so not very motivated to make the final measurements needed. It's on the (very) long list of stuff to do though.
 
Last edited:
You can do that in EQAPO with include files. 2 clicks, actually.

I did not know that. Is that if you choose to use the gui?
I am not compatible with the eqapo gui, much easier to edit the text files.

Edit:
rePhase is quite good and easily understandable.

REW (on my computers at least) seem to have some problems with the gui as sometimes text will not show or update properly when going through low level menus and after a short while it's like navigating blindly, you just have to know where the stuff you need is located, so great tool, but with glitches.

EqAPO is a brilliant idea, but since you cannot route audio from another device you must either accept that all games and other programs must frequently be told what to do (or live with 7.1 surround routed to stereo speakers because in some programs you just can not set it manually) because of "user friendliness", or you must route audio through other software. The config.txt is relatively easy to edit to your hearts content however poorly explained the online wiki is, but it's easy once you "get it", but just setting filters and copying channels in the GUI is close to impossible for me. After a short shile you end up with a major library of filter settings and a big bunch of config files (given names by date and acronyms for general settings).

Some random VST host and a few select plugins however, you just drag whatever signal to input, set filter and drag the filter out to the soundcard output. Ridiculously easy, very low lag depending on filter and other functions. Just one single file for each completely different setup stored, all settings intact. If I decide to assign the file type to my VST host, and also use the dreadful link style opening of files and folders, I can if I want to, use one single click to change whole setups.
 
Last edited:
I did not know that. Is that if you choose to use the gui?
I am not compatible with the eqapo gui, much easier to edit the text files.
What I had in mind was building 2 additional config files with the different settings. After including BOTH in config.txt, you can simply choose which one is enabled. This is 2 clicks in the GUI. If editing config.txt manually, you'd need to comment the appropriate line & save, obviously.

Code:
Device: Benchmark
Channel: ALL
Preamp: -6 dB
# Include: HouseCurve.txt
# # # # #
# Choose just 1 of the following lines:
Include: HaflerSurround.txt
# Include: Movie7.1.txt
# # # # #
Include: SpkrCorrection.txt
 
You can also do this with one double click on a desktop shortcut. Just create shortcuts to batch files that simply use the copy command to overwrite config.txt
eg: copy /y config1.txt config.txt

Thank you for this. No need to open the gui at all. :)
Like previously mentioned this is very handy for a/b(/c) comparison of settings, we can fool ourselves with memory, better to quickly swap settings frequently to find the pro's and cons.
 
I've been posting about this over in another thread, over in the full range section. Basically I've been using my PC with equalizer APO as the crossover in my fast system. I designed the speakers with this in mind using metal drivers that I can control well.

Basically I apply a variable band equalizer to each driver and shape the contour of the frequency responses so that they sum to flat. It seems to be working fine.

I've read some comments about this kind of linear phase equalization not being in phase or free from artifacts. It sounds like the OP is suggesting a different way using equalizer apo and rephase software.

Whats wrong with just using the variable band equalizers?
 
I've read some comments about this kind of linear phase equalization not being in phase or free from artifacts.

I don't understand what kind of Eq you are using, but one thing is sure, if it is linear phase, it is plain wrong.

If you want to correct amplitude issues use minimum phase eqs.

Generally we need to correct both amplitude and related phase issues, and this is what min phase Eqs do, whereas linear phase eqs do correct amplitude, but mistakenly live the phase untouched.

Phase can also be Equed living amplitude untouched, but it's a different question.

A linear phase Eq is... well a sound fx of some kind that some guys involved in music production seem to find usefull, but to correct the response of a loudspeaker it is the wrong tool...:rolleyes:
 
Last edited:
Trouble getting EqAPO to work

I having a hard time getting this software to work properly as an active crossover. I'd like to power my 3-way speakers through a 7.1 receiver (Pioneer VSX74-TXVi).

My file syntax is below. I receive weird results with the treble and midrange, but the bass seems to work just fine. Anyone willing to take a look? Note that I have not measured my speakers yet, so this is a quick-and-dirty attempt at a crossover. I am reading Joe D'Appolito's book on how to conduct measurements properly, and also working with VituixCAD.

#Channel Assignment Standards
# 1=Left, 2=Right, 3=Center, 4=Subwoofer, 5=Rear left, 6=Rear right, 7=Side left, 8=Side right
#Use left, center, and surround left for the bass, midrange, and treble speakers on the left speaker.
#Use right, rear right, and side right for bass, midrange, and treble speakers on the right speaker.

Device: VSX-74TXVi Intel(R) Display Audio {6691a411-ecd1-4f85-8ce0-42f47aa0c665}
Copy: R=R C=R RR=R
# Copy: L=L RL=L SL=L

#Woofer, right speaker
Channel: R
Preamp: 8.6 dB
Filter: ON LP Fc 250 Hz
Filter: ON LP Fc 250 Hz

# Channel: L
# Preamp: 9 dB
# Filter: ON LP Fc 250 Hz
# Filter: ON LP Fc 250 Hz

#Midrange
Channel: RR
Preamp: 4.6 dB
Filter: ON HP Fc 250 Hz
Filter: ON HP Fc 250 Hz
Filter: ON LP Fc 1700 Hz
Filter: ON LP Fc 1700 Hz

# Channel: SL
# Preamp: 4 dB
Equaliser: Generic
# Filter: ON HP Fc 200 Hz
# Filter: ON HP Fc 200 Hz
# Filter: ON LP Fc 1700 Hz
# Filter: ON LP Fc 1700 Hz


#Horn
Channel: C
Preamp: -6 dB
Filter: ON HP Fc 1700 Hz
Filter: ON HP Fc 1700 Hz

# Channel: RL
# Preamp: 0 dB
# Filter: ON HP Fc 1700 Hz
# Filter: ON HP Fc 1700 Hz
 
You could try this 4th order LR4 (Linkwitz-Riley) 3-way crossover script:

Code:
# This code creates 3-Way Crossover preset
# Brought to you by [email]jiiteepee@yahoo.se[/email]
# 
# ==========================================
# Set cut off frequencies
# ==========================================
# High
Eval: fcT = 1700

# Mid
Eval: fcML1 = 250
Eval: fcMH1 = 1700

# Low 
Eval: fcW = 250
#===========================================

# Check the channel configs
# [url=https://sourceforge.net/p/equalizerapo/wiki/Configuration%20reference/]Equalizer APO / Documentation Wiki / Configuration reference[/url]
# Channels (7.1) L,R,C,SUB,RL,RR,RC,SL,SR
#                1,2,3,4,  5, 6, 7, 8 ,9
#
Copy: C=L SUB=R
Copy: RL=L RR=R
Copy: SL=L SR=R

# ==========================================
# CALCULATIONS AND FILTERING
# ==========================================

#-----------------------------------------
# High
#-----------------------------------------
Channel: SL SR

Eval: wc=2*pi*fcT
Eval: wc2=wc*wc
Eval: wc3=wc2*wc
Eval: wc4=wc2*wc2
Eval: k=wc/tan(pi*fcT/sampleRate)
Eval: k2=k*k
Eval: k3=k2*k
Eval: k4=k2*k2
Eval: sqrt2=sqrt(2)
Eval: sq_tmp1=sqrt2*wc3*k
Eval: sq_tmp2=sqrt2*wc*k3
Eval: a_tmp=4*wc2*k2+2*sq_tmp1+k4+2*sq_tmp2+wc4

Eval: b0 = 1
Eval: b1=(4*(wc4+sq_tmp1-k4-sq_tmp2))/a_tmp
Eval: b2=(6*wc4-8*wc2*k2+6*k4)/a_tmp
Eval: b3=(4*(wc4-sq_tmp1+sq_tmp2-k4))/a_tmp
Eval: b4=(k4-2*sq_tmp1+wc4-2*sq_tmp2+4*wc2*k2)/a_tmp

Eval: a0=k4/a_tmp
Eval: a1=-4*k4/a_tmp
Eval: a2=6*k4/a_tmp
Eval: a3=a1
Eval: a4=a0

Filter: ON IIR Order 4 Coefficients `a0` `a1` `a2` `a3` `a4` `b0` `b1` `b2` `b3` `b4`
Filter: ON HP Fc 10 Hz

#-----------------------------------------
# Mid (Low)
#-----------------------------------------

Channel: C SUB

Eval: wc=2*pi*fcML1
Eval: wc2=wc*wc
Eval: wc3=wc2*wc
Eval: wc4=wc2*wc2
Eval: k=wc/tan(pi*fcML1/sampleRate)
Eval: k2=k*k
Eval: k3=k2*k
Eval: k4=k2*k2
Eval: sqrt2=sqrt(2)
Eval: sq_tmp1=sqrt2*wc3*k
Eval: sq_tmp2=sqrt2*wc*k3
Eval: a_tmp=4*wc2*k2+2*sq_tmp1+k4+2*sq_tmp2+wc4
Eval: b0 = 1
Eval: b1=(4*(wc4+sq_tmp1-k4-sq_tmp2))/a_tmp
Eval: b2=(6*wc4-8*wc2*k2+6*k4)/a_tmp
Eval: b3=(4*(wc4-sq_tmp1+sq_tmp2-k4))/a_tmp
Eval: b4=(k4-2*sq_tmp1+wc4-2*sq_tmp2+4*wc2*k2)/a_tmp

Eval: a0=k4/a_tmp
Eval: a1=-4*k4/a_tmp
Eval: a2=6*k4/a_tmp
Eval: a3=a1
Eval: a4=a0

Filter: ON IIR Order 4 Coefficients `a0` `a1` `a2` `a3` `a4` `b0` `b1` `b2` `b3` `b4`

#-----------------------------------------
# Mid (High)
#-----------------------------------------

Eval: wc=2*pi*fcMH1
Eval: wc2=wc*wc
Eval: wc3=wc2*wc
Eval: wc4=wc2*wc2
Eval: k=wc/tan(pi*fcMH1/sampleRate)
Eval: k2=k*k
Eval: k3=k2*k
Eval: k4=k2*k2
Eval: sqrt2=sqrt(2)
Eval: sq_tmp1=sqrt2*wc3*k
Eval: sq_tmp2=sqrt2*wc*k3
Eval: a_tmp=4*wc2*k2+2*sq_tmp1+k4+2*sq_tmp2+wc4
Eval: b0 = 1
Eval: b1=(4*(wc4+sq_tmp1-k4-sq_tmp2))/a_tmp
Eval: b2=(6*wc4-8*wc2*k2+6*k4)/a_tmp
Eval: b3=(4*(wc4-sq_tmp1+sq_tmp2-k4))/a_tmp
Eval: b4=(k4-2*sq_tmp1+wc4-2*sq_tmp2+4*wc2*k2)/a_tmp

Eval: a0=wc4/a_tmp
Eval: a1=4*wc4/a_tmp
Eval: a2=6*wc4/a_tmp
Eval: a3=a1
Eval: a4=a0
Filter: ON IIR Order 4 Coefficients `a0` `a1` `a2` `a3` `a4` `b0` `b1` `b2` `b3` `b4`

#-----------------------------------------
# Low
#-----------------------------------------
Channel: L R

Eval: wc=2*pi*fcW
Eval: wc2=wc*wc
Eval: wc3=wc2*wc
Eval: wc4=wc2*wc2
Eval: k=wc/tan(pi*fcW/sampleRate)
Eval: k2=k*k
Eval: k3=k2*k
Eval: k4=k2*k2
Eval: sqrt2=sqrt(2)
Eval: sq_tmp1=sqrt2*wc3*k
Eval: sq_tmp2=sqrt2*wc*k3
Eval: a_tmp=4*wc2*k2+2*sq_tmp1+k4+2*sq_tmp2+wc4

Eval: b0 = 1
Eval: b1=(4*(wc4+sq_tmp1-k4-sq_tmp2))/a_tmp
Eval: b2=(6*wc4-8*wc2*k2+6*k4)/a_tmp
Eval: b3=(4*(wc4-sq_tmp1+sq_tmp2-k4))/a_tmp
Eval: b4=(k4-2*sq_tmp1+wc4-2*sq_tmp2+4*wc2*k2)/a_tmp

Eval: a0=wc4/a_tmp
Eval: a1=4*wc4/a_tmp
Eval: a2=6*wc4/a_tmp
Eval: a3=a1
Eval: a4=a0

Filter: ON IIR Order 4 Coefficients `a0` `a1` `a2` `a3` `a4` `b0` `b1` `b2` `b3` `b4`

Check the channel mapping to match yours!
 
Channel assignments

Speaking of channel assignments, this, I think, is where the confusion is starting.

I have tried your program, but without success here too, perhaps because of the channels. My receiver uses the following names:

Front R
Front L
Center
Surround R
Surround L
Surround Back R
Surround Back L

Which numbers or letters do all of the surround channels map to in EqAPO?

Also, how do I add a preamplification to each channel independently? I would like to be able levels match each driver independently. I also have struggled to get this to work consistently.

Thanks,
David
 
This is what I do on my two way set up. The soundcard is set to quadraphonic so theres no center or sub channels. I think it will work with more than 4 channels but haven't tried it.

Copy: L=L+RL R=R+RR
Copy: RL=L RR=R

This mirrors the rear channels with the front.

Then I use a channel selector, an equalizer and preamp on each of the channels to control the two sets of drivers independently.

Last I switch the channel selector to all and use an equalizer to apply baffle step.

After some experimentation I've found that just a straight drop (infinite slope) down to -95db sounds the best. Overlapping the drivers creates lobing which hurts imaging (unless drivers are playing low frequencies)


I've attached a picture of a woofer.
 

Attachments

  • Screenshot (6).png
    Screenshot (6).png
    96 KB · Views: 617
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.