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

Could you show the impulse response in the 4 original measuring points with the common correction filter?
I also wonder how many degrees the correction is making the response better and not worse?

is this what you are looking for? this is the filter applied and then measured at 8 random positions(left to right) on the listening couch
attachment.php


attachment.php


why would you think the correction could make it worse?
 

Attachments

  • after rephase measured.jpg
    after rephase measured.jpg
    52.7 KB · Views: 425
  • after step response.jpg
    after step response.jpg
    57.3 KB · Views: 320
Last edited:
This method using multiple points averages out the response of the room that's specific for each measurement. Not a bad way to go at all. This way you're not fixing something that's quite specific for that single point in space.

Pretty save way to do the processing. Probably sounds better over a larger area. People always forget that the original response probably wasn't that great to begin with.

If you like to see what this filter does, measure it with APL_TDA at that listening position.
The free demo will give you a nice visual representation.
 
Last edited:
This method using multiple points averages out the response of the room that's specific for each measurement. Not a bad way to go at all. This way you're not fixing something that's quite specific for that single point in space.

Pretty save way to do the processing. Probably sounds better over a larger area. People always forget that the original response probably wasn't that great to begin with.

If you like to see what this filter does, measure it with APL_TDA at that listening position.
The free demo will give you a nice visual representation.

yes, I believe its a great way to go.

Im pretty sure that my system has never sounded better than it sounds currently.

now , to be fair to single point measurements, if one uses a short FDW, say 5 cycles or so, one can arrive at pretty close to the same result for time domain compensation.

what I want to try now, and I forget which member it was that has used this in the past, is to take a suffeciently large number of measurements, such that when they are averaged, I dont even have to apply a frequency dependent window. Im thinking maybe 16 measurements would accomplish that.


does APL_TDA have advantages over REW?
 
Last edited:
To me it looks like a windowed measurement. Short window of 0.5 ms.
After 0.4 ms it looks like the waveforms are random.
As if the filter tried to correct white noise after 0.5 ms

I guess you have mostly corrected magnitude and phase response between tweeter and mid?

Just ranting:
White noise is an infinite sum of random signals in time. White noise can not be removed by convolution more than one time on the time axis.

Reflexions in a room are an infinite sum of random reflexions in space. Roomreflexions can not be removed by convolution more than one place in space.
 
now , to be fair to single point measurements, if one uses a short FDW, say 5 cycles or so, one can arrive at pretty close to the same result for time domain compensation.

what I want to try now, and I forget which member it was that has used this in the past, is to take a suffeciently large number of measurements, such that when they are averaged, I dont even have to apply a frequency dependent window. Im thinking maybe 16 measurements would accomplish that.

Yep, i find short FDWs have the effect of another form of averaging, so a fairly reflection free single point measurement often works for me. IMO, the real moral of the story is to identify what can and can't be corrected....particularly identifying room reflections.....and when we can't identify them, averaging helps diminish their impact on measurements.
That said, I do want to try the moving mic technique just to see how it compares....

Hey 1201, do i recall correctly that you use a Lynx Aurora?
 
I view timing as being nailed down by single point on-axis, chosen distance....
So once determined it doesn't change, and moving mic could then be used for mag/phase.

Phase is timing.... you won't get to see it using the moving mic. If it's meant for in room measurements the averaging method makes a lot of sense.
Depending on your specific goals of course.

yes, I believe its a great way to go.

Im pretty sure that my system has never sounded better than it sounds currently.

now , to be fair to single point measurements, if one uses a short FDW, say 5 cycles or so, one can arrive at pretty close to the same result for time domain compensation.

what I want to try now, and I forget which member it was that has used this in the past, is to take a suffeciently large number of measurements, such that when they are averaged, I dont even have to apply a frequency dependent window. Im thinking maybe 16 measurements would accomplish that.


does APL_TDA have advantages over REW?

Even then I'd still use a frequency dependant window, I have my reasons for doing that.
I won't use REW's version of that frequency dependant window. That implementation isn't showing enough detail (yet).
 
Last edited:
To me it looks like a windowed measurement. Short window of 0.5 ms.
After 0.4 ms it looks like the waveforms are random.
As if the filter tried to correct white noise after 0.5 ms

I guess you have mostly corrected magnitude and phase response between tweeter and mid?

Just ranting:
White noise is an infinite sum of random signals in time. White noise can not be removed by convolution more than one time on the time axis.

Reflexions in a room are an infinite sum of random reflexions in space. Roomreflexions can not be removed by convolution more than one place in space.

Correct. The window only fixes the speaker response at the listening position.

I do believe that room reflections can be reduced over a larger area than a single point in space .I'm trying out decided right now to see if that can happen

That's the point here. Don't fix random reflections. Fix speaker FR and phase. Compare it to an unfixed response at several points similar to these measurements to see this really works. :)

Exactly

Hey 1201, do i recall correctly that you use a Lynx Aurora?

