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.
Hi Boden,

you can easily try it on,just install VSThost,SIR v1.011,and generate 1 stereo flat impulse (2000 or 4000 taps ).with rePhase.
it's very quick to do.no need to create a crossover file,just add plugin with stereo connection,and load impulse.wav for each one.

i think a P3 processor can do the job.
just reduce number of impulse taps (samples).according to the desired slope and ripple level.

electovoice DX46 FIR crossover+FIR EQ ,512 taps max for each channel.
the processor inside is certainly less powerful than a P3.

P1030406.JPG
 
the same config is used with jriver
jriver has a native convolver filter (vst convolver )

install asio4all
install jriver media center or jukebox

open tool-->options-->dsp

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


add plugin as shown below (convolver filter is a native one ).

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


and like VSThost before ,load the config.txt for the crossover.
you can add SIR v1.011 too,for DRC convolution

An externally hosted image should be here but it was not working when we last tested it.
 
to drive a stereo amplifier in a bridged mode:

this is an example for lowpass+subsonic+bassboost impulse.

when generating impulse with rePhase,in the "general" tab,choose "polarity inv"

signal will be shifted to 180°

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


you can check it with REW.
but some minor setting has to be done.

import the impulse.wav with REW,as we can see,phase is not "flat".
because REW do not centering the impulse.

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


need to centering IR by adjusting delay ,and manualy center it at t=0.
this is only to work with REW,nothing to do with VSTconvolver.
HOLM is more accurate.

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.


