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

Master Preference Ratings for Loudspeakers

ctrl

Major Contributor
Forum Donor
Joined
Jan 24, 2020
Messages
1,616
Likes
6,087
Location
.de, DE, DEU
@edechamps see my discussion with Todd Welti from Harman that prompted the fix in this thread. All credit goes to @Dave Zan for first pointing out the problem.

OMG! This also applies to the ER curves I generate for my simulations.
I didn't follow the whole thread, so be a bit lenient when I ask for something that has already been clarified.

From the frequency response curves of the simulation software I generate the ER-curve according to the often quoted instructions:
1589320310461.png


The simulation software generates 72 frequency responses (C1...C72) which are calculated according to the above Devantier-formula:
Code:
(
(C18+C19+C17+C20+C16+C21+C15)/7
+(C22+C14+C23+C13+C24+C12+C25+C11+C26+C10)/10
+(C36+C27+C9)/3
+(C52+C53+C54)/3
+(C58+C59+C60)/3
)/5

The rear wall bounces are C36, C27, C9 (180°, +90°, -90°).

From the Spinorama-Thread:
Good question! Floyd says, "Rear wall bounces: average of 180 deg, +/- 90 horizontal". Looking at my HATS Spinorarma template, I see that all 19 rear horizontal curves are used. So, i think Floyd meant average of ALL measurements from 180 +/-90.

Just to be clear, this is the corrected version for the rear wall bounce?
 
OP
M

MZKM

Major Contributor
Forum Donor
Joined
Dec 1, 2018
Messages
4,244
Likes
11,473
Location
Land O’ Lakes, FL
OMG! This also applies to the ER curves I generate for my simulations.
I didn't follow the whole thread, so be a bit lenient when I ask for something that has already been clarified.

From the frequency response curves of the simulation software I generate the ER-curve according to the often quoted instructions:
View attachment 63174

The simulation software generates 72 frequency responses (C1...C72) which are calculated according to the above Devantier-formula:
Code:
(
(C18+C19+C17+C20+C16+C21+C15)/7
+(C22+C14+C23+C13+C24+C12+C25+C11+C26+C10)/10
+(C36+C27+C9)/3
+(C52+C53+C54)/3
+(C58+C59+C60)/3
)/5

The rear wall bounces are C36, C27, C9 (180°, +90°, -90°).

From the Spinorama-Thread:


Just to be clear, this is the corrected version for the rear wall bounce?
Yes. In the 2034 document it even states this for the rear horizontal reflections, but the rear reflections for the Early Reflections for some reason only included the 3.
 

ctrl

Major Contributor
Forum Donor
Joined
Jan 24, 2020
Messages
1,616
Likes
6,087
Location
.de, DE, DEU
Yes. In the 2034 document it even states this for the rear horizontal reflections, but the rear reflections for the Early Reflections for some reason only included the 3.
Well, I really haven’t done many, so it’s usually not more than a 0.1 change, it’s not substantial (yet).

For the simulation of my current loudspeaker project I created the ER curves for both versions - red new version, black old version, both curves leveled at 1kHz:
1589324293073.png

The effects are not dramatic, but can be as high as 0.5dB - in this specific project.
 

napilopez

Major Contributor
Forum Donor
Joined
Oct 17, 2018
Messages
2,111
Likes
8,434
Location
NYC
OMG! This also applies to the ER curves I generate for my simulations.
I didn't follow the whole thread, so be a bit lenient when I ask for something that has already been clarified.

From the frequency response curves of the simulation software I generate the ER-curve according to the often quoted instructions:
View attachment 63174

The simulation software generates 72 frequency responses (C1...C72) which are calculated according to the above Devantier-formula:
Code:
(
(C18+C19+C17+C20+C16+C21+C15)/7
+(C22+C14+C23+C13+C24+C12+C25+C11+C26+C10)/10
+(C36+C27+C9)/3
+(C52+C53+C54)/3
+(C58+C59+C60)/3
)/5

The rear wall bounces are C36, C27, C9 (180°, +90°, -90°).

