• 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!

Optimizing 2.2 system using MSO-generated all-pass filters as MiniDSP biquads

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
Dear All, I've bought a MiniDSP nanodigi, 2 8" subwoofers and a UMIK-1 and I've been experimenting with them for 20+ hours now. For my latest configuration, I have done the following:

1. REW sweep measurements in bass region for each of the 4 drivers for 3 LPs, I used acoustic reference on the same speaker and made sure the timing was correct
2. Imported the raw measurements in MSO as 4 subs
3. Let MSO compute filters and settings based on the following constraints:
  • 24 dB LR HPF/LPF between 40-120 hz for each speaker/subwoofer as applicable
  • Fixed delay and gain value of main speaker closest to LP to maintain correct stereo image
  • 2 overall PEQs (<150 hz)
  • 3 second order all-pass filters per speaker with max Q of 1
  • 1 first order all-pass filter per speaker
  • 2-3 PEQs per speaker to fill up the 8 available biquad crossover slots
  • max 9 ms delay for each sub (nanodigi limit)
4. Exported the biquads to MiniDSP crossover
5. Performed moving mic measurements for L, R and L+R to create a couple of additional PEQ filters up to approx. 300 hz for correction and for implementing something that resembles a Harman curve
6. Listening tests

I did some listening tests, but because my hearing is not trained very thoroughly I find it difficult to draw conclusions from what I'm hearing. I can do comparison tests with older configurations in the MiniDSP, but I find it hard to draw conclusions other than that all corrective configs sound better than the uncorrected.

The reason for applying all pass filters is that my subs do not have a lot of headroom for shaving frequency peaks and I suspect it allows optimal integration of subs and mains. I have tried to find more information on the application of all-pass filters but other than a little bit of information regarding pre-ringing there is not much to be found. I am looking for some technical expertise here to guide me if I am on the right track and what your experience is. Some specific questions: (1) can I use higher Qs for the allpass filters or not? (2) should I apply FDW in REW before exporting the measurements to MSO?

I did some listening tests, but because my hearing is not trained very thoroughly I find it difficult to draw conclusions from what I'm hearing. I can do comparison tests with older configurations in the MiniDSP, but I find it hard to draw conclusions other than that all corrective configs sound better than the uncorrected.

Attached MSO screenshots before and after and below the MSO filter output for reference.

Individual sub channels:

Channel: "Front L"
FL1: Gain Block
Parameter "Gain (dB)" = -0.5
This gain value is an intermediate calculation for reference only.
For final gain values, see "Final gain and delay/distance settings" at end of report.

FL2: HPF Linkwitz-Riley 24 dB/oct
Parameter "Cutoff freq (Hz)" = 40

FL3: Delay Block
Parameter "Delay (msec)" = 1.34203
This delay value is an intermediate calculation for reference only.
For final delay values, see "Final gain and delay/distance settings" at end of report.

FL7: All-Pass First-Order
Parameter "Freq of 90 deg phase (Hz)" = 90.1818

FL13: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 89.6752
Parameter "Boost (dB)" = -12.4179
Parameter "Q (RBJ)" = 17.5056
"Classic" Q = 35.7787

FL18: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 29.5369
Parameter "All-pass Q" = 0.295831

FL19: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 100
Parameter "All-pass Q" = 1

FL30: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 78.5432
Parameter "Boost (dB)" = -12.5153
Parameter "Q (RBJ)" = 16.2777
"Classic" Q = 33.456

FL33: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 37.9035
Parameter "Boost (dB)" = -15
Parameter "Q (RBJ)" = 27.8049
"Classic" Q = 65.9358

End Channel: "Front L"

Channel: "Front R"
FL5: HPF Linkwitz-Riley 24 dB/oct
Parameter "Cutoff freq (Hz)" = 40

FL16: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 33.2736
Parameter "All-pass Q" = 1

FL17: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 63.3438
Parameter "All-pass Q" = 1

FL27: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 90.8785
Parameter "Boost (dB)" = -13.91
Parameter "Q (RBJ)" = 21.189
"Classic" Q = 47.191

FL31: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 45.4416
Parameter "Boost (dB)" = -15
Parameter "Q (RBJ)" = 15.6943
"Classic" Q = 37.217

FL32: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 132.548
Parameter "Boost (dB)" = -15
Parameter "Q (RBJ)" = 30
"Classic" Q = 71.1412

FL34: All-Pass First-Order
Parameter "Freq of 90 deg phase (Hz)" = 77.7823

End Channel: "Front R"

Channel: "Sub L"
FL8: LPF Linkwitz-Riley 24 dB/oct
Parameter "Cutoff freq (Hz)" = 140

FL9: Delay Block
Parameter "Delay (msec)" = 6.82877e-11
This delay value is an intermediate calculation for reference only.
For final delay values, see "Final gain and delay/distance settings" at end of report.

FL11: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 67.9099
Parameter "All-pass Q" = 1

FL21: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 12.3105
Parameter "All-pass Q" = 1

FL24: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 10
Parameter "All-pass Q" = 0.168394

FL25: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 56.2667
Parameter "Boost (dB)" = -14.1603
Parameter "Q (RBJ)" = 12.6119
"Classic" Q = 28.4963

FL26: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 29.668
Parameter "Boost (dB)" = -11.3539
Parameter "Q (RBJ)" = 30
"Classic" Q = 57.6725

FL28: All-Pass First-Order
Parameter "Freq of 90 deg phase (Hz)" = 5

End Channel: "Sub L"

Channel: "Sub R"
FL4: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 103.633
Parameter "Boost (dB)" = -8.34235
Parameter "Q (RBJ)" = 20
"Classic" Q = 32.3287

FL6: Delay Block
Parameter "Delay (msec)" = 1.57309
This delay value is an intermediate calculation for reference only.
For final delay values, see "Final gain and delay/distance settings" at end of report.

FL10: LPF Linkwitz-Riley 24 dB/oct
Parameter "Cutoff freq (Hz)" = 140

FL12: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 43.1266
Parameter "All-pass Q" = 1

FL20: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 43.1267
Parameter "All-pass Q" = 1

FL22: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 61.0115
Parameter "Boost (dB)" = -13.5539
Parameter "Q (RBJ)" = 20
"Classic" Q = 43.6394

FL23: All-Pass Second-Order
Parameter "Freq of 180 deg phase (Hz)" = 84.687
Parameter "All-pass Q" = 0.1

FL29: All-Pass First-Order
Parameter "Freq of 90 deg phase (Hz)" = 100

End Channel: "Sub R"

Individual mains channels:

No mains channels defined

Shared sub channel:

FL14: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 67.0403
Parameter "Boost (dB)" = -9.10572
Parameter "Q (RBJ)" = 11.6896
"Classic" Q = 19.7443

FL15: Parametric EQ (RBJ)
Parameter "Center freq (Hz)" = 84.4684
Parameter "Boost (dB)" = -9.92316
Parameter "Q (RBJ)" = 19.5181
"Classic" Q = 34.5554

End shared sub channel

Shared mains channel:

No filters in this channel.


DSP Filter Channel Information:
Sample frequency 96000 Hz

Crossover filter/biquad info for Front L:
FL18: All-Pass Second-Order (crossover biquad1)
FL19: All-Pass Second-Order (crossover biquad2)
FL2: HPF Linkwitz-Riley 24 dB/oct (crossover biquad3, crossover biquad4)
FL7: All-Pass First-Order (crossover biquad5)
FL13: Parametric EQ (RBJ) (crossover biquad6)
FL30: Parametric EQ (RBJ) (crossover biquad7)
FL33: Parametric EQ (RBJ) (crossover biquad8)
Crossover biquads for Front L:
biquad1,
b0=0.993486515719481,
b1=-1.993482790688970,
b2=1.000000000000000,
a1=1.993482790688970,
a2=-0.993486515719481,
biquad2,
b0=0.993476410277674,
b1=-1.993433713330368,
b2=1.000000000000000,
a1=1.993433713330368,
a2=-0.993476410277674,
biquad3,
b0=0.998150511190451,
b1=-1.996301022380902,
b2=0.998150511190451,
a1=1.996297601769120,
a2=-0.996304442992684,
biquad4,
b0=0.998150511190451,
b1=-1.996301022380902,
b2=0.998150511190451,
a1=1.996297601769120,
a2=-0.996304442992684,
biquad5,
b0=0.994114965215307,
b1=-1.000000000000000,
b2=0.000000000000000,
a1=0.994114965215307,
a2=-0.000000000000000,
biquad6,
b0=0.999739483435889,
b1=-1.999280545635399,
b2=0.999575498165099,
a1=1.999280545635399,
a2=-0.999314981600988,
biquad7,
b0=0.999752362311937,
b1=-1.999324703912085,
b2=0.999598759185760,
a1=1.999324703912085,
a2=-0.999351121497696,
biquad8,
b0=0.999913033130990,
b1=-1.999782292438449,
b2=0.999875412929509,
a1=1.999782292438449,
a2=-0.999788446060499

