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

Manipulating many drivers can be timeconsuming and prone to human error.
Is it any posibility to open up the format of the .rephase settingsfile?
Then such files could be made with scripting tools.

If you made a comand line version of rephase the filtergeneraton could also be scripted and even "realtime" changing of parameters could be possible.

I completely understand if the answer is a big NO!

I ask of course because I think rePhase is a really nice, easy and well proven tool for FIR generating. So thank you, POS!
 
Last edited:
The measurement you import into rephase already has (or should have) some sort of travel delay compensation to make it close to its minimum-phase behavior.

The good news is that you don't need to worry about all this until the very last part of the crossover process, ie when actually attempting to sum the drivers :)
The needed delays will not be the same with a corrected and uncorrected driver, so no need to worry at this stage.

When analyzing a full range measurement, most of the time you want to ignore the low pass (20kHz-ish), as you will not (and should not!) attempt to correct its phase.
So in this situation the best approach is to center the measurement impulse on the first positive peak (and of course you want this peak to be positive, or you need to switch polarity), which results in a phase curve reaching 0° near the low pass (and possibly falling apart afterward)
This is what HOLM will do automatically for example, but you can also adjust this in the measurement tab in rephase, possibly after some minimum-phase EQ, to still get that "lazy" 0° target.

Now when dealing with an active crossover the situation is different, as you cannot ignore the phase behavior of the low pass of a driver that you will have to integrate with another one, ie integrate that "natural" low pass in a crossover.
If the low pass is well defined you can sometime "guess" what the proper offset should be to get the textbook phase behavior, but this can be complicated.
In this situation, the easiest approach is to start with the "positive peak" centering trick (as above) and then apply the compensation (and minimum-phase EQ) so that you get a flat magnitude response deep into the low pass stop band (up to the noise floor "wall"), and then play with the measurement time offset to get a flat phase curve in that same area (note that if you then undo your compensation correction you will see what the real minimum-phase response of your measurement looks like).
You can then build your correction, including linear-phase filters, and you should not need any phase EQ to get a flat phase (in fact if you need some this means that you failed at the above step).

Now, once everything is corrected (ie acoustical crossover are well matched across drivers), all you need to do is enter the appropriate delay into your crossover (including possible differences in FIR length and delays) to get a proper summation.
If everything is done correctly your offset differences should be very close to the geometrical distance differences from the drivers' emitting surfaces.
So you start with that, and adjust carefully with measurements (at a proper distance, ideally the listening position(s)), with one driver in reversed polarity, seeking for the deepest null (well known trick that gets the job done!)...

Hope this helps :)

Thank you Pos for explaining elaborately.
 
Manipulating many drivers can be timeconsuming and prone to human error.
Is it any posibility to open up the format of the .rephase settingsfile?
Then such files could be made with scripting tools.

If you made a comand line version of rephase the filtergeneraton could also be scripted and even "realtime" changing of parameters could be possible.

I completely understand if the answer is a big NO!

I ask of course because I think rePhase is a really nice, easy and well proven tool for FIR generating. So thank you, POS!
The format changes from one version to another, when features are added or modified, and retro compatibility is handled within rephase with a conversion layer for each successive version. That is a not a good candidate for this kind of use :)

At one point I considered doing an API version, letting an external client connect to rephase with TCP and emit commands, but that is out of the scope for now.
 
Hello,
I did some tests and reading, I have 2 questions:
1) @Pos, A few posts ago you said that the number of taps should be as few as possible, and that If target response is reached, it is OK. On other web pages (I don't saved them..) it is said that more taps is OK, because ripples in the impulse response become much flatter. I don't hear difference in sound. The best way to go is as little number of taps, correct?


2) The exported impulse response. If opened in REW > Import Impulse response. Should the impulse response spike be as close to ideal? Why I am asking. If I flatten the phase with Paragraphic Phase EQ, for the range the speaker will play, the impulse response looks much better in REW than the one created with Minimum Phase Box linearization. The question is, should I use the impulse response that looks good in REW? The measurement for that speaker is the same with either impulse response file used.

Thanks all!

And 3) (just thought of it). My Asus card can play at 192khz sample rate. But 99% of my music is 44.1Khz. Now the sound in Windows is set at 192, and all impulse files are created at 192. Is it better to go to 44.1khz with audio, impulse then can have 4times less taps for the same response target? What would you do?
Thanks again!
 
Last edited:
Hi Thierry,

As a follow up, I think the most logical way of implementing that feature would be to add a "frequency response (.txt)" output format that would be a straight FFT of the generated impulse.
Would that suit your needs?

Hi Thomas,
Perfect !
I was thinking taking the last itération (FFT <--->iFFT) in the frequency domain of the generating process.
about 2~3 hundreds points.(or raw coeffs)
 
