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

It’s mostly the same, as tonality and stage depth and overall SQ stayed the same
The right side (farthest from me is the same i can’t tell a difference)
The left side is better.... I sit about 60deg off axis from mid and the door midbass
The kick is mostly on axis , the dash mid and door/kicks were fighting each other a little ....

So the dash mid by itself has no dip , it is crossed 12db at 300LR2

The kicks/doors same thing, by themselves have no dip , nice smooth crossover that acoustically matches its filter shape...

When i add them together (with proper tape measure distance and fine tuning via impulse peak time alignment, there’s a dip on the left at 265hz , although the tape measure distance was largely exacting, the impulse peak was measured right at location between my ears....

All my averages I took on my side showed the dip on the left.

Adding the BW18 with an inverse all pass , that made the cancellation go away, and the left side now also reinforces the sound... I don’t have to do my room eq to bring everything down to get the dip somewhat filled, but i mostly just ignored the dip....

So now although the kick and dash are 90 deg out from each other , where the dip is and cancels it’s goes to -90 instead.... and in between it’s mostly reinforced....

Better .... yes absolutely.... it took me a while to figure out what i was doing ,
Hundreds (if nit thousands of measurements later) it’s all groovy now. The car measures well , and I simply pushed my sub down also to match the midbass in phase.... the the overall phase has a tilt from about 100deg (starting at about 65hz, below that is natural sub incline) and tilts up to close to zero deg midband on the midrange....

I had to use smoothing to see it clearly, it’s not perfect (it’s a car, lots and lots of excess phase) but it’s smooth no radical changes all the way up to about 2.5khz , then of course the Hf is reflection city and I don’t even try to do anything with phase eq or any phase controls up that high I usually only work on about 1.3k and below

The filter starts at -90 and goes to +90 I tried using a 1st order all pass on sub to match the midbass ? It mostly worked , I ended up just using signal delay and scraping the all pass for sub and then used gloabal phase eq in the opendrc and made the sum smooth at about 65-100hz
 
Last edited:
Hello,
My question is also related to an already created .bin from rePhase.
Is it possible to reload the line of code in rePhase that was already created? Unfortunately I don't have the rePhase settings file anymore. but the loaded config file in my DSP is active.
Here is a small excerpt
b0 = 0.0,
b1 = 0.0,
b2 = -6.670055618940296e-9,
b3 = -2.6819009235623525e-8,
b4 = -6.062189328304157e-8,
b5 = -1.0817205975399702e-7,
b6 = -1.6954790282852628e-7,
b7 = -2.4468900505780766e-7,
b8 = -3.335910037094436e-7,
b9 = -4.360175580586656e-7,
b10 = -5.518971306628373e-7,
b11 = -6.807965178268205e-7,
b12 = -8.225942451645096e-7,
b13 = -9.766407629285823e-7,

If this is possible, can someone tell me how?

Greetings Alex
 
Hi Alex,

I think we already discussed this in PM and emails.
The bin is a FIR, so all that can be done (and what I did) is to turn it into something REW or HOLM can understand and show, and convert it into a mag/phase response.
You can then load it into rephase in inverse mode and try to reproduce it (which is tedious and approximative).

It is only part of the equation in your case though as many other of the settings you want to reproduce are set as biquads in your minidsp...

As already set your better bet is to measure the output of your minidsp and try to reproduce that.
 
0B1A1CB1-47BB-4BC9-9CCA-BA5CEDB9E4CF.jpeg I have another silly question

So my sub is a 18” in a sealed box in back of my car

It’s response is flat and is -6db down at 71hz , I have a filter linearization that matches the subs response....

So my question is this...
The box design in winisd shows a constant group delay of about 7ms
Do I add this to the delay of my signal delay calculations?

Like add it as another approximate 7 feet of signal delay that is on top of the fir delay? Meaning of my fir is 17.26ms I need to account for 17.26ms plus the 7ms from box plus the time of flight to listening position ???

More in next post


Pic attached
 

Attachments

  • 471F241F-8C66-46C6-B155-2D5FF39E6D8B.jpeg
    471F241F-8C66-46C6-B155-2D5FF39E6D8B.jpeg
    16.2 KB · Views: 192
Last edited:
Here’s the phase prediction of sub in box also

Should I do anything with this or just stick to measuring??

I usually don’t do any phase correction below crossover on sub
But if I have this exact data should I use it ??


So between these two posts , if I make the phase flat will it remove the GD simultaneously? Or can I simply take that out in delay on DSP and effectively remove the GD and the phase (as the phase looks like a constant delay of I’m not mistaken)

Because it has a f3 of 47hz , qtc .83 so it’s rolling off in this prediction.... the in car response is actually flat to 10hz with a +6db peak at 10hz that I can use eq to fix
Of course the in car response also has a 9db peak at 57hz after all those peaks are dropped with eq the response is flat.....

So again.... should I remove the GD with delay? Or will that plot change when the in car response does not roll off? It mostly plays to DC

B3F83863-E9E8-4A81-AD3E-1A7274F96FE2.jpeg
 
Last edited:
It has now been more than two years since the 1.4.3 version was released, and although I started implementing new features and corrected a few bugs in the meantime, I did not feel like anything was ready enough for a release. Then I had to concentrate on other things and never got around to actually finish it...

So, here is a development release. I tried to clean things up a bit and removed features that were too far off.

The only new feature remaining is a loudness compensation functionality, that could for example let you build "quiet" or "concert level" presets while preserving the same perceived tonal balance as your reference level. It is not exactly where I wanted it to be, but it is functional and probably good enough for the matter, and after 2 years without working on it I think it is better to release it as-is, at least for for now.

Other modifications are listed in the "what's new" entry in the Help menu and include adjustments and bug corrections.

Please note this is a development version. As such it has several limitations, to wit:
  • probably a few bugs :eek:
  • listening compensation parameters are not saved in settings
  • expiration in 10 days to avoid having unfinished development versions living their life in the field. The stable 1.5.0 version should have been released by then.
So please do not replace your current rephase version with this one, this is just for evaluation and bug reports, in preparation for the stable version.

With all that said, here is the link: rePhase 1.5.0 DEV

Your feedback is welcome.

Hi,
can we expect a release soon?
 
what exactly does "optimization" do?
and the centering? can it make delays shorter?

The optimization is an iterative process. It basically tries different ways to make the phase follow the target but it comes at the cost of the shape of the response being accurate... just try not to use it. The magnitude and phase relationship can drift apart which will make your filter in accurate.

It comes in handy when you’re in a pinch and you have a very low number of delay taps and you need the phase response to follow more closely and not overly concerned with the shape of response. Ideally you don’t want to use it at all though. I just don’t use it. Try better centering first.

Centering is where you were telling it were the middle of the impulse is.
For example, let’s say you only have 1024taps and your running 96k and want to do an 80hz LR4 linearize. If you center in the middle, you will see that it is just not enough taps. 80hz is a Purdy long wavelength. Knowing the length of your FIR , you could change from middle and type in manually 10ms

That will center it at 10ms , you generate the filter and all of a sudden you have plenty of taps, your centering it where the work is needed to be done. Making your FIR much much more efficient with zero degradation to the quality of the filter.


Hope that helps some :)
 
