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

Loudspeaker Explorer: analyze, visualize, compare speaker data

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
This is what I've been working on these past few days:

Open Loudspeaker Explorer

What is it? It is an interactive, fully customizable Colaboratory notebook for the analysis, visualization, and comparison of loudspeaker measurement data that @amirm publishes along his reviews.

(This project is similar in some ways to @pierre's graph tools but the technical implementation is a bit different.)

With Loudspeaker Explorer, you can :

  • Nothing to install. Runs from your browser.
  • Load any speaker that @amirm measured (with only a few exceptions due to missing data).
    • You can even add speakers yourself if you have the data!
  • Choose more than one speaker to compare them.
  • Look at measurements in a consistent format with interactive, pretty graphs that can be zoomed in.
  • Compare speakers side-by-side. This is where the tool excels:
    • Frequency responses are automatically aligned (normalized) to remove sensitivity differences (this can be customized).
    • Graphs shown side-by-side will always use the same scales for easy comparison (even if you zoom in!).
    • The tool also generates graphs where all speakers are shown simultaneously (e.g. on-axis frequency response graph)
    • Use special data processing such as on-axis normalization which emulates perfect on-axis EQ, allowing you to focus on directivity only.
    • Includes the list of available speakers along with pictures, links to review, and price data.

And now a few screenshots to get you salivating :p

visualization(2).png


visualization(1).png


visualization(3).png


Note that this is only the first version. I'm not done - far from it. Here's my current list of ideas:

  • Compute Olive preference scores, @MZKM style. This is actually the main reason why I started this project in the first place; I want to calculate the formulas from scratch to cross-check @MZKM's work (spreadsheets are really tedious to debug) and to provide more visualizations around how the score is calculated (per frequency band components, etc.) The tools I'm using (Colab, Pandas, etc.) excel at this kind of analysis.
  • More interactive graphs: hide/show lines, tooltips
  • Add sorting/filters settings for the speaker list (e.g. price) and improve the presentation (better use of space). Might be useful given the @amirm's impressive review cadence :p
  • Heatmaps
  • Polar maps
  • Show regression lines on On-Axis and PIR charts (as well as a reference "preferred" line)
  • "Toe-in" calculator: calculate Narrow Band Deviation (NBD) for each off-axis angle, automatically compute which one is the flattest, use it instead of On Axis for calculations
  • "Duel" mode: when selecting two speakers, show additional charts showing the delta between the two responses

Hope you like it :) And my infinite thanks to @amirm for enabling such tools to exist by making the raw data available!
 
Last edited:

Koeitje

Major Contributor
Joined
Oct 10, 2019
Messages
2,292
Likes
3,880
Looks good man. I tried getting the measurements into Tableau, but for this kind of data Python makes a lot more sense.
 

pozz

Слава Україні
Forum Donor
Editor
Joined
May 21, 2019
Messages
4,036
Likes
6,825
I'll add a link to this thread from the master review index:)
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
I was trying to compare my speaker (JBL 305P Mkii) to Kali's and I saw:

Yes, sorry about that. It's a known problem that I mentioned in the "Speaker List" section:

Also note that the datasets for JBL 305P MkII and Neumann KH80 (sample 1) are missing Directivity Index data. Due to a bug in the tool this also breaks the Spinorama charts unless another speaker is also selected.

It's on my TODO list to fix.
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
Haven't had time to build major new features yet, but I just did some polishing work to improve the user experience. By default, code is now hidden and "boring" sections are collapsed, which greatly reduces clutter and hopefully makes the notebook more pleasant to use and less intimidating to first time users. (It is still possible to show the code and unfold the sections if one wants to "dive in".)

Also, I have added "Horizontal Reflections" and "Vertical Reflections" charts which I forgot to include originally.
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
I'm pleased to announce a new major feature: smoothing. This comes alongside a number of improvements to chart presentation, displaying more details on how the data was processed without cluttering the chart too much. In particular, these improvements mean that you can never use Loudspeaker Explorer to make a frequency response "lie": if smoothing is used it will always be explicitly stated on all graphs.

