• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Keith_W DSP system

Or I could leave it ... after all it's only 10Hz wide :oops: Sheer laziness is telling me to leave it. I have spent way too much time worrying about one dip in the curve already! :facepalm:

I well understand your present feelings which also seem, I assume, to be more or less in consistent with my post #242.;)
Thank you indeed again for sharing your intensive efforts and results.
 
Last edited:
Not sure what you are going to see here (I can't make any sense of it myself), but here you go.

View attachment 354897

OK I think I see now why you use the unwrapped view. As you know acourate positions the peak at the 6000 sample mark which means you have, assuming a 48kHz sample rate, 125ms of pure time delay "added" to your phase response which makes the wrapped view a useless mess. This sort of thing is much easier to see in REW which does most of it for you to remove the time delay so you can just look at the phase itself but you can do the same in acourate manually, i.e. rotate the earlier signal so the peak is at 0, rotate the other one by the same amount. Now you've removed the time delay and can see relative phase response easily without all that time delay making it hard (IMO) to see the actual difference.

I couldn't find a decent example quickly but this is the sort of thing you end up with, when you see the difference in y axis range then you see how much more zoomed in it is.

1709884735762.png
 
I could potentially do a better job with the reverse AP filter. Or I could leave it ... after all it's only 10Hz wide :oops: Sheer laziness is telling me to leave it. I have spent way too much time worrying about one dip in the curve already! :facepalm:
fwiw wouldn't be happy with such a large and broad dip in my SW response and would look at ways to fix it :)
 
Are you still using Baach?
Home Audio Fidelity (a French DSP service) now has a cross talk cancellation VST option. Might be worth a look
 
OK I think I see now why you use the unwrapped view. As you know acourate positions the peak at the 6000 sample mark which means you have, assuming a 48kHz sample rate, 125ms of pure time delay "added" to your phase response which makes the wrapped view a useless mess. This sort of thing is much easier to see in REW which does most of it for you to remove the time delay so you can just look at the phase itself but you can do the same in acourate manually, i.e. rotate the earlier signal so the peak is at 0, rotate the other one by the same amount. Now you've removed the time delay and can see relative phase response easily without all that time delay making it hard (IMO) to see the actual difference.

I couldn't find a decent example quickly but this is the sort of thing you end up with, when you see the difference in y axis range then you see how much more zoomed in it is.

1709885681199.png


Like this, you mean? I rotated the sub so that the phase slope aligned with the woofer at 50Hz. I am not sure how that is going to help me design an all pass filter. What I did when I was comparing the phase between sub and woofer is to unwrap the phase, then nudge them together so that they overlapped. It was then quite easy to see whether the slopes aligned.

FYI this is how I designed my AP filter.

1709886208968.png


Pressing "PK" (peak) and entering 6000 will re-align the wrapped phase curve to sample 6000. then I make an AP filter that mirrors the shape of the curve as much as possible. I then invert it and convolve it with the pulse to get a preview of the correction:

1709886337728.png


fwiw wouldn't be happy with such a large and broad dip in my SW response and would look at ways to fix it :)

Thanks! I knew I could count on you to send me back to the drawing board! :D

If there was one benefit from going through this exercise, at least I know that this method works. I will work on it a bit more, I have some ideas on how to improve.
 
Like this, you mean? I rotated the sub so that the phase slope aligned with the woofer at 50Hz.
Still seems like a lot of time delay in there, perhaps it's easier to export both to rew, use it's function to automatically remove time delay and see what it produces then repeat manually in acourate.


I am not sure how that is going to help me design an all pass filte
It won't, it's just to look more closely at how they align and the nature/shape of the misalignment. This can help work out what the solution is, eg an apf might not be what you want. I definitely would not rely on one measurement here either, move the mic in each direction and find out if it highly sensitive to position or not.
 
I tried again this evening to get rid of that notch. I failed miserably. My "idea" turned out to make the situation worse. For now, this is probably as good as I can make it. I will have to go watch some OCA on Youtube now to see if I can learn anything.

OTOH, that all pass filter has a dramatic effect on the sound, and I am NOT talking about the frequency response. In fact, over the past week I have been experimenting with all pass filters. There is a real disconnect between what I hear and what the measurements show, and I can't wrap my head around why.

I will compare and contrast my attempt at the "ultimate" filter with the filter made for me by Dr. Uli (which is a really great sounding filter). With my attempt at the "ultimate" filter, every driver was linearized nearfield with both FR and phase flattened using a reverse AP filter. Every correction that I know how to apply was applied to this set of filters. I spent a LOT of time crafting it to perfection, and indeed ... a look at the measurements would suggest that it is perfect.

1709905376198.png


Comparison of my correction vs. Uli's. I staggered them for clarity. I would even say that my correction looks a little bit better. Both curves use the same XO points, same target curve. The only difference is that I corrected my drivers more aggressively than he did.

1709905833642.png


In fact, VERY aggressively. Red is my correction, black is Dr. Uli's. This is the nearfield phase linearization for the woofer. Dr. Uli used a reverse AP filter. I came up with this idea to invert the phase guideslope and use that to flatten the phase. When I ran my idea past Uli, he said that it is not a good idea. Regardless, I had already created the filters so I went ahead and completed the procedure. You can see that my correction is ruler flat, whereas Dr. Uli's is looser. Mine is a measured verification response, Uli's is a sim that I created (he did not do a verification measurement).

1709909892956.png


Above is Uli's step response ...

1709906288084.png


... and this was mine. I think I can say that mine objectively looks better. Left and right are almost carbon copies of each other, and there is no pre-ringing.
By this stage I was really pleased.

1709906820825.png


This is the minphase and windowed version of the verification measurement of Dr. Uli's filter. You can see a step at the tweeter at the crossover point. This was because Dr. Uli elected not to correct the tweeter phase with an AP filter. Also the phase slope continues to roll gently downwards.

1709906907069.png


... and this is mine. You can see how aggressive the correction is. There are filters everywhere, correcting everything I can see. I was quite chuffed when I saw this result as well.

1709907199445.png


Group delay, left channel only, Uli's (red) vs. mine (brown). Almost the same, except that mine shifts the spike from 60Hz to 50Hz, probably due to that AP filter in my subwoofer. Dr. Uli has no AP filter in his sub correction.

So, in summary ... the differences between Dr. Uli's filters and mine are:
- he has reverse AP filters in the woofers and mids only. Mine has phase correction in every driver.
- his reverse AP filters are designed more gently. Mine use an inversion of the guideslope to correct the driver phase to flat.
- in nearly every case, I think that my measurements look more pleasing than his.

Now - frequency response is the same, time alignment is nearly the same (mine might be a little bit better), the only major difference is how aggressively the phase was corrected. Since phase is supposed to be inaudible, I was expecting my new, carefully crafted filters to sound awesome.

Listening Impressions

Except that they don't. The main difference is how "lively" the sound is. On Uli's filters, percussion instruments have a natural sounding decay, and you can hear them shimmer. Mine simply go "clang" with no shimmery decay. Just as bad - instruments seem localized to each speaker on mine, in fact it is almost as if there are two columns of sound in front of me with emptiness in between. With Uli's, the ensemble is realistically spread out and you can almost reach out and touch them.

This was a real WTF moment for me. I had done something terrible, despite the nice looking measurements. I went and made another set of filters, removing ALL phase corrections, then sat down and had a listen.

The difference was quite unbelievable. The sound suddenly came to life, veils were lifted, etc. The speakers were really unleashed, they were so aggressive. Where all the phase corrections seemed as if the soft pedal on the piano was being pressed, this one sounds as if the dampers were removed. Really it was all a bit too much, in fact it felt as if I was being assaulted by sound. It was exciting for a while, and then it became tiresome. I am pretty sure that some of you rock fans would love it. There is so much impact. With my typical classical music, it was excessive.

Uli's correction is a nice mixture of polite and aggression, whereas my two filters were on either extreme. The version with no phase correction was less objectionable than the highly corrected version though. Even though it was ultimately more fatiguing, it sounded more believable than the corrected version where the sound was stuck in a straightjacket.

But above all, I am confused (again). I thought that phase was not audible? How do I explain this? Clearly I don't know as much about measurements as I thought, and I don't understand phase as well as I thought. Lesson learnt - be gentler with the corrections, don't go around chasing perfect looking measurements. I think this is an easy trap to fall into with DSP, you read a textbook, see what a perfect measurement looks like, and then try to replicate it.

I am fortunate that I have Dr. Uli's filters to compare my efforts to. They really do sound amazing. If I didn't have them, I would have settled on the perfect looking measurements and then come to ASR to tell you that I have cracked the nut. It looks perfect, so it must sound perfect. But I have to be honest with myself here. In my zeal to produce the best looking correction, I have severely damaged the sound - and the only reason I know this is because I have a better sounding filter to compare mine with.
 
So, if I read my older post again and substitute "phase alignment" for "steady state", I would be effectively describing the difference between time alignment and phase alignment.

What the article does not say is how much the phase needs to be aligned. Suppose the phase discrepancy between two drivers is 3690 degrees (i.e. a 90 degree phase difference has been rotated 10 times). What do you do then? Rotate one driver 3690 degrees? Or rotate it 90 degrees so that the phase aligns?

Some of the way your measurements are presented via Acourate is a bit difficult for me to follow... the phase traces with so many wraps, for example. It might be easier to see what's going on if any large constant delays are removed or adjusted for beforehand. Also, without the individual magnitude traces as additional reference, it's doubly hard to visualize the xo interaction between subs and mains.

Some of it could be due to additional reflective room noise muddling the plot views... but I would have thought Acourate to have already effectively applied windowing.

The article also briefly discusses what to do when confronted with different phase slopes. Reverse all pass filter into one driver to get alignment.

And a regular min phase all pass filter -- which is used if long FIR processing latency is unacceptable -- however, it will increase GD.
 
subjective preferences don't always agree with objective performance.
 
Since we are on ASR, I have to ask the obligatory question, blind test or not?

Not blind tested, and subjectively level matched in my convolver. But I assure you that the differences are so obvious that I am 100% confident I will pick it. I will go take a recording and post it later.

I am glad that you are skeptical to my claim. I am the same as you, I do not believe that phase differences should be audible. After all, many authorities have said so. But here we are. There has to be some kind of explanation, and the only variable that I changed with all those filters is the reverse AP filter.

I have uploaded a zip file containing an .MDAT of my verification measurements. In it, you will find 3 sets of measurements.

- Uli Original: these filters were created by Uli and are the best sounding.
- Amf 50 Full Correct: these have individual driver phase linearization and are the worst sounding. They sound constricted and lack decay.
- Amf 50 No Ph Correctns: all driver phase linearizations were removed. These sound aggressive with too much attack.

As a preview, here are all 6 measurements with 1/3 octave smoothing and a stretched out vertical scale. You can see they are all +/- 1dB of each other.

1709961677124.png


Note that all 3 measurement sets were done on 3 separate occasions, but I do what I can to make sure they are comparable. There is an "X" on the floor to help with consistent mic placement, and Acourate's mic alignment tool to precisely align the mic between the 2 speakers. Only the height of the mic may be slightly variable, but not by much. I take the mic stand to the speaker and align the mic to the tweeter, then move it back to the X.

I would personally look at these measurements and tell you that they should all sound the same. But there MUST be an explanation for why one sounds better than the other two, and it's not just volume.
 

Attachments

  • Keith vs Uli.zip
    4.1 MB · Views: 33
Last edited:
Do you mean literally linear phase? If so, why did you do this?

To me, a "linear phase filter" (as opposed to "minimum phase filter") means that the filter imposes the same time delay on each wavelength that passes through the filter. This will cause phase rotations as wavelengths get shorter. This is not a linear phase filter, it is a min phase FIR filter with the phase response flattened.

Why I did it - well, if a reverse AP filter flattens the phase, then I reasoned that if I perfectly flattened the phase, then it should sound better? The motive for doing it was for my education. As mentioned, Uli did caution me against doing this. It does produce nice looking measurements, but it sounded awful. And BTW, I should also add that I do not know what a "nice looking phase measurement" should look like.
 
To me, a "linear phase filter" (as opposed to "minimum phase filter") means that the filter imposes the same time delay on each wavelength that passes through the filter. This will cause phase rotations as wavelengths get shorter. This is not a linear phase filter, it is a min phase FIR filter with the phase response flattened.
as far as I can see, if you change the phase response then it's no longer a min phase filter

the reason I ask is because a speaker driver is a minimum phase device so I took "flatten the phase" to mean you applied a phase correction that removed that (natural) minimum phase behaviour and coerced it to a linear phase response. I'm not entirely sure how this will combine with normal use of acourate, i.e. acourate will apply an excess phase correction in order to hit a minimum phase target, if you've pushed the individual drivers to linear phase and then applied linear phase crossovers then I would guess the phase correction in macro 4 would then attempt to undo that to the extent that the NF phase response (assuming you based the linearisation on a NF measurement) bears any resemblance to that seen in the listening position (seems unlikely tbh). I think this is what you did but I'm not entirely sure.

FWIW I cannot think of a reason to linearise the phase of an individual driver, it just shouldn't be necessary.

I'm biased because it's what I do but if I were you I'd spent time trying to get better measurements (quasi anechoic) on which to base the linearisation of the tweeter and mid (would forget the woofer and sub entirely, it's just not necessary imv).
 
