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

Hi Pos,

Not sure whether it's a bug, but since I installed 1.1 of rePhase, I often have this message I never had before when dragging a measurement file over the interface:
(see attached picture).
Thanks again.
 

Attachments

  • Message.PNG
    Message.PNG
    12.4 KB · Views: 228
rePhase 1.1.1 is out: http://sourceforge.net/projects/rephase/
It should correct the bugs found in the recently released version 1.1.0 :rolleyes:

Code:
1.1.1 2016-10-29
  New features:
    - added a 64 bit IEEE-754 output format to accommodate BruteFIR:
      [url]http://tinyurl.com/htqvln8[/url]
  Bug corrections:
    - fader focus bug solved: [url]http://tinyurl.com/ztbp7cl[/url]
    - beefed-up clipboard handling to avoid bugs when loading measurements
      by dragging them over the interface: [url]http://tinyurl.com/jygt7jx[/url]
    - removed the final optimization step that was recently added in
      version 1.1.0 as it had some ill side effects in specific scenarios
  Adjustments:
    - renamed measurement "compensate" function to "invert" to avoid
      confusions: [url]http://tinyurl.com/j76wm5w[/url]
    - reworked focus and entries editing in paragraphic EQ tabs:
        * using the tab key now goes from one entry to the other as
          expected, making it faster to edit multiple EQ points in a row
        * clicking on an entry does select the entire content for ease of
          editing
        * middle click or double left click on the dB/° entry used to reset
          the value to 0. This is now gone, but the same result can still
          be achieved with a middle click on the fader
    - internal DPI scaling adjustments
 
Last edited:
What would that be? i.e. number of filters, filter type(s), Q definition (BW measured at half gain or at -3dB points?), ranges and resolutions of frequency, gain and Q settings.
Hello John, nice to see you here :)

The ideal scenario would be 17 EQ points of constant Q type (same as DCX2496) with arbitrary resolution frequency (might get converted internationally, but is no less that 0.1Hz in the audio range), arbitrary resolution Q value, and almost arbitrary range (graphical limitation is +/- 96dB, which is already impracticable for this EQ type anyway).

Is the output format fixed? If not then a JSON object would be ideal, but I can of course parse the standard format.
 
A quick illustration of the importance of sticking to the minimum phase in the low range to limit pre-ringing:
- two graphs before optimizing the phase response in the low range: the pre-ringing is quite substantial
- two graphs after optimizing the phase response to stick to the minimum phase curve: the pre-ringing has massively decreased
All charts with the same amplitude curve.

What remains to be sorted out is the divergence with minimum phase in the high frequencies range. May be related to the absence of mic phase calibration. Any suggestions welcome.

Hi SwissBear,

Thinking more about it, rather than showing an automatically guesstimated minimum-phase curve, I could include an impulse and step response graph to be able to judge these things directly...
One more thing added to the todo list :D
 
The ideal scenario would be 17 EQ points of constant Q type (same as DCX2496) with arbitrary resolution frequency (might get converted internationally, but is no less that 0.1Hz in the audio range), arbitrary resolution Q value, and almost arbitrary range (graphical limitation is +/- 96dB, which is already impracticable for this EQ type anyway).

Is the output format fixed? If not then a JSON object would be ideal, but I can of course parse the standard format.
OK, I have added a rePhase equaliser setting for the next beta with 17 constant Q filters. 0.01 Hz, 0.1 dB and 0.01 Q resolutions. Filters can be exported in the miniDSP biquad format or REW's text format.
 
Hi SwissBear,

Thinking more about it, rather than showing an automatically guesstimated minimum-phase curve, I could include an impulse and step response graph to be able to judge these things directly...
One more thing added to the todo list :D

Hi Pos,

Having thought again, I believe you might not have to do that.
If, instead of adjusting the phase to zero at Nyquist inside rePhase, I do it inside REW prior to exporting the measurement, the adjustment of the phase with the minimal phase in rePhase/REW is much easier, as the convolution inside REW is applied to a shifted measurement.
So no need to spend time at least for this usage.
Thanks 😊
 
Hi SwissBear,

Playing with time offset in rephase or REW should normally bring the exact same result.
If you do it in rephase then of course when reimporting the FIR into REW you will have a delay. But why are you reimporting the FIR into REW?
rePhase should accurately show you the effect of the convolution of the FIR on the measurement(s) you load. Is it that you want to see the resulting impulse and step response in REW?

By the way, just to make things clear(er), when shouting for a 0-ish phase response at Nyquist (and ignoring any rapid phase change up there, due to either breakups of early low pass), you are in essence "erasing" most of the phase shift of the system's low pass.
This makes correction easier but is not fully correct, and if you use phase EQ to really flatten any phase deviation up high you will surely get preringing.

That is why I advised to only play with phase EQ around the actual crossover (not only filter) points, and only as a complement to proper "filters linearization".

In reality a perfectly time-aligned textbook crossover should not need any phase EQ beside these "filters linearizarion" things. This is for example the case with the JBL M2 where phase linearization in the passband is just a matter of adding the inverse allpass of a 36dB/oct LR filter at 750Hz.
Of course passive systems are a different story, most of the time, and will require additional phase EQ to compensate for the compromises used to build a (mostly-)phase-coherent crossover.
 
Last edited: