• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). Come here to have fun, be ready to be teased and not take online life too seriously. We now measure and review equipment for free! Click here for details.

Loudspeaker Explorer: analyze, visualize, compare speaker data

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
677
Likes
2,742
Location
London, United Kingdom
#1
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

Addicted to Fun and Learning
Joined
Oct 10, 2019
Messages
823
Likes
926
#2
Looks good man. I tried getting the measurements into Tableau, but for this kind of data Python makes a lot more sense.
 
OP
edechamps

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
677
Likes
2,742
Location
London, United Kingdom
Thread Starter #6
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
677
Likes
2,742
Location
London, United Kingdom
Thread Starter #7
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
677
Likes
2,742
Location
London, United Kingdom
Thread Starter #8
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
677
Likes
2,742
Location
London, United Kingdom
Thread Starter #9
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
677
Likes
2,742
Location
London, United Kingdom
Thread Starter #11
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

Addicted to Fun and Learning
Forum Donor
Joined
Feb 5, 2017
Messages
559
Likes
916
#13
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:
Joined
Jan 8, 2019
Messages
95
Likes
96
#14
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
677
Likes
2,742
Location
London, United Kingdom
Thread Starter #15
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.
 
Top Bottom