and a the second with 0° phase shift.
you can drive a stereo amp (if it's possible ) in a bridged mode.

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


with a flat response Impulse,you can drive a XLR symetric input.
 
Last edited:
when working with holm to simulate or making manualy convolution.

it seems that the only way to work with IR is to use .TXT files

impulse.txt
frequency.txt
(if you are opening measurement,export slot X.txt and import immediately the slot X.txt)

sometimes,import impulse.txt need to centering impulse.

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


and when C=AxB or C=A/B do not show the new curve.
a simple way is to reset setting,it does not cancel the actual curves.
for me,it's working every times.

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
difference between classic digital (or analog ) equalizer.

a correction made with REW EQ (minimum phase ) and the group delay.

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.


using FIR EQ does not affect the phase.

-with rephase,EQ tab.
-LPGEQ (linear phase graphic EQ) 62 bands vst plugin.
to add in J river or any VSThost

VST plugins [slim slow slider presents]

An externally hosted image should be here but it was not working when we last tested it.
 
Last edited:
-LPGEQ (linear phase graphic EQ) 62 bands vst plugin.
to add in J river or any VSThost

after a real try,LPGEQ has no enough resolution below 1 kHz.

to reduce CPU load:
generate lowpass IR with the necessary lenght .
generate hipass with lower lenght.

example:
FS=48kHz
lowpass IR.wav 4800 taps --> IR lenght 100 ms
hipass IR.wav 1200 taps -->IR lenght 25 ms

(a kind of manual warped FIR :p )

in the config file,delay the shorter IR by the difference of lenght.
75 ms here.

48000 2 4 0
0 0
75 75 0 0

g:\hipass.wav
0
0.0
0.0
g:\hipass.wav
0
1.0
1.0
g:\lowpass.wav
0
0.0
2.0
g:\lowpass.wav
0
1.0
3.0


this case is for very,very slow CPU.(i.e netbook or old laptop )
we can do the same with bandpass etc...

the total delay is define by the longest IR (hipass and lowpass in the low frequency ).
 
Last edited:
to simplify channel routing:

the config file is more simple.with one command line,convolver can sum the ch input or the ch output

example
stereo + subwoofer (ch 3 )

48000 2 3 0
0 0
0 0 20 (you can add delay for sub placement)
c:\impulse\hipass.wav
0
0.0
0.0
c:\impulse\hipass.wav
0
1.0
1.0
c:\impulse\subwoofer.wav
0
0.5 1.5 convolution input ch 0,1 (-6 dB)
3.0 to channel 3 (subwoofer)



example stereo to five loudspeakers

48000 2 5 0
0 0
0 0 0 30 30 (30 ms delay for the rear speakers)
c:\impulse\flatresponse.wav
0
0.0
0.0 2.0 (left to front left and rear left)
c:\impulse\flatresponse.wav
0
1.0
1.0 3.0 (right to front right and rear right)
c:\impulse\flatresponse.wav
0
0.5 1.5 convolution input ch 0,1 (-6 dB)
4.0 to channel 4 (center speaker)

there are lot of possibility
 
Last edited:
group delay correction

how to correct all loudspeakers group delay (phase distortion ).

it concerns all speakers:
passive crossover
active+passive crossver
active crossover


and any acoustic phase distortion
-vented box
-closed box
-horn speaker


need only one convolution engine (or mix phase correction with crossover ).

a measurement of one loudspeaker at 1m is used.
and rePhase (tab filter linearization )

at the begining,it was the first (and the only one ) purpose of rePhase.
this is the most interesting and technical work to do.FIR EQ/crossover is very simple.

example of a correction in a midfield measurement

1028be10.png


the idea is to create an opposite delay to those of the spekaer in his box.

phase rotation is not a problem,when rotation is constant.
a linear phase system can have rotation.

example:3 linear phase rotation

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


group delay in this 3 cases is constant.

group delay at 1M (3 feets) and correction to apply
An externally hosted image should be here but it was not working when we last tested it.


with rephase the tab "filter linearization is used.
-entry the slope/frequency of all your cross-over (passive or analog (and IIR filter too ).
-entry acoustic load
-choose any analog correction in the low frequency (subsonic+bassboost...)

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


this is the theory parameter of your system,slope,frequency,bassreflex...

my loudspeaker without phase linearization

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


and after lnearization,note the phase correction does not affect magnitude
this is 2 independants curves.

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

Very interesting project.

I've got some questions

1. Acourate DRC seems to do rather successful preringig reduction.
People are pretty positive about that feature which was developed
not long ago after years of having that preringing i.

Is rephase taking any actions to reduce the FIR filter associated preringing??


2.

Kind of off-topic??

Has anybody ever tried to generate Ambiophonics filters

Cheers
 

ra7

Member
Joined 2009
Paid Member
Hi Thierry,

Just wanted to say thanks for this thread. Lots of helpful tips and tricks. I put together a system with the miniDSP USBStreamer that has 8 channels on I2S output together with 4 Curryman DACs. Using JRivers internal convolution engine. For measurement, I use the ASIO loopback that works without stutters. More details here:
http://www.diyaudio.com/forums/pc-b...ed-multichannel-dsp-system-3.html#post3968871
 
Hello,

In the convolver file (.txt)

each delay for each channel can be set manually

see the convolver site.
Config file

and some examples
Config examples

in the 2nd and third line,delay is setting in ms for input channel,
and for output channel in the third line.


44100 2 2 0
0 0 (=no delay in ms for the two input)
0 0 (=no delay in ms for the two output)

C:\Impulses\LeftIR.wav
0
0.0
0.0
C:\Impulses\RightIR.wav
0
1.0
1.0
44.1khz, stereo in and out, no speaker mapping
No delay on any input channel (feature introduced in version 3.1)
No delay on any output channel (feature introduced in version 3.0)

Take the first (and in this case only) channel from Left.wav
Apply Left.wav to the first input channel
... and output the result to first output channel
 
Last edited:
Thank you very much!

Is there a description about the measurement-import format from any hardware-measurement-equipment? Would it be possible to upload such a demo-file (for coding an interface)?

Is there any basic-experience how to avoid audible preringing (i.e. no sharper filters than ...)? Over-all (room-) corrections only with minimum-phase-filters?
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.