1) @Pos, A few posts ago you said that the number of taps should be as few as possible, and that If target response is reached, it is OK. On other web pages (I don't saved them..) it is said that more taps is OK, because ripples in the impulse response become much flatter. I don't hear difference in sound. The best way to go is as little number of taps, correct?
There is no benefit in increasing the number of taps if the result is close enough to the target for your needs.
A reasonable number of taps is the good anwser, 1sec being a good target IMHO.
IR ripples will be the same regardless of its length: they will only be truncated (or windowed). So in sense a shorter FIR will in fact have less ripples ;)

2) The exported impulse response. If opened in REW > Import Impulse response. Should the impulse response spike be as close to ideal? Why I am asking. If I flatten the phase with Paragraphic Phase EQ, for the range the speaker will play, the impulse response looks much better in REW than the one created with Minimum Phase Box linearization. The question is, should I use the impulse response that looks good in REW? The measurement for that speaker is the same with either impulse response file used.
Not sure I understand correctly, but you don't need to import the FIR in REW. If you do, make sure the t=0 is handled correctly (same impulse delay as the one indicated by rephase).
If you are building an active crossover using FIR you should not need phase EQ at all.

And 3) (just thought of it). My Asus card can play at 192khz sample rate. But 99% of my music is 44.1Khz. Now the sound in Windows is set at 192, and all impulse files are created at 192. Is it better to go to 44.1khz with audio, impulse then can have 4times less taps for the same response target? What would you do?
Thanks again!
If your soundcard can relatively play 44.1kHz then this is probably the best sample rate to choose, as you will avoid an SRC stage for 99% of your music. Also make sure you choose 24bit (or even 32 bits if that is available).

What convolution engine are you using?
 
...My Asus card can play at 192khz sample rate. But 99% of my music is 44.1Khz. Now the sound in Windows is set at 192, and all impulse files are created at 192. Is it better to go to 44.1khz with audio, impulse then can have 4times less taps for the same response target? What would you do?
Thanks again!

On a computer because we can is not always right and subject can probably be a can of worms but agree what pos suggest if your system lack solution to dynamic adjust material.

Although know subject is about reproduce chain distortion have this fun example from recording chain, its a famous hard rock band 96kHz high resolution release, serious 48kHz noise up there :p
attachment.php
 

Attachments

  • 3005.png
    3005.png
    27.2 KB · Views: 822
IIRC the FIR filters in the DAM are running at very high sampling frequency and a relatively low number of taps, and are intended for antialiasing filtering purpose only.
By the way I think Soren used rephase to generate the default filters.

The DAM also includes biquads and that is the logical thing to look at to implement filters and EQs.
The deemphasis filter is implemented that way (I send Soren the coefficients for the improved version).
 
Last edited:
Apologies if this is a bit too off topic but surely this must be a common question for rePhase users. I'm wondering what the suggestion would be for what I think is a very common scenario, integrating a set of subwoofers into a 2ch system, doing room correction and linearize passive main speakers.

My system looks like this:
MacBookPro => Chord DAC (line level or digital volume control) => Benchmark power amp => Kef LS50
Adding 2 x JL Audio e112 subwoofers with line level inputs.

How can I achieve this without introducing an AD/DA cycle? The only solution I have found so far is a DEQX as it has:
1. digital input
2. digital output (to Chord DAC)
3. analog output (to subwoofers)
4. digital 32 bit volume control
5. ability to time align the whole system

as we know, DEQX is not cheap :)
 
Apologies if this is a bit too off topic but surely this must be a common question for rePhase users. I'm wondering what the suggestion would be for what I think is a very common scenario, integrating a set of subwoofers into a 2ch system, doing room correction and linearize passive main speakers.

My system looks like this:
MacBookPro => Chord DAC (line level or digital volume control) => Benchmark power amp => Kef LS50
Adding 2 x JL Audio e112 subwoofers with line level inputs.

How can I achieve this without introducing an AD/DA cycle? The only solution I have found so far is a DEQX as it has:
1. digital input
2. digital output (to Chord DAC)
3. analog output (to subwoofers)
4. digital 32 bit volume control
5. ability to time align the whole system

as we know, DEQX is not cheap :)
The miniDSP nanoSHARC checks off 1, 2 (if you can make the Chord DAC accept I2S), and 5.

3 will require a separate DAC if you want to keep using the Chord.

4 is tricky but there are a number of multichannel volume control projects on diyAudio that can serve this purpose.

Alternately, you can insert an OpenDRC-DI in between the MBP and the DAC and then use an active crossover after the DAC. The DSP in the OpenDRC-DI is not as powerful as in the nanoSHARC though.
 
Last edited:
Hello everyone,

I can't understand how to make rePhase understand REW measurement files. Attached are the screenshots from REW measurement, I export it as txt, then open in rePhase and what I get is on the 2nd screenshot. What is wrong? I'm using UMIK microphone, Windows 10... Could someone please help me?
 

Attachments

  • right REW.jpg
    right REW.jpg
    217.5 KB · Views: 315
  • right rePhase.jpg
    right rePhase.jpg
    625.8 KB · Views: 319