From the Spinorama-Thread:


Just to be clear, this is the corrected version for the rear wall bounce?

Yep, as MZKM says, the 'rear' portion includes all 19 rear curves. Luckily you were already doing the average of averages (weighted average, essentially), which is the most important thing.
 

ctrl

Major Contributor
Forum Donor
Joined
Jan 24, 2020
Messages
1,616
Likes
6,087
Location
.de, DE, DEU
Luckily you were already doing the average of averages (weighted average, essentially), which is the most important thing.
Yeah, I'm very glad that nothing more has changed, because I'm currently in the process of building three loudspeaker tops, all of which are based on the simulated ER curve, among other things.

At the moment I'm tuning the crossover for the first speaker top. Due to the size and baffle geometry of the finished loudspeaker I can't make any vertical measurements, so I'm dependent on an ER-curve that is as exact as possible in order to better estimate the possible "room sound" of the loudspeaker.
 

napilopez

Major Contributor
Forum Donor
Joined
Oct 17, 2018
Messages
2,111
Likes
8,434
Location
NYC
Adding four more to my list:

Sonus Faber Sonetto II: 4.2/6.1/6.0
iLoud Micro Monitor: 3.9/6.2/6.3
PSB Alpha P5: 4.2/6.8/7.0
Definitive Technology D9: 4.2/6.6/6.8

Some of these I think are probably a bit under-represented, such as the D9 with its offset tweeter causing the louder sidewall reflections to be smoother than the quieter ones, or the iLoud with it very high-Q deviations, but I'm glad there are some lower scores here. Seems I just started with all the best speakers lol.

Edit: Though I don't plan on publishing these with my measurement posts or reviews, I've put the scores together in this very basic spreadsheet for the curious. It's useful for keeping some perspective, such as the 3030i which performs better than I think originally even gave it credit for.
 
Last edited:

pierre

Addicted to Fun and Learning
Forum Donor
Joined
Jul 1, 2017
Messages
962
Likes
3,048
Location
Switzerland
Hmm, off by 0.4-0.5 from what I'm getting for the NHT SB2:

  1. I still see errors in your +/- range, ~902Hz is ~86.4dB and ~3030Hz is ~76.4, so it should be +/-5dB, not +/-5.7dB
  2. SM_PIR: I get the same without the ER fix, I get 0.6 with the ER fix, no big deal
    1. On your main page with the images, it shows 0.78 for Smoothness, not sure where it's pulling that from.
  3. NBD_PIR: I get ~0.52 with or without the ER fix, while you get 0.58.
  4. NBD_On: I get ~0.66 while you get 0.76.
  5. LFX: Just a 1Hz difference, no big deal.

hello MZKM,
i finally get some time to look at it:

1. I define the +/- range as deviatition from mean over 300Hz to 10kHz, this can give different results that max-min over the same range.
Is there a reference to measure that? a reference for the freq range and then how it is usually computed?

2. it currently is SM of SP, i changed it to SM of PIR and dispayed some information to indicate which curve it is.

3. 4. I checked that multiple time and I think I am correct (or at least the code is doing what i think) -- look at details below

5. ok

---------------
For 3. and 4.

First question, how do you define octaves and which one do you keep at the boundaries?
I defined the octave like this:

DOWN CENTER UP
Hz Hz Hz
26.28 31.25 37.16
37.16 44.19 52.56
52.56 62.50 74.33
74.33 88.39 105.11
105.11 125.00 148.65
148.65 176.78 210.22
210.22 250.00 297.30
297.30 353.55 420.45
420.45 500.00 594.60
594.60 707.11 840.90
840.90 1000.00 1189.21
1189.21 1414.21 1681.79
1681.79 2000.00 2378.41
2378.41 2828.43 3363.59
3363.59 4000.00 4756.83
4756.83 5656.85 6727.17
6727.17 8000.00 9513.66
9513.66 11313.71 13454.34
13454.34 16000.00 19027.31
19027.31 22627.42 26908.69

I keep an octave if the center is in [300, 12000] hz