There are no output biquads needed for Front L.

Crossover filter/biquad info for Front R:
FL17: All-Pass Second-Order (crossover biquad1)
FL16: All-Pass Second-Order (crossover biquad2)
FL5: HPF Linkwitz-Riley 24 dB/oct (crossover biquad3, crossover biquad4)
FL31: Parametric EQ (RBJ) (crossover biquad5)
FL27: Parametric EQ (RBJ) (crossover biquad6)
FL32: Parametric EQ (RBJ) (crossover biquad7)
FL34: All-Pass First-Order (crossover biquad8)
Crossover biquads for Front R:
biquad1,
b0=0.995862744208557,
b1=-1.995845591767512,
b2=1.000000000000000,
a1=1.995845591767512,
a2=-0.995862744208557,
biquad2,
b0=0.997824616136348,
b1=-1.997819878682893,
b2=1.000000000000000,
a1=1.997819878682893,
a2=-0.997824616136348,
biquad3,
b0=0.998150511190439,
b1=-1.996301022380878,
b2=0.998150511190439,
a1=1.996297601769096,
a2=-0.996304442992660,
biquad4,
b0=0.998150511190439,
b1=-1.996301022380878,
b2=0.998150511190439,
a1=1.996297601769096,
a2=-0.996304442992660,
biquad5,
b0=0.999815304734957,
b1=-1.999541870276283,
b2=0.999735409101519,
a1=1.999541870276283,
a2=-0.999550713836476,
biquad6,
b0=0.999750507602673,
b1=-1.999339647449781,
b2=0.999624507206545,
a1=1.999339647449781,
a2=-0.999375014809217,
biquad7,
b0=0.999718200870444,
b1=-1.999239266963041,
b2=0.999596299965548,
a1=1.999239266963041,
a2=-0.999314500835992,
biquad8,
b0=0.994922077799405,
b1=-1.000000000000000,
b2=0.000000000000000,
a1=0.994922077799405,
a2=-0.000000000000000

There are no output biquads needed for Front R.

Crossover filter/biquad info for Sub L:
FL11: All-Pass Second-Order (crossover biquad1)
FL21: All-Pass Second-Order (crossover biquad2)
FL24: All-Pass Second-Order (crossover biquad3)
FL25: Parametric EQ (RBJ) (crossover biquad4)
FL8: LPF Linkwitz-Riley 24 dB/oct (crossover biquad5, crossover biquad6)
FL28: All-Pass First-Order (crossover biquad7)
FL26: Parametric EQ (RBJ) (crossover biquad8)
Crossover biquads for Sub L:
biquad1,
b0=0.995565178639463,
b1=-1.995545467193461,
b2=1.000000000000000,
a1=1.995545467193461,
a2=-0.995565178639463,
biquad2,
b0=0.999194602611744,
b1=-1.999193953685364,
b2=1.000000000000000,
a1=1.999193953685364,
a2=-0.999194602611744,
biquad3,
b0=0.996120828513504,
b1=-1.996120400976130,
b2=1.000000000000000,
a1=1.996120400976130,
a2=-0.996120828513504,
biquad4,
b0=0.999734824585895,
b1=-1.999326902223854,
b2=0.999605635035747,
a1=1.999326902223854,
a2=-0.999340459621642,
biquad5,
b0=0.000020854776754,
b1=0.000041709553507,
b2=0.000020854776754,
a1=1.987041771010415,
a2=-0.987125190117430,
biquad6,
b0=0.000020854776754,
b1=0.000041709553507,
b2=0.000020854776754,
a1=1.987041771010415,
a2=-0.987125190117430,
biquad7,
b0=0.999672804296685,
b1=-1.000000000000000,
b2=0.000000000000000,
a1=0.999672804296685,
a2=-0.000000000000000,
biquad8,
b0=0.999954622604754,
b1=-1.999871808329881,
b2=0.999920955933966,
a1=1.999871808329881,
a2=-0.999875578538720

