rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool

I usually only use linear phase filters for XO and correction, but "middle" is not enforced for centering. Choosing "energy" option leaves the driver units very uncoordinated which results in a mess. Choosing "middle" and "use closest perfect impulse" gives a somewhat harsh sound, like driver units not playing completely in phase. With "use exact centering value" the sound is smooth and detailed. I guess this is the option to choose for XO?

Could you please share such a rephase settings file ? (copy/pasted on the forum between CODE tags if it does not include a measurement)
 
Is there anyone here who uses the Electro voice Netmax N8000 controller? This DSP unit has the capabilities of using FIR filters however it requires a .gkf file extension to work. This extension, ofcourse is proprietary. Has anyone on here before tried to ''crack'' this extension i.e. tried to unravel the file to look at its contents and tried to replicate such a file?
 
FRD files for rephase

Dear all,
I would like to have some information about the kind of measurement to take (and possibly the best software to obtain this) to correctly feed rephase in order to create linear-phase Xovers. In this regard I've read different and contrasting opinions on the web. Thanking you in advance for the attention
GiAnt
 
Hello GiAnt,

I usually use HOLM: it does the task and let you precisely time offset and window or smooth your measurement.

Regarding the measurements themselves, it depends if you want to measure/correct the loudspeakers only, or the loudspeakers+room, or a mix of both (ie loudspeaker+room for LF and loudspeakers only for the rest of the spectrum), which is IMHO the best approach if you have a decent room (no symmetry problem, etc.).

Measurement windowing/gating will let you deal with the high frequencies, but LF will need other tricks.
All in all you will need several measurements (eg different distances and position for LF, and angles for the rest of the spectrum).

As for the correction, you should always start with minimum-phase EQs.
 
Hello GiAnt,

I usually use HOLM: it does the task and let you precisely time offset and window or smooth your measurement.

Hello Pos,
many thanks for your kind reply and above all for the public release of your software, an amazing piece of work essential to any DIY audiophile. Unfortunately the lack of real step to step tutorial on its usage (Yes I know, write a tutorial it's no funny:)) prevent enthusiastics like me to correctly use it (and here's why so mary request of help :headbash:)

Regarding the measurements themselves, it depends if you want to measure/correct the loudspeakers only, or the loudspeakers+room, or a mix of both (ie loudspeaker+room for LF and loudspeakers only for the rest of the spectrum), which is IMHO the best approach if you have a decent room (no symmetry problem, etc.).

Measurement windowing/gating will let you deal with the high frequencies, but LF will need other tricks.
All in all you will need several measurements (eg different distances and position for LF, and angles for the rest of the spectrum).
My current aim is to entirely manage my new DIY 4 way loudspeaker via PC-software (actually I am using an external/hardware DSP). With parametric equalizer of Jriver I have built a working 4 way crossover filter and also a linear phase crossover built with rephase works correctly (convolution within Jriver). These are obviously initial attempts only to check how the respective systems works. But in order to get serious, how must I proceed?
I need to take impulse measurements of single driver (i.e. tweeter, midrange, woofer, sub) with Holm and imported the FRDs in rephase before to design the crossover frequencies and slopes? At this very initial step Is there a real advantage in building the crossover with rephase or can I use, with the same results, the crossover built with Jriver MC? May I have your help about the preferred rephase setting for a conventional 4 way crossover (taps , centering, windowing etc)? I understand this a stupid request considering the many variables underlying those settings, but it might be for me a starting point before to make practice. I use frequently high resolution audio files (96k) and I would like do not downsize to 44,1.
Many thanks for your attention and patience
 
Giant,

Thank you for your kind words.
Writing some documentation is on my todo list :D
That said it will probably look more like a FAQ than a step by step tutorial.
(by the way the application note on the minidsp website is a very good introduction tutorial).

Building a linear-phase crossover system is in fact much simpler than a minimum-phase one.
With a minimum-phase crossover you will have to worry about phase shifts from one crossover point interacting with the others (especially for a 4-way), so you will have to take them all into account.
You also have to check for perfect phase coherency between crossed-over drivers (ie same phase shift), and time delays are always difficult to deal with as you cannot simply align the impulse peaks...

On the other hand linear-phase crossovers are much easier to deal with.
In fact even if you want to end up with a minium-phase crossover it is easier to do it linear-phase and then reintroduce the phase shifts (for example the HP of your system, down low, for which some feel phase linearisation introduces audible problems...).

