EASY FIR crossover PC based+DRC

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
FIR crossover for J River or VSThost

an esay way to build a simple FIR crossover PC based.
for j river or other VSThost

using the free software rePhase to generate differents impulses.

rePhase | Free Audio & Video software downloads at SourceForge.net

very steep slopes (till 1000 dB/oct) can be created.
FIR equalization.
FIR crossover.
system phase correction
65535 taps IR lenght

VSThost+VSTconvolver(+SIR v1.011 for DRC and phase correction )
asio4all,a virtual audio cable is needed if internal source is used.


HPF filter,sound card output (example )
noise floor is high,laptop internal sound card :(

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



phase linearization

measure 1M before (3 ways,120 hZ,3500 Hz )
An externally hosted image should be here but it was not working when we last tested it.


after linearization

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


IR's before/after

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


final equalization with rePhase and JBL target curve import in HOLM

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



synoptic

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




to use VSTconvolver:
ConvolverVST

to make a simple config file
Config file

examples of config file

Config examples

i'll show more accurately how to configure the chain
 
Last edited:
yes,i'm gonna give more details

for my little ears,i do not found difference between linear phase and minimum phase,but it's free to do,so let's do it !

i've spend some time to make it working but now it's very simple to build

today,it's late in France.:sleep:
tomorrow
 
Last edited:
I've downloaded it, and look forward to playing with it. Thanks.

The phase thing in general is very interesting, and something I don't yet feel I entirely understand.

In the second illustration down, the phase goes through several 'wraps' of 360 degrees. This might be explained by a constant delay caused by, say, the distance between driver and mic, with the true phase shift of the speaker riding up and down on top of the linearly descending line, presumably(?). If we somehow infer what the constant delay is and remove it, and yet the phase still goes through several 'wraps', can we still linearise it? Am I really talking about 'minimum phase' vs. 'excess phase'? (two terms whose meanings I don't think I fully understand yet). Programs like REW allow you to export what they call a minimum phase version of the impulse response. How do they separate the minimum from excess phase, and does your program implicitly do the same thing, Thierry?

Thanks!
 
Last edited:
In the second illustration down, the phase goes through several 'wraps' of 360 degrees. This might be explained by a constant delay caused by, say, the distance between driver and mic, with the true phase shift of the speaker riding up and down on top of the linearly descending line, presumably(?). If we somehow infer what the constant delay is and remove it, and yet the phase still goes through several 'wraps', can we still linearise it? Am I really talking about 'minimum phase' vs. 'excess phase'? (two terms whose meanings I don't think I fully understand yet). Programs like REW allow you to export what they call a minimum phase version of the impulse response. How do they separate the minimum from excess phase, and does your program implicitly do the same thing, Thierry?

Hi,
yes,we can linearize all phase shift,with fine work,phase can be limited to +-20° on the 20 Hz-20 Khz band.
this is not my software,my knowledge do not allow this powerfull tool
i hope the author comes to give some clear explanation.:)

the second screenshot shows the phase shift of the loudspeaker at 1M
this is the minimum phase.(combination of electrical phase shift+acoustic phase shift ).

micro is calibrated spl+phase
the measurement shows,in this case (3 ways )

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


for helping,to correct phase shift,detect the 0° of the phase shift (in reality this is multiple of 360°)

-35 Hz bass reflex tunning
-120 Hz analog active crossover
-3500 Hz passive crossover

with rePhse,the idea is to create a inverse phase shift,generate an IR,apply it to the signal before amp...and it's working...at 1 M.

at the listening point,reflexions of room cause more severals phases shift.

-at 1 M phase shift is about 550°
-listening point,phase shift if above 5000°

i'll show how to use,easily,rePhase to get a loudspeaker linear phase.

1- use the filters linearization tab
insert the theoritical phase shift
-bass reflex or closed box
-electrical cutoff

2- use the PPEQ to refine the curve

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
to create FIR crossover

VSThost+Vst convolver+asio4all
see the links before this post

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


setting asio4all

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


click on the tool tab for advanced config
click on blue tab to active input and output as shown below

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


configure asio input and output selection

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


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


configure output engine and input engine

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


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


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


it's up to eachother to choose wich channel gonna be used
i'm using 1+2 for LPF (front left+front right )
5+6 for HPF (rear left+rear right)

a sound card can be added to reach 2x8 channel,for tri or more multiway systems.

this setting takes less than 2 minutes once driver installed.

now,VST host is ready to work
next step generate IR from rephase
and insert IR in the convolver

later,i'll explain how to easily add a second convolution for DRC+phase correction.
 
Last edited:
open rePhase

tab linear filter

create an Impulse response you need (kind of filter,frequency,slopes)

adjust the graphic Y axis at -150 dB.(to see eventual ripple)
choose the same number of taps for each IR.

low pass IR (+bass boost if you need with GEQ section )

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


and another one HPF IR

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


open wordpad and write:

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

save with a name you're choosing
FIRcrossover.txt

explanation (same on VST convolver site)
Config examples
Config file

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


open VSTconvolver
and select the file .txt you've writed

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


result

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



configure all your media player output--->virtual cable

same with HOLM,REW or ARTA
you can check the result with a cable looping back to line in

use multiple instance of VST convolver is difficult.
for DRC and phase correction,
use SIR V1.011 freeware to insert a second (or more ) convolution
i'll will explain the way to do it

it's important to use the same number of taps for each IR in the cross over,delay will be different otherwise
to reduce delay of processing,increase the partition (paralelling process ) less delay,more load processor

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
it seems to be heavy,but it takes less than 10 minutes to configure

after,let's play with rePhase and differents setting of crossover
( a DX46 FIR commercial crossover cost 2000$,with a max of 512 taps ).

with a basic PC,you get a powerfull Xover+DRC,a full phase linear system,without external hardware.

only power amps connected to sound card.

i've try on a basic laptop,10 stereo convolutions (8000 taps )
load processor is about 23 %

with the desktop,the final config:
1 stereo convolution for DRC and phase correction (8000 taps )
2 stereo convolution for crossover 2 ways (8000 taps )

processor load 5%

example for 3 ways stereo config

crossover6w.txt

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


10 ms delay on HPF filter
-6 dB on the bandpas filter (coeff .5 )

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
I've downloaded it, and look forward to playing with it. Thanks.

The phase thing in general is very interesting, and something I don't yet feel I entirely understand.

In the second illustration down, the phase goes through several 'wraps' of 360 degrees. This might be explained by a constant delay caused by, say, the distance between driver and mic, with the true phase shift of the speaker riding up and down on top of the linearly descending line, presumably(?). If we somehow infer what the constant delay is and remove it, and yet the phase still goes through several 'wraps', can we still linearise it? Am I really talking about 'minimum phase' vs. 'excess phase'? (two terms whose meanings I don't think I fully understand yet). Programs like REW allow you to export what they call a minimum phase version of the impulse response. How do they separate the minimum from excess phase, and does your program implicitly do the same thing, Thierry?

Thanks!

Hi,
Holm Impulse will generally lock the offset of the impulse to the highest peak, so that the phase ends up at 0° at the end of the band and the delay is suppressed. In some case it will need some manual fine tuning (like when measuring a speaker with a high order and high frequency crossover) but Holm generally copes with this problem quite well.

Thierry is showing two different uses of rephase here: filter generation (which require one convolution per channel) and filter linearization (which only require a stereo convolution, in front of an existing crossover, passive or active).
In this second approach rephase is very similar to phase arbitrator:
DSP Loudspeaker Phase Arbitrator. Transient Perfect loudspeaker processor
http://www.thuneau.com/Loudspeaker Phase Arbitrator User Guide.pdf

In all cases it will only generate the correction impulse (embodying a filter or a simple phase or gain eq, etc.) and you then need a convolution engine to "run" it through inside your signal pass.
You can use a PC like Thierry is showing here, or an external convolution engine such as the mini DSP openDRC (limited to stereo for now, but it looks like it will envolve soon).
If you only wants to linearize and existing crossover you can use a simple plugin with your media player, such as foobar convolver.

There is a thread about rephase in the multi-way section of this forum:
http://www.diyaudio.com/forums/mult...hase-linearization-eq-fir-filtering-tool.html
Questions and suggestions are most welcome.

If you read french here is another tutorial, explaining how to use rephase with jriver convolution engines for complete speaker filtering, similar to what Thierry is achieving here with a VST host:
http://jimmy.thomas.free.fr/Jriver/Tuto-Jriver-RePhase-HolmImpulse.pdf

And some measurements of speaker (with existing crossovers, both passive and active) linearization listed here:
rePhase: linéarisation de phase, EQ et filtrage FIR - Enceintes
 
Last edited:
here an example of a stereo+sub file config to import with vst convolver

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


example for a stereo+2 subwoofer

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


example for 2ways FIR cossover + 1 subwoofer

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
an example for stereo to 5 loudspeakers
i've omit to apply .5 coefficient (-6dB ) to channel 3,due to the sum of the right and left channel.

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


just generate a flat response with rePhase.(all the impulse response are MONO ),only for the use of VSTconvolver which use mono impulse.
nothing to change when opening rePhase,just set the file name (i.e flat-response on the graph below ) and mono+wav

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
using rePhase.

open software and create a Hpf and a Lpf filter
advices for setting IR are done in the window

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


generate IR (16 or 24 bits )
.wav for convolver and REW simulation
.txt for HOLM simulation

open REW-->file-->import impulse response-->choose IR generated by rephase

import lpf.wav and import hpf.wav
all spl-->controls tab-->generate A+B (lpf.wav+hpf.wav)

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


you can apply the filter IMPULSE to speaker measurement.convolution are LPF x woofer and HPF x tweeter in this case.
generate the sum filtered_woofer + filtered_tweeter

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
Hello,

I did not know REW could do A*B and A+B manipulations

same as you,i've just discover it few days ago




the graph below shows how simple is the FIR crossover+DRC processing.

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



only two files

-a stereo file for DRC and phase linearization
-config.txt for VSTconvoler

more simple ?
never seen.

to generate DRC impulse:
two ways:
-DRC/align http://www.ohl.to/audio/downloads/align2.zip

align211.png



-using personnal measurement
a long MS sequence (30 sec min )
moving micro around the listening spot (random movement during sequence )
create a personal curve rePhase and REW in simulation.

export the DRC.wav in the SIR v1.011 convolver
 
Thanks for the tutorials! I'm going to be using rePhase for a 3-way active linear phase xo soon so this should help.

I'd like to add that J River Media Center can also do convolution (64 bit processing) and supports the config file format. It also has a loopback function that works similar to virtual audio cable. At this point I'm not sure if it can do multiple convolution tasks like multi-way config + global DRC.
 
I'd like to add that J River Media Center can also do convolution (64 bit processing) and supports the config file format. It also has a loopback function that works similar to virtual audio cable. At this point I'm not sure if it can do multiple convolution tasks like multi-way config + global DRC.

yes,you can do the same work with Jriver,only one software.
the config file is the same.(i believe that Jriver is using vstconvolver)

you can add convolution plug in to Jriver,SIR v1.011,leCAB2...
otherwise,to add DRC file in he config file:

44100 2 6 0
0 0
0 0 0 0 0 0
c:\DRC-left.wav
0
0.0 ;convolution to channel front left
0.0
c:\DRC-right.wav
0
1.0 ;convolution to ch front right
1.0
...
...
and continue with crossover convolution for each channel.DRC convolution will be add the filter convolution.for each way

no limit of convolution in the config.file

you can add crosstalk...
just prepare all the impulse before (with rephase,and align2 for DRC)
here for drc software

be careful not to swap sub IR with hpf IR :p
tweeter may not appreciate low frequency (without capacitor on tweeter )

you can do it manualy
import DRC.wav with REW
import hpf.wav
use a x B tool to convoluate the IR,export the new IR as hpf-drc.wav
etc....
this is eavy to do

just add a convolution plug in to jriver (sir v1.011)
and load every DRC.wav you need.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.