Nothing that nice unfortunately. I use a time Digi 9636 with an emergency adi 8 pro ad/da converter

Moving mic won't provide any time information. Why would you use that?

Moving mic is frequency response of many,many averages in a chosen listening area. I believe it works better for magnitude response than even sweep averages. Try it sometime. It's easy to do.

Phase is timing.... you won't get to see it using the moving mic. If it's meant for in room measurements the averaging method makes a lot of sense.
Depending on your specific goals of course.



Even then I'd still use a frequency dependant window, I have my reasons for doing that.
I won't use REW's version of that frequency dependant window. That implementation isn't showing enough detail (yet).

Ok. Great to know. I'll check it out. How is the fdw on attached (assuming it has fdw)


BTW what are your reasons for still using an fdw?
 
Phase is timing.... you won't get to see it using the moving mic. If it's meant for in room measurements the averaging method makes a lot of sense.
Depending on your specific goals of course.
Hi wesayso,
Yes, phase is a component of timing. And to me, one of purposes and beauty of rephase is to remove the phase component of timing, to be able to find the exact physical component of timing (acoustic center offsets).
This is why I favor the driver by driver approach so much. When each driver has it's phase adjusted to flat at zero through it's range of operation with linear phase complementary crossovers, all that's necessary for time alignment is to adjust for physical offsets. Time offsets become simple geometry that doesn't change...

IMHO, folks really should take the time to measure outdoors or as reflection free as possible.....saves soooo much time and effort towards tuning.
And yep, moving mic solely for indoors after timing nailing down...
 
Can you elaborate on that?

I did in an earlier post, here...

The DRC-FIR frequency dependant window shows more detail in a one on one comparison. DRC-FIR has two ways to derive the frequency dependant window. It obviously has a lot more settings that influences things (like dip limiting) that leads to other differences as it is build for another task entirely.

Please don't take it personal, REW was a huge help for me in my personal quest. :) It was quite useful for me that these windows became a part of REW's features. They are just a bit more smoothed. I generally use the waterfall plots with specific (early wave front) settings to confirm. I would love to see REW develop more in that direction.
That's also why I also love APL TDA as a tool. A different take on the same subject, it's very visual and it confirmed in one view where I needed at least 3 different tabs in REW to see the same. It's much like the waterfall and spectrogram combined. Build up using frequency dependant slices. The only thing missing from that tool is to be able to turn off the normalizing. I never used it while I was working on my processing, but in one take it confirmed everything I had been seeing in REW by digging deep into every different way to view the same information.

I love using REW and have learned how to interpret its results pretty good by comparing sims to real measurements for learning.
 
Last edited:
Hi wesayso,
Yes, phase is a component of timing. And to me, one of purposes and beauty of rephase is to remove the phase component of timing, to be able to find the exact physical component of timing (acoustic center offsets).
This is why I favor the driver by driver approach so much. When each driver has it's phase adjusted to flat at zero through it's range of operation with linear phase complementary crossovers, all that's necessary for time alignment is to adjust for physical offsets. Time offsets become simple geometry that doesn't change...

IMHO, folks really should take the time to measure outdoors or as reflection free as possible.....saves soooo much time and effort towards tuning.
And yep, moving mic solely for indoors after timing nailing down...

My goals were quite different. I'm not trying to build the perfect speaker and then bring it into a room (changing everything).
I tried to build a speaker that works with the room to create the best response at the listening position.
It would not be possible for me to relate outside measurements to what I want from my speakers + room as a system.

For me timing matters, at my listening spot. :)
I don't expect us all to have the same goals though.
 
BTW what are your reasons for still using an fdw?

Look how short the actual test signal really is. I want to control it right up to it's peak. Keeping the (DSP) manipulation to a minimum while getting the job done. Controlling the speaker and no more than the speaker (wherever possible, the room will take over in the low end).

The room will always have an effect unless we can measure in an anechoic space.
In my case, I've hunted down all big reflections and absorbed them first (up to where I wasn't allowed by my better half to put up any more damping panels ;)) but I know the room will still add it's own signature. I try and stick to manipulating the first wave front(*) that hits the ears.(or in this case the microphone)
The absorption of reflections was essential to the success and I recommend not trying to fix everything with DSP.

(*) = I do a little more than that but that's beside the point here.
 
Look how short the actual test signal really is. I want to control it right up to it's peak. Keeping the (DSP) manipulation to a minimum while getting the job done. Controlling the speaker and no more than the speaker (wherever possible, the room will take over in the low end).

The room will always have an effect unless we can measure in an anechoic space.
In my case, I've hunted down all big reflections and absorbed them first (up to where I wasn't allowed by my better half to put up any more damping panels ;)) but I know the room will still add it's own signature. I try and stick to manipulating the first wave front(*) that hits the ears.(or in this case the microphone)
The absorption of reflections was essential to the success and I recommend not trying to fix everything with DSP.