There are no output biquads needed for Sub L.

Crossover filter/biquad info for Sub R:
FL12: All-Pass Second-Order (crossover biquad1)
FL20: All-Pass Second-Order (crossover biquad2)
FL23: All-Pass Second-Order (crossover biquad3)
FL4: Parametric EQ (RBJ) (crossover biquad4)
FL22: Parametric EQ (RBJ) (crossover biquad5)
FL10: LPF Linkwitz-Riley 24 dB/oct (crossover biquad6, crossover biquad7)
FL29: All-Pass First-Order (crossover biquad8)
Crossover biquads for Sub R:
biquad1,
b0=0.997181353521915,
b1=-1.997173397525552,
b2=1.000000000000000,
a1=1.997173397525552,
a2=-0.997181353521915,
biquad2,
b0=0.997181348156926,
b1=-1.997173392130255,
b2=1.000000000000000,
a1=1.997173392130255,
a2=-0.997181348156926,
biquad3,
b0=0.946067441103700,
b1=-1.946037547552091,
b2=1.000000000000000,
a1=1.946037547552091,
a2=-0.946067441103700,
biquad4,
b0=0.999830852502162,
b1=-1.999405964112179,
b2=0.999621104969320,
a1=1.999405964112179,
a2=-0.999451957471482,
biquad5,
b0=0.999827964448357,
b1=-1.999548502540691,
b2=0.999736480207674,
a1=1.999548502540691,
a2=-0.999564444656031,
biquad6,
b0=0.000020854776754,
b1=0.000041709553507,
b2=0.000020854776754,
a1=1.987041771010438,
a2=-0.987125190117452,
biquad7,
b0=0.000020854776754,
b1=0.000041709553507,
b2=0.000020854776754,
a1=1.987041771010438,
a2=-0.987125190117452,
biquad8,
b0=0.993476340656558,
b1=-1.000000000000000,
b2=0.000000000000000,
a1=0.993476340656558,
a2=-0.000000000000000

There are no output biquads needed for Sub R.

There are no biquads needed for the shared mains filter channels.

Shared sub channel filter/biquad info:
FL14: Parametric EQ (RBJ) (biquad1)
FL15: Parametric EQ (RBJ) (biquad2)

Input biquads for shared sub channel:
biquad1,
b0=0.999794181274028,
b1=-1.999346957118293,
b2=0.999572022329180,
a1=1.999346957118293,
a2=-0.999366203603208,
biquad2,
b0=0.999829302835720,
b1=-1.999468102994653,
b2=0.999669356099772,
a1=1.999468102994653,
a2=-0.999498658935492

Raw uncorrected gain and delay values:
These gain and delay values are for reference only.
Unadjusted gain values of all gain blocks:
FL1 (Front L, gain block) gain: -0.50 dB
Unadjusted delay values of all delay blocks:
FL3 (Front L, delay block) delay: 1.34 msec
FL9 (Sub L, delay block) delay: 0.00 msec
FL6 (Sub R, delay block) delay: 1.57 msec

For final gain and delay values, see
"Final gain and delay/distance settings" at end of report.

Final gain and delay/distance settings:

Minimal gain settings:
Front L gain: -0.50 dB
Front R gain: 0.00 dB
Sub L gain: 0.00 dB
Sub R gain: 0.00 dB
Delay settings:
Front L delay: 1.34 msec
Front R delay: 0.00 msec
Sub L delay: 0.00 msec
Sub R delay: 1.57 msec
 

Attachments

  • MSO before and after.png
    MSO before and after.png
    853.3 KB · Views: 168

Dumdum

Senior Member
Joined
Dec 13, 2019
Messages
339
Likes
222
Location
Nottinghamshire, UK
Take actual phase measurements not just rta… that will then show if all pass are even needed and allow you to better correct the phase and response both
 
OP
E

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
Take actual phase measurements not just rta… that will then show if all pass are even needed and allow you to better correct the phase and response both
I already did that for the initial measurements, hence my question whether I need to apply FDW. Only for the polishing filters I used RTA/MMM.
 

Dumdum

Senior Member
Joined
Dec 13, 2019
Messages
339
Likes
222
Location
Nottinghamshire, UK
Post the phase measurements overlayed with each other if you would, it’s a far better picture of if all pass are required I use all pass where needed in vehicles and have a very deep understanding of them and what they do…
 