NBD_b in 1 band is the MAD of freq in that band
NBD is the mean of all NDB_b

where MAD is defined in https://en.wikipedia.org/wiki/Median_absolute_deviation

one possible error is that i understood MAD as median absolute deviation and could also be mean absolute deviation which are not identical.
In the Olive doc, he tells MEAN and not MEDIAN.
 
OP
M

MZKM

Major Contributor
Forum Donor
Joined
Dec 1, 2018
Messages
4,244
Likes
11,473
Location
Land O’ Lakes, FL
First question, how do you define octaves and which one do you keep at the boundaries?
I defined the octave like this:

DOWN CENTER UP
Hz Hz Hz
26.28 31.25 37.16
37.16 44.19 52.56
52.56 62.50 74.33
74.33 88.39 105.11
105.11 125.00 148.65
148.65 176.78 210.22
210.22 250.00 297.30
297.30 353.55 420.45
420.45 500.00 594.60
594.60 707.11 840.90
840.90 1000.00 1189.21
1189.21 1414.21 1681.79
1681.79 2000.00 2378.41
2378.41 2828.43 3363.59
3363.59 4000.00 4756.83
4756.83 5656.85 6727.17
6727.17 8000.00 9513.66
9513.66 11313.71 13454.34
13454.34 16000.00 19027.31
19027.31 22627.42 26908.69

This was the most confusing thing, as Olive doesn’t say. I played around until I got 14 bands of cardinality 10:

Center Hz, range (all rounded here for simplicity)
B1: 114, (96,136]
B2: 161, (136,192]
B3: 228, (192,271]
B4: 322, (271,383]
B5: 456, (383,542]
B6: 645, (542,767]
B7: 912, (767,1085]
B8: 1290, (1085,1534]
B9: 1824, (1534,2169]
B10: 2580, (2169,3068]
B11: 3648, (3068,4338]
B12: 5159, (4338,6135]
B13: 7296, (6135,8676]
B14: 10318, (8678,12270]

Where 114 is the only manual aspect.

Next center frequency: frequency • 2^(1/2)
Start frequency: next cell up from center frequency / 2^(1/4)
End frequency: center frequency • 2^(1/4)

I keep an octave if the center is in [300, 12000] hz

I hope you mean [100,12000]

____
Now, If I instead create bands starting at 20Hz or ending at 20kHz (both are different), it would be 15 bands.

If Olive meant having the closest to 100,12kHz as the center frequencies, the closest version would be creating bands ending at 20kHz.

However, going by the formula here on page 31, 14 bands seems correct.
 
Last edited:

pierre

Addicted to Fun and Learning
Forum Donor
Joined
Jul 1, 2017
Messages
962
Likes
3,048
Location
Switzerland
This was the most confusing thing, as Olive doesn’t say. I played around until I got 14 bands of cardinality 10:

Center Hz, range (all rounded here for simplicity)
B1: 114, (96,136]
B2: 161, (136,192]
B3: 228, (192,271]
B4: 322, (271,383]
B5: 456, (383,542]
B6: 645, (542,767]
B7: 912, (767,1085]
B8: 1290, (1085,1534]
B9: 1824, (1534,2169]
B10: 2580, (2169,3068]
B11: 3648, (3068,4338]
B12: 5159, (4338,6135]
B13: 7296, (6135,8676]
B14: 10318, (8678,12270]

Where 114 is the only manual aspect.

Next center frequency: frequency • 2^(1/2)
Start frequency: next cell up from center frequency / 2^(1/4)
End frequency: center frequency • 2^(1/4)



I hope you mean [100,12000]

____
Now, If I instead create bands starting at 20Hz or ending at 20kHz (both are different), it would be 15 bands.

If Olive meant having the closest to 100,12kHz as the center frequencies, the closest version would be creating bands ending at 20kHz.