I would personally look at these measurements and tell you that they should all sound the same. But there MUST be an explanation for why one sounds better than the other two, and it's not just volume.
seems like the L speaker is the one that really changed in the Uli vs the rest, the R seems fairly similar across all 3. Arguably your correction is brighter by a 1-2dB in the midrange too which is surely going to be audible.
 
To me, a "linear phase filter" (as opposed to "minimum phase filter") means that the filter imposes the same time delay on each wavelength that passes through the filter. This will cause phase rotations as wavelengths get shorter. This is not a linear phase filter, it is a min phase FIR filter with the phase response flattened.

Why I did it - well, if a reverse AP filter flattens the phase, then I reasoned that if I perfectly flattened the phase, then it should sound better? The motive for doing it was for my education. As mentioned, Uli did caution me against doing this. It does produce nice looking measurements, but it sounded awful. And BTW, I should also add that I do not know what a "nice looking phase measurement" should look like.
Try adding the attached phase filter to Uli's right speaker filter(as in A x B trace arithmetic) if you can do that sort of thing with Acourate, let me know how it goes.
 

Attachments

  • Rfilt.zip
    58.9 KB · Views: 23
FWIW I cannot think of a reason to linearise the phase of an individual driver, it just shouldn't be necessary.

May I draw a distinction between room correction and speaker correction...?