The optimization is an iterative process. It basically tries different ways to make the phase follow the target but it comes at the cost of the shape of the response being accurate... just try not to use it. The magnitude and phase relationship can drift apart which will make your filter in accurate.

It comes in handy when you’re in a pinch and you have a very low number of delay taps and you need the phase response to follow more closely and not overly concerned with the shape of response. Ideally you don’t want to use it at all though. I just don’t use it. Try better centering first.

Centering is where you were telling it were the middle of the impulse is.
For example, let’s say you only have 1024taps and your running 96k and want to do an 80hz LR4 linearize. If you center in the middle, you will see that it is just not enough taps. 80hz is a Purdy long wavelength. Knowing the length of your FIR , you could change from middle and type in manually 10ms

That will center it at 10ms , you generate the filter and all of a sudden you have plenty of taps, your centering it where the work is needed to be done. Making your FIR much much more efficient with zero degradation to the quality of the filter.


Hope that helps some :)

Thanks,
I dont realy understand the math behind this, though I play around with FIR for about 10 years lol
but your example helped me understand what it does.
you still have the negative effect on the magnitude response in your example though. but yea that can be fixed with linear phase eq.

I don't think the implementation is optimal though:
if I only use minimum phase EQs Rephase should automaticly put the impulse on the first sample, for example