So here is how you can do it (among many other possible scenarios) :
- For each driver (with several measurement per driver, as discussed above), use minium-phase EQ to get the amplitude reasonably flat within the pass band (the more you can trust your measurement(s), the more precise you can go, hence the reasonably)
- Use the "compensate" mode in the minimum-phase filters tab to flatten the natural high-pass and low-pass of your driver by trial and error (you need a measurement with a low noise floor, as it will quickly realize when playing with that feature...).
- at that point you should have a linear amplitude and phase (in the pass band and around, depending on your noise floor). If you don't then adjust your "compensate" settings, and also play with the "time offset" option in the measurement tab. You should not have to use phase EQ.
- Do not operate your driver with this kind of correction of course: this is only a temporary state!
- Apply the desired linear-phase high-pass and low-pass filters, and make sure you do not exceed the capabilities of the driver (excursion down low, breakups up high, directivity, etc.).
- Check the correction curve with the measurement bypassed to make sure it does not get too high in amplitude (for example if the target high-pass filter is much lower or with a shallower slope than the natural one...).
- For good measure, use the main volume attenuator in the "general" tab and make sure your correction does not exceed 0dB (amplitude offsets will have to be dealt with at some other place, for example in the crossover engine or in the amplifier...).
- Always use complementary slopes for your crossed-over drivers (ie LR of identical slopes on both sides, "reject high" on both sides, "reject low" on both sides, etc.). Try to avoid brickwall filters as these will add additional constraints for complementarity (same number of taps, etc.). If you need steep slopes you will be better off with high order LR "shapes".

When generating the impulse, if you do not have constraints on the number of taps (which should be the case if you are using jriver on a descent computer) you should use the "middle" centering option, and a large number of taps (64k should be more than enough for any realistic situation). With that many taps you can use a gentle windowing algorithm such as Hann, Blackman or Nuttall, without loosing much precision or steepness. You can also handle the delays inside rephase, directly specified as distances, eg "middle+3cm" to compensate for your driver's geometrical offsets (you can check that afterward with the "inverse polarity" method, seeking for the deepest null at the crossover point)

Once each driver is EQed and filtered that way you can add them together in your convolution engine.
I think Jriver will require a different set of impulses for each sampling frequency it might have to handle...

hope this helps :)
 
Last edited:
  • Like
Reactions: 1 user
Giant,

Thank you for your kind words.
Writing some documentation is on my todo list :D
That said it will probably look more like a FAQ than a step by step tutorial.
(by the way the application note on the minidsp website is a very good introduction tutorial).....

..... hope this helps :)

Hi pos,
many thanks for your kind reply.
The information you posted here are really of outstanding interest. I'm sure a lot of people will find here responses not found elsewhere. Many, many thanks!
I have started to take measurements according to your suggestions. Hoping to correctly apply your recommendations (little bit complicated for my level of knowledge)
regards
GiAnt
 
Pos I continue to use your software, and tell as many people as I can about it. After showing speakers at the Whittlebury hall audio show in the UK a couple of times I often get PMs from members of the forums there about using rephrase and software filters etc. The instructional you just posted is a brilliant resource and I will point them to that in the future instead of waffling on myself.

Stefan
 
I am happy these explanations could be of some use.
I ought to write some more serious documentation though...

One additional note: measurement polarity and time offset (t=0) is very important in order to get easy to deal with phase behavior (ie inline with the crossover theoretical behavior).
HOLM is quite good at finding t=0, but you need to have the polarity right first.
Having the first major peak positive and the t=0 cursor on that peak is a good start. That give you a phase that goes to 0° at Nyquist.
After applying minimum-phase EQ and compensating for the natural low pass of the driver you might have to recalibrate the time offset a little bit in the measurement tab in rephase, because the peak will have moved a bit...
When dealing with individual drivers (ie no crossover) you should never have to use phase EQ: during the "compensate" step (before applying actual linear-phase filters) a flat amplitude curve obtained with minimum-phase EQ should always give you a flat phase curve.
 
  • Like
Reactions: 1 user
Don't really understand much of this but this might be the relevant forum to ask. I read an article explaining how one could correct the substantial group delay which results from bandpass and reflex loading. I use dsp stand alone loudspeaker management and can simulate the gd curve in the loudspeaker design programme....I also have ARTA. Can anyone explain....in the simplest terms (!) how one can go about inverting the gd curve by the application of dsp processes?
 
Correcting the phase will also correct the group delay: the two measures are essentially two ways of looking at the same phenomenon (gd is the negative derivative of phase).

To do this correction you will need a crossover unit that can do FIR processing (ie convolution), and use the FIR coefficients generated by rephase for your system's BR and crossover configuration.
 
  • Like
Reactions: 1 user
I am happy these explanations could be of some use.
I ought to write some more serious documentation though...

When dealing with individual drivers (ie no crossover) you should never have to use phase EQ: during the "compensate" step (before applying actual linear-phase filters) a flat amplitude curve obtained with minimum-phase EQ should always give you a flat phase curve.

Dear pos,
unfortunately with some drivers (particularly the sub and the mid voice-planar neo10) it does not occur. With these drivers, working with the tool minimun-phase EQ I am able to obtain a flat phase curve only in a part (e.g. at the left side for the mid and at the right side for the sub). This in spite of a perfectly aligned amplitude curve.
Where is my error?