At the speaker correction level,
I've found correcting individual drivers to get to flat mag and phase, prior to applying xover, to be a godsend. All done with IIR so that flattening mag concomitantly flattens phase. Doing both in-band flatten mag flattening and out-of-band flattening for as wide an out-of-band span needed given the target acoustic xover order.
Then, add complementary linear phase xovers.

This effectively linearizes the phase of each individual driver.
Here's another example same multi-way example I posted in #255, that shows the phase linearization of each driver section in the bottom pane. (Now with a house curve embedded.)

So I think it's a great reason for individual driver phase linearization .....BUT, at the anechoic or DIY quasi-anechoic level
syn11a indoor take2 transfer.JPG



I'm biased because it's what I do but if I were you I'd spent time trying to get better measurements (quasi anechoic) on which to base the linearisation of the tweeter and mid (would forget the woofer and sub entirely, it's just not necessary imv).

I share your bias towards better quais-anechoic measurements (obviously from the above) :)
My experience however, is that phase linearization of the woofer and sub ultimately matters more than the tweeter and mid.
When listening to one speaker (preferably outdoors), I think it improves timbre, rhythm, and especially transients.
I think the tweeter & mid phase matters more for stereo and imaging and such.
my 2c
 
At the speaker correction level,
I've found correcting individual drivers to get to flat mag and phase, prior to applying xover, to be a godsend. All done with IIR so that flattening mag concomitantly flattens phase. Doing both in-band flatten mag flattening and out-of-band flattening for as wide an out-of-band span needed given the target acoustic xover order.
Then, add complementary linear phase xovers.
absolutely agree. I was a little unclear, the bit quoted was referring to linearising phase independently of magnitude (because a driver is minimum phase then linearising its magnitude response is all you need)
 