However, going by [the formula here on page 31](https://www.princeton.edu/3D3A/Publications/Boren_ICAD2015_HPEQColoration.pdf), 14 bands total seems correct.

If I defined the Bands like yours, my numbers gets much close.
The sensitivity on how you define the band is very high. I have 10% variations between the 2 definitions and both are valid. It is just a convention.
 
OP
M

MZKM

Major Contributor
Forum Donor
Joined
Dec 1, 2018
Messages
4,244
Likes
11,473
Location
Land O’ Lakes, FL
I define the +/- range as deviatition from mean over 300Hz to 10kHz, this can give different results that max-min over the same range.
But, regardless of the reference, the window of deviation should stay the same, no? It doesn’t matter which frequencies are + and which are -.
 

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
In Loudspeaker Explorer I documented the problem with the bands in the following way:

"The paper is ambiguous as to where the ½-octave bands between 100 Hz and 12 kHz actually lie. Specifically, it is not clear if 100 Hz and 12 kHz are meant as boundaries, or if they refer to the center frequencies of the first and last bands. (For more debate on this topic, see this, this, this, this, and this.) In his score calculations, @MZKM uses 114 Hz as the center frequency of the first band and deduces the rest from there."

In Loudspeaker Explorer I used the same bands as @MZKM just to keep things consistent.

The sensitivity on how you define the band is very high. I have 10% variations between the 2 definitions and both are valid.

It always worried me that Olive used fixed bands in his calculations (as opposed to, say, a moving average), as that doesn't seem to make sense from a perceptual perspective (we don't listen in fixed frequency bands, or at least, not these bands). It worries me even more that moving the bands around slightly results in significant variations in score. I would add that to the list of things that could be improved in the model, along with the super weird definition of SM…
 

QMuse

Major Contributor
Joined
Feb 20, 2020
Messages
3,124
Likes
2,785
It worries me even more that moving the bands around slightly results in significant variations in score.

Which raises the question if he had played with the bands to get consistent scoring..? :D
 
OP
M

MZKM

Major Contributor
Forum Donor
Joined
Dec 1, 2018
Messages
4,244
Likes
11,473
Location
Land O’ Lakes, FL
I would add that to the list of things that could be improved in the model, along with the super weird definition of SM…
I may experiment with what happens if I switch out NBD_PIR and SM_PIR with only a NBD on the sloped PIR (gives it a slope of 0).

Don’t know if I mentioned it, but I do that for part of the Tonal Balance graph, I average the sloped PIR and the on-axis with the inclusion of their weights in the preference score.

I also may experiment if I only do 2 calculations, the NDB on the Tonal Balance graph and the LFX. I just want to see how different this would be.
 

bobbooo

Major Contributor
Joined
Aug 30, 2019
Messages
1,479
Likes
2,079
I'm missing a lot of data for the 3020i as it was measured when I performed a lot fewer measurements overall(not even complete front hemisphere vertical data), luckily the front hemisphere has the biggest impact on the shape of the curves, so using what I have and faking the rest, I get a: 3.9/6.8/7.

Edit: I did the concept 20 as I was curious because it basically looks like a better 3020i, and indeed it got a 4/7/7.2

I'd be interested in seeing the 3020 tested, as from this review comparing it with the 3020i, it seems like the 3020 actually might have less of that 2kHz scoop, being described as more 'detailed' and 'precise' than the more laid-back 3020i, which I find matches up with adequate energy around that frequency, so could in fact be the better speaker and turn out to have a higher score. Of course this all should be taken with a huge grain of salt, and only proper Klippel measurements would show any of this for certain. Unfortunately despite both the 3020 and 3020i winning Wirecutter's best bookshelf speaker blind tests, I don't think many people own Q Acoustics speakers in the US to send in for testing, and it doesn't seem there's much interest from Amir to buy any (the 3020 can be had for a relatively cheap $229 a pair fom Amazon, but of course, it's his money to spend as he wishes).
 
Last edited:

pierre

Addicted to Fun and Learning
Forum Donor
Joined
Jul 1, 2017
Messages
962
Likes
3,048
Location
Switzerland
An EQ feature is on my TODO list to implement in Loudspeaker Explorer. E.g. something that would let you upload a REW EQ file and then apply it to an entire speaker, with everything recomputed from there (including score). It's going to take some time before I get to that though.