You can play around with the new smoothing feature right now. It is of course disabled by default - go to the new "Smoothing" section to enable it.

Loudspeaker Explorer is capable of displaying the smoothed data alongside the original data if you so wish. This makes it possible to compare a speaker against a smoothed version of itself. This produces charts that look like these:

visualization(13).png

visualization(14).png


Notice how the titles and legends rearrange themselves to describe the distinct parameters in the datasets that you're plotting. This happens automatically. Here's what happens if you go crazy and push that mechanism all the way:

visualization(15).png

visualization(16).png


Of course, just like every other feature in Loudspeaker Explorer, once you enable something, it's used in all graphs, no exception. For example here is smoothing being used to try to make an off-axis graph more readable:

visualization(17).png
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
I'm pleased to announce a new major feature: detrending. In a nutshell, detrending is the opposite of smoothing: it removes trends and only preserves local variations.

This feature is of course disabled by default. Go to the "Normalization & detrending" section to enable it.

One possible use case for this feature is to compare speakers without being distracted by their overall bass/treble tonal balance, the relevance of which is somewhat controversial.

Another interesting use case is to revisit the "treble ripple" issue on measurements made before @amirm deployed his fix. This might be of interest to @ctrl and others:

visualization(26).png


The consistency between speakers and spatial angles (this is Sound Power which is the biggest spatial average) seem to suggest we might be able to at least partially fix it in old datasets using some kind of compensation/calibration curve.
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
I really like @BYRTT's animated back-and-forth graphs so I tried to come up with something similar in Loudspeaker Explorer, but sadly, it looks like the chart framework I'm using doesn't really support time-based animation.

So I did the next best thing - a speaker selector that can be used quickly switch back and forth (use left-right arrow keys):

speakersel.gif


I also added trace separation, which can be enabled in the "Plot settings" section:

visualization(35).png


Both features are now live in Loudspeaker Explorer.
 

Absolute

Major Contributor
Forum Donor
Joined
Feb 5, 2017
Messages
1,084
Likes
2,125
Maybe I'm stupid, but I can't get it to work. Change speakers and hit the "play" button to update?

No worries, I'm a moron. Ctrl+F9 worked.
 
Last edited:

matt3421

Active Member
Joined
Jan 8, 2019
Messages
132
Likes
167
whenever i try to compare the ER DI of the 1st sample KH 80 with other speakers the former doesn't show up. only sample 2 works
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
whenever i try to compare the ER DI of the 1st sample KH 80 with other speakers the former doesn't show up. only sample 2 works

Yes, sadly this is a known issue that is mentioned in the text in the "Speaker selection" section:

Also note that the datasets for JBL 305P MkII and Neumann KH80 (sample 1) are missing Directivity Index data. Due to a bug in the tool this also breaks the Spinorama charts unless another speaker is also selected.

I haven't gotten around to fixing that yet.
 

spacevector

Addicted to Fun and Learning
Forum Donor
Joined
Dec 3, 2019
Messages
553
Likes
1,003
Location
Bayrea
Hi @edechamps

I have not seen recent speakers added to the explorer and haven't come across any posts from you in a while.

I hope everything is well.
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
Hello there,

Apologies, I don't know how I managed to miss new posts in this thread no less than 3 times over more than a year! I guess I was fooled by the forum's notifications UI…

Anyway, yeah, as you guys noticed, I stopped updating Loudspeaker Explorer a long time ago. Due to the somewhat unusual infrastructure LE is based on (Colab/Jupyter) it became more and more difficult to scale, both in terms of features and in terms of the sheer volume of speaker measurements Amir was (and still is!) producing on a ongoing basis. I felt like the only way to make it work long-term was to rewrite it from scratch as a standalone web app, which is a large undertaking I don't have the time/skills/motivation for. Also, given the fact that LE was essentially competing with @pierre's own Spinorama collections resulting in duplicate work, and the fact that the tool never really seemed to be that popular, that was enough for me to call it a day and move on to other projects.

Do keep in mind though that the source code of Loudspeaker Explorer is freely available - if anyone wants to take the reins and update it with the missing speakers, they should feel free to do so!
 
Top Bottom