The reason I posted those .MDAT's was so that you guys could spot something in MY filters that are responsible for the toning down of decay and lack of "liveliness". Uli's filters may look a little rougher, but I am hesitant to "improve" on them because they sound so good. In fact, I did copy all his measurements into a new folder, and generated a new set of filters but with my attempt at "improvement". Whilst I did get a better step response, they don't sound any better than his. Or if there is a difference, it is so subtle that I haven't noticed it yet.

I don't think a broad 1dB lift in the treble of my filters will make percussion instruments lose their shimmer. If anything, I would expect the shimmer to be more prominent.

as far as I can see, if you change the phase response then it's no longer a min phase filter

Hmmm, now I see what you mean. Just to help me understand the phenomenon a bit better, I created a min phase crossover and a lin phase:

1709995794671.png


lin phase = red, min phase = green. Now I think I understand a bit better, when I convolve the min phase measured response of the driver linearization into a lin phase filter, I get a min phase result. What I have been doing is converting the driver's min phase response into linear phase.

I have to take a quick aside to confess my ignorance here. I understand what the words mean, but I don't understand it on any deeper level. In particular, there is an audible difference between (what I am assuming) is the driver's natural min phase response and the corrected response which makes it lin phase. Is this a known phenomenon? Or is phase really inaudible?