OP
E

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
Post the phase measurements overlayed with each other if you would, it’s a far better picture of if all pass are required I use all pass where needed in vehicles and have a very deep understanding of them and what they do…
Here you go, I had to show them unwrapped because otherwise it was just a big mess.

20230526 phase graphs.png
 
Last edited:

Dumdum

Senior Member
Joined
Dec 13, 2019
Messages
339
Likes
222
Location
Nottinghamshire, UK
So start with just both subs…

All four seating positions, you are going to get confused with all drivers in the mix as well

So post again with two subs only at each listening position…

Unwrapping is a pain as it makes data look later than it is (ie where you have wraps it’s not actually freqs getting later…

First align subs to each other with all pass if required, then fronts to each other, then adjust the combined response of both to each other as pairs, you are looking at data and getting confused, two become one and then adjust each pair to the other pair far easier
 
OP
E

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
So can you not add delay to the reference signal to get it way more readable? I use smaart mainly and I know that inside out, but this just looks awful to read and decipher any usable data from
Thanks for coming back to my topic. I agree the readability is very poor, I can time align the measurents in REW so that there's a slightly better overlap in the phase measurement graphs and post those, but it will only slightly improve the readability. I did not time align them on purpose in order to be able to import them in MSO with the proper timing relevant to the listening positions.

I will try to set it up like how you described it: first the pair of subs, then the pair of speakers and then the 2 pairs together, sounds like a plan. So just to be clear: for aligning, do you propose/recommend MSO, or an alternative method?
 

Dumdum

Senior Member
Joined
Dec 13, 2019
Messages
339
Likes
222
Location
Nottinghamshire, UK
So I shall try to explain… rew knows the timing of the signal it outputs by comparing the reference timing chirp to the sweep start and also knows at what time the various frequency’s should be emitted

However if the original signal has say 1000 msec between the chirp and the sweep…

Then the signal goes from the digital domain through the dsp, then the amp, then the speaker cables and to the drive units themselves

Rew just looks for the time between the chirp and the sweep…

However all the processing and time of flight to the microphone means the signal is effectively late

Then when the pc compared the timing chirp to the signal in the mic and then the sweep to the signal in the mic… depending on the time delay on the signal going through dsp etc the phase then shows up wrapped as it is as a time period makes more and more degrees extra added in as you get higher in freq

So by telling the program that it has x amount of time delay in time of flight the phase graph can then be showed with that delay allowed for

I believe it’s in something along the lines of t=0 or being able to adjust the timing offset

Then you should be able to effectively flatten the phase measurement and get far more readable data from the subs imagine straight lines overlaying or diverging/converging as you go up in frequency… they all will start at the same point on the left of the graph at 0.00000001hz because the time period at that point is almost infinite so even 50msec is not noticeable at such a long wavelength…

Wraps will just look like wraps, but the most valuable part of the data will be clear and should overlay for the most part
 

Dumdum

Senior Member
Joined
Dec 13, 2019
Messages
339
Likes
222
Location
Nottinghamshire, UK
image.jpg


Phase graph is at the top and from when I was testing front left corner vs front right corner…

They were never going to match without all pass filters on the two sides at various places and sum

So what I did was placed both subs in the front left corner and then added 1 msec between the two, and then eq’d both to clean up the phase, because room modes were similar in that location I was able to correct the response and phase better so it matched more

image.jpg


So purple and brown were individual measurements from the listening position and I had no big nulls, so both subs next to each other made sense…

And then green is the sum of the two after correcting with eq a gentle upward tilt with +/- 3db down to the mid twenty’s upto over 100hz was nice considering I have four sealed peerless sls 10” subs (two per cab on a long cable originally so I could test the enclosures in various places in the room)

This is the sort of data I’d want to read it easily…
 
OP
E

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
I think I understand it now, let me fool around in REW a bit and I'll get back to you. Unfortunately I don't have much freedom with sub placement. I already spent a lot of time in REW's room simulator to get a feel of what approximately the placement would do and they're now placed in the bottom corners of the front wall. Unfortunately my current listening position is the biggest problem, it is too central in the room. But we're planning on a major overhaul of the ground floor which is going to improve the sound big time.
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
679
Likes
499
Location
Germany
Dear All, I've bought a MiniDSP nanodigi, 2 8" subwoofers and a UMIK-1 and I've been experimenting with them for 20+ hours now. For my latest configuration, I have done the following:

1. REW sweep measurements in bass region for each of the 4 drivers for 3 LPs, I used acoustic reference on the same speaker and made sure the timing was correct
2. Imported the raw measurements in MSO as 4 subs
3. Let MSO compute filters and settings based on the following constraints:
  • 24 dB LR HPF/LPF between 40-120 hz for each speaker/subwoofer as applicable
  • Fixed delay and gain value of main speaker closest to LP to maintain correct stereo image
  • 2 overall PEQs (<150 hz)
  • 3 second order all-pass filters per speaker with max Q of 1
  • 1 first order all-pass filter per speaker
  • 2-3 PEQs per speaker to fill up the 8 available biquad crossover slots
  • max 9 ms delay for each sub (nanodigi limit)
4. Exported the biquads to MiniDSP crossover
5. Performed moving mic measurements for L, R and L+R to create a couple of additional PEQ filters up to approx. 300 hz for correction and for implementing something that resembles a Harman curve
6. Listening tests

I did some listening tests, but because my hearing is not trained very thoroughly I find it difficult to draw conclusions from what I'm hearing. I can do comparison tests with older configurations in the MiniDSP, but I find it hard to draw conclusions other than that all corrective configs sound better than the uncorrected.

The reason for applying all pass filters is that my subs do not have a lot of headroom for shaving frequency peaks and I suspect it allows optimal integration of subs and mains. I have tried to find more information on the application of all-pass filters but other than a little bit of information regarding pre-ringing there is not much to be found. I am looking for some technical expertise here to guide me if I am on the right track and what your experience is. Some specific questions: (1) can I use higher Qs for the allpass filters or not? (2) should I apply FDW in REW before exporting the measurements to MSO?

I did some listening tests, but because my hearing is not trained very thoroughly I find it difficult to draw conclusions from what I'm hearing. I can do comparison tests with older configurations in the MiniDSP, but I find it hard to draw conclusions other than that all corrective configs sound better than the uncorrected.

Attached MSO screenshots before and after and below the MSO filter output for reference.

Here are some remarks on your method:

Nanodigi has no FIR filter capacity. Allpass filters you can create with biquads are useless for phase corrections you might need with your woofers which are sealed box or port phase shift corrections and these need "time-reversed" all pass filters which cannot be done with biquad coeeficients. You need to match phases of sub1 and sub2 and speakers left and right which is basically just a relative time delay (distance) adjustment and in the extreme case, a full polarity inversion of one or both subs might be needed (phase switch).

MSO is a good choice but you can also use REW's "alignment tool" for phase alignment of subs, the new early access version has many additional, excellent features for that purpose. It's notoriously difficult to add speakers' woofers to the bass production and seldom sounds better. I'd cross them over with the two subs and let the speakers shine in the mids and highs with the lower loads. The two speakers will be in phase with each other anyway as long as your LP is centered.

Applying normal cycles of FDW (12-15) will not have any measurable effect on the low frequencies. Apply 1/48 smoothing and up to 5dB individual boost with REW auto EQ filters up to 200Hz over Harmon curve. This algorithm sounds best in my experience and you can easily pass these IIR filters to MiniDSP (in biquad form if you so wish).

MMM measurements do not have ANY phase information.
 
Last edited:
OP
E

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
Here are some remarks on your method:

Nanodigi has no FIR filter capacity. Allpass filters you can create with biquads are useless for phase corrections you might need with your woofers which are sealed box or port phase shift corrections and these need "time-reversed" all pass filters which cannot be done with biquad coeeficients. You need to match phases of sub1 and sub2 and speakers left and right which is basically just a relative time delay (distance) adjustment and in the extreme case, a full polarity inversion of one or both subs might be needed (phase switch).

MSO is a good choice but you can also use REW's "alignment tool" for phase alignment of subs, the new early access version has many additional, excellent features for that purpose. It's notoriously difficult to add speakers' woofers to the bass production and seldom sounds better. I'd cross them over with the two subs and let the speakers shine in the mids and highs with the lower loads. The two speakers will be in phase with each other anyway as long as your LP is centered.

Applying normal cycles of FDW (12-15) will not have any measurable effect on the low frequencies. Apply 1/48 smoothing and up to 5dB individual boost with REW auto EQ filters up to 200Hz over Harmon curve. This algorithm sounds best in my experience and you can easily pass these IIR filters to MiniDSP (in biquad form if you so wish).

MMM measurements do not have ANY phase information.
Thank you! I'm a fan of your YouTube tutorials.

My responses:

(1) I'm not using the all pass filters to correct phase response, but to improve the frequency response. And it seems to me that they work for that purpose. You can see it in the graphs too.

(2) I tried REW's alignment tool just as you explained in one of your videos, unfortunately, REW suggested a delay of 31 ms whereas the nanodigi only goes to 9 ms. I also tried different frequencies but for those REW dictated 20 ms or so. That's why I tried MSO.

(3) My LP isn't centered because of the layout of the living room, but I compensate that with manual delay and gain adjustments to get a proper sound stage and phantom center.

(4) I will try your suggestion to create filters, FYI: I need to use biquads so that I can use the crossover filter slots because the PEQ filters are limited to 5 per channel. Each channel has an additional 8 biquad slots under crossover. MSO can create the biquads for crossovers for me.

(5) is 5 dB boost always possible for "normal consumer" audio/hifi equipment? I'm hesitant about boosting because I'm afraid of clipping/distortion.

(6) I'm aware of the fact that MMM have no phase info, I use them after having applied phase corrections to check frequency response and as basis for PEQ filters.
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
679
Likes
499
Location
Germany
Thank you! I'm a fan of your YouTube tutorials.

My responses:

(1) I'm not using the all pass filters to correct phase response, but to improve the frequency response. And it seems to me that they work for that purpose. You can see it in the graphs too.

(2) I tried REW's alignment tool just as you explained in one of your videos, unfortunately, REW suggested a delay of 31 ms whereas the nanodigi only goes to 9 ms. I also tried different frequencies but for those REW dictated 20 ms or so. That's why I tried MSO.

(3) My LP isn't centered because of the layout of the living room, but I compensate that with manual delay and gain adjustments to get a proper sound stage and phantom center.

(4) I will try your suggestion to create filters, FYI: I need to use biquads so that I can use the crossover filter slots because the PEQ filters are limited to 5 per channel. Each channel has an additional 8 biquad slots under crossover. MSO can create the biquads for crossovers for me.

(5) is 5 dB boost always possible for "normal consumer" audio/hifi equipment? I'm hesitant about boosting because I'm afraid of clipping/distortion.

(6) I'm aware of the fact that MMM have no phase info, I use them after having applied phase corrections to check frequency response and as basis for PEQ filters.
By definition, FR of a speaker will not change with an allpass filter but combined stereo response maybe positively affected from phase corrections at a certain frequency. I didn't know MSO could do allpass filter optimizations.

31ms delay between subs is a bit too much (10+ metres), are you sure it's not a delay introduced by MiniDSP circuitry & filters?

REW's auto EQ algorithm doesn't boost the dips where it shouldn't (ie sharp excess phase spike areas) and mostly uses it to compensate for the dips formed by the peak filters themselves. Some clipping headroom will always be necessary with a digital filter but there's almost never an overall boost applied to the FR.
 
OP
E

er|κzvio1in

Member
Joined
May 26, 2023
Messages
74
Likes
36
Location
Europe
By definition, FR of a speaker will not change with an allpass filter but combined stereo response maybe positively affected from phase corrections at a certain frequency. I didn't know MSO could do allpass filter optimizations.

31ms delay between subs is a bit too much (10+ metres), are you sure it's not a delay introduced by MiniDSP circuitry & filters?

REW's auto EQ algorithm doesn't boost the dips where it shouldn't (ie sharp excess phase spike areas) and mostly uses it to compensate for the dips formed by the peak filters themselves. Some clipping headroom will always be necessary with a digital filter but there's almost never an overall boost applied to the FR.
I have a 2.2 system including 2 full range speakers, so I can let MSO calculate the optimum combined response from 4 different sources of bass by only using phase filters. You could try it yourself, I found it quite intriguing.

Regarding the delay: I thought the same. The entire signal path is identical for the subs (source is TV optical out -> NanoDigi COAX -> simple stereo DAC, mono RCA -> each sub) so my only guess is that it is the internal filters/processing within one of the subs that's causing delay and/or phase shift. I have to mention they're dissimilar and positioned in the opposite front corners of the room. Manual phase adjustment knobs on both subs are set to 0°.

Thanks for your response on applying boosts.
 
Top Bottom