(*) = I do a little more than that but that's beside the point here.

ok, so I do have have absorbers in the room and will add more but I still have an interest in using dsp to reduce the influence of the room.

rephase does a great job fixing the speaker response and the sound is fantastic. it seems DRC (obviously) does a better job of removing the room, but not so great a job at fixing the speaker response

long time frame it seems drc wins(these are very aggressive settings that Ive not listened to)
attachment.php



speaker response rephase wins(ive listened to this and it sounds great)
attachment.php
 

Attachments

  • impulse drc v rephase.jpg
    impulse drc v rephase.jpg
    93.2 KB · Views: 734
  • impulse drc v rephase zoom.jpg
    impulse drc v rephase zoom.jpg
    58.9 KB · Views: 700
I did in an earlier post, here...
OK, I understand. It is difficult to directly compare smoothing (of which FDW can be considered a special case) between different software packages as there is no standard for the filter kernels that should be used. REW and Acourate use the same (or very similar) definitions for their FDWs from what I have seen, if you would like more detail in the REW view use a higher cycle count.

That's also why I also love APL TDA as a tool. A different take on the same subject, it's very visual and it confirmed in one view where I needed at least 3 different tabs in REW to see the same. It's much like the waterfall and spectrogram combined. Build up using frequency dependant slices.
The APL plots looks like wavelet spectrograms to me, have you tried REW's spectrogram in wavelet mode?
 
I personally find the interaction of REW/rePhase very interesting to produce very good and efficient minimum phase corrections.

This is how I am operating, and also some suggestions @JohnPM could implement into REW when he has the opportunity in order to facilitate/automate the process.

I am taking advantage of the "Spatial averaging ADDS information. Spectral averaging (smoothing) takes it away" cited in: The Science of Audio - a series of lectures by Floyd E. Toole, Ph.D. Vice President Acoustical Engineering Harman International Industries, Inc.

I am therefore making a number of measurements at the edges of a parallelepiped, around the heads of the listeners in the listening positions. In case I make 8 measurements, I can use the algebraic function (A+B)/2 in REW to average measurements 2 by 2. In case I measure the center as well, I use the (A+B) algebraic function of REW to simply sum the measurements.

What is very important is to center all the measurements in the time domain prior to using those algebraic functions.

What @JohnPM could consider is:
- adding a function in REW to adjust a batch of measurements in the time domain using the existing 'Estimate IR Delay' function
- adding a function to average a batch of measurements without having to make it 2 by 2.

Then, when I have my average of measurements, it is very easy to use the filters calculations implemented by @JohnPM with rePhase target in order to produce amplitude correction filters and import these filters into rePhase.

@Jimbee has described an interesting method in order to produce a very clean minimum phase correction in the time domain.

When the amplitude correction has been imported into rePhase, you can produce a correction impulse in rePhase without any time domain correction. You can import this correction impulse into REW, convolute it with the average to obtain an amplitude corrected average.

Then you can generate a minimum phase impulse in REW, export it as a .wav, reimport it into REW, in order to use the A/B algebraic function in REW to generate the excess phase.

When you have the excess phase, you can export it as text from REW, import it into rePhase to produce the time domain correction using the 'Filters Linearization' and 'Paragraphic Phase EQ' to reduce the excess phase to close to zero. After that, you can import the average measurement to finalize the correction in rePhase.

The correction impulses produced by this procedure are super clean, with no pre-ringing at all. The amortization of the step is very fast, and much faster than other correction systems.

What @JohnPM could consider at this stage is the possibility to export the excess phase directly from REW (instead of heaving to export the minimum phase impulse, reimport it and use the A/B function to produce the excess phase). This would save a lot of manual operations.

Hope this is clear enough ;)
Thanks.
 
@Jimbee has described an interesting method in order to produce a very clean minimum phase correction in the time domain.

When the amplitude correction has been imported into rePhase, you can produce a correction impulse in rePhase without any time domain correction. You can import this correction impulse into REW, convolute it with the average to obtain an amplitude corrected average.

Then you can generate a minimum phase impulse in REW, export it as a .wav, reimport it into REW, in order to use the A/B algebraic function in REW to generate the excess phase.

When you have the excess phase, you can export it as text from REW, import it into rePhase to produce the time domain correction using the 'Filters Linearization' and 'Paragraphic Phase EQ' to reduce the excess phase to close to zero. After that, you can import the average measurement to finalize the correction in rePhase.

The correction impulses produced by this procedure are super clean, with no pre-ringing at all. The amortization of the step is very fast, and much faster than other correction systems.

What @JohnPM could consider at this stage is the possibility to export the excess phase directly from REW (instead of heaving to export the minimum phase impulse, reimport it and use the A/B function to produce the excess phase). This would save a lot of manual operations.

Hope this is clear enough ;)
Thanks.

If you have time could you post some screenshots of the process? Always seems clearer when you can see what is being done :)