I'm biased because it's what I do but if I were you I'd spent time trying to get better measurements (quasi anechoic) on which to base the linearisation of the tweeter and mid (would forget the woofer and sub entirely, it's just not necessary imv).

How do you suggest I take a quasi-anechoic measurement? You mean take the drivers outside and run sweeps?
 
May I draw a distinction between room correction and speaker correction...?

At the speaker correction level,
I've found correcting individual drivers to get to flat mag and phase, prior to applying xover, to be a godsend. All done with IIR so that flattening mag concomitantly flattens phase. Doing both in-band flatten mag flattening and out-of-band flattening for as wide an out-of-band span needed given the target acoustic xover order.
Then, add complementary linear phase xovers.

This effectively linearizes the phase of each individual driver.
Here's another example same multi-way example I posted in #255, that shows the phase linearization of each driver section in the bottom pane. (Now with a house curve embedded.)

So I think it's a great reason for individual driver phase linearization .....BUT, at the anechoic or DIY quasi-anechoic level

That is what I have been doing, I flatten the mag and the phase with a reverse pass IIR filter, and then apply the XO. The results were posted above. About the only thing I am doing differently is that the initial measurement is not quasi-anechoic, it is an extreme near field (mic almost touching the drivers) with tight windowing.

You are right that this may be meaningless for lower freqs, but I have been following that dual mic thread with interest, specifically dominikz who managed to replicate the method with REW. I have a spare mic, all I need is some extra cable and duct tape and I may be able to perform my own dual mic measurement. It will only be valid for bass though, and who knows what upper frequency limit I will be able to achieve.
 
Back
Top Bottom