Hello Etienne,

how would you do that? I understand how to do it on-axis. I am not sure at all that applying the same EQ on a off axis curve would yield a correct result.
f is signal
S is speaker response with S=Id+T
g is measured response to signal

g = (Id+T)(f)

on axis, T is "close" to 0 and a change to f is almost the same on g, the farther off-axis you are the less it is true.

We have the data off axis and we could estimates T via fitting and then compute:

(Id+T)(f+Df) = g+Df+TxDf

Which kind of precision would we get? Is that what you have in mind? Also we do not have phase data which doesn't help.
 
OP
M

MZKM

Major Contributor
Forum Donor
Joined
Dec 1, 2018
Messages
4,244
Likes
11,473
Location
Land O’ Lakes, FL
Hello Etienne,

how would you do that? I understand how to do it on-axis. I am not sure at all that applying the same EQ on a off axis curve would yield a correct result.
f is signal
S is speaker response with S=Id+T
g is measured response to signal

g = (Id+T)(f)

on axis, T is "close" to 0 and a change to f is almost the same on g, the farther off-axis you are the less it is true.

We have the data off axis and we could estimates T via fitting and then compute:

(Id+T)(f+Df) = g+Df+TxDf

Which kind of precision would we get? Is that what you have in mind? Also we do not have phase data which doesn't help.
As it was explained to me, you are just increasing the voltage/wattage at a given frequency, so the change in amplitude should be identical across all degrees of measurement.
 

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
how would you do that? I understand how to do it on-axis. I am not sure at all that applying the same EQ on a off axis curve would yield a correct result.

It will yield the correct result. All EQ does is apply a given factor to the signal at a given frequency (or, in dB terms, a given offset at a given frequency).

Look at it this way: if you send, say, a 1 kHz sine wave to a speaker at a voltage U, and then send that same sine wave again at voltage 2U (or, equivalently, +6 dB), then the sound pressure that the speaker produces doubles. Not just on axis - at all angles. So, the sound pressure is +6 dB at all angles.

All EQ does is precisely that: it applies a factor at a given frequency. That factor will be reflected in every angle - there's no reason why On-Axis would be "special" in that regard.

If you have the frequency response (in dB) of the EQ you want to apply, it's literally as simple as summing the filter response with the frequency response (in dB) of the speaker at a given angle. That's it. Just an addition.

Also we do not have phase data which doesn't help.

Phase is irrelevant here. (I mean, unless you want to do something sophisticated like do a complex sum when recalculating CTA-2034 spatial average curves, but why would that even make sense?)


None of this is specific to FIR filters - IIR filters or any other kind of EQ will behave in the same way. We don't need to care about how EQ works internally for the purposes of this discussion. All we need to know is that EQ applies a given factor at a given frequency.
 
Last edited:

pierre

Addicted to Fun and Learning
Forum Donor
Joined
Jul 1, 2017
Messages
962
Likes
3,048
Location
Switzerland
It will yield the correct result. All EQ does is apply a given factor to the signal at a given frequency (or, in dB terms, a given offset at a given frequency).

Look at it this way: if you send, say, a 1 kHz sine wave to a speaker at a voltage U, and then send that same sine wave again at voltage 2U (or, equivalently, +6 dB), then the sound pressure that the speaker produces doubles. Not just on axis - at all angles. So, the sound pressure is +6 dB at all angles.

All EQ does is precisely that: it applies a factor at a given frequency. That factor will be reflected in every angle - there's no reason why On-Axis would be "special" in that regard.



Phase is irrelevant here. (I mean, unless you want to do something sophisticated like do a complex sum when recalculating CTA-2034 spatial average curves, but why would that even make sense?)



None of this is specific to FIR filters - IIR filters or any other kind of EQ will behave in the same way. We don't need to care about how EQ works internally for the purposes of this discussion. All we need to know is that EQ applies a given factor at a given frequency.

OK so it is easy to compute the score with an EQ. I could also do the reverse, find the EQ such that it maximise the score.
 
Top Bottom