This library provides an easy way to view, compare or analyse speakers data. This can help you take informed decision when buying a speaker instead of relying on commercial information or internet buzz.
Jump to the gallery of all (300+) speakers measurements.
It is a way to understand quickly a speaker properties, how it will sound.
Here is an example:
- On Axis: this the frequency response. You expect it to be as flat as possible after 100Hz.
- Listening Window: an average of various measurements around on axis. Expected to be close to the previous one.
- Sound power DI: expected to be a smooth, slowy growing line.
The speaker above is very good.
Please read:
- this post on ASR by Amir Majidimehr. to get a better insight on how to analyse a spinorama.
- or this post on Audioholics by James Larson
- this Objective Loudspeaker Measurements to Predict Subjective Preferences? from Dr. Floyd Toole and Gene DellaSala on Audioholics too.
Or if you prefer videos, there is a nice set from ErinsAudioCorner:
- What Is Frequency Response? || Understanding the Measurements Part 1
- Off-Axis vs On-Axis Response || Understanding the Measurements Part 2
- What the heck is SPINORAMA?! || Understanding the Measurements Part 3
- Predicting Loudspeaker Performance In YOUR Room || Understanding the Measurements Part 4
- Loudspeaker Compression || Understanding the Measurements Part 5
The library support four different formats of data:
- Klippel NFS format: a set of CSV files.
- Princeton 3D3A files: they are IR data in hdf5 format
- Scanned data from a picture with WebPlotDigitizer (takes 10 minutes per picture)
- Export in text form from REW
- Generate CEA2034 data from horizontal and vertical SPL data.
- Calculate contour plot, radar plot, isolines and isobands.
- Estimate basic data for a speaker (-3dB output, flatness over a range)
- Compute various parameters defined in a paper from Olive (ref. below).
- It can compute the effect of an EQ (IIR) on the spinorama.
- It can generate an EQ to optimise the speaker (and get a better preference score) based on anechoic data. Note: this is not yet a room correction software.
- Webpages digestable on mobile but also on very large 4k screens.
- Graphs are interactive.
- Comparison between speakers is possible.
- Some statistics.
- All EQs generated are easily accessible.
If you want to generate the graphs yourself or play with the data you need to install the software. We have a dedicated section.
First install a few packages:
apt install imagemagick npm
On a Mac you can replace all apt
calls by brew
.
pip3 install -r requirements.txt
pip3 may also be pip depending on your system.
export PYTHONPATH=src:src/website
jupiter-lab &
Your browser will open, go to experiments directitory and click on spinorama.ipynb and play around.
You are very welcome to submit pull requests. Note that the license is GPLv3.
Start with launching that should install a lot of software:
./setup.sh
If it doesn't work out of the box which is likely, please go step by step:
pip3 install -r requirements.txt
pip3 install -r requirements-tests.txt
For linting the python, html and javascript code:
npm install pyright html-validator-cli standard
You may have to update your npm version above 12.0:
nvm install lts/fermium
Please add tests and
export PYTHONPATH=src
python3 -m pytest --cov=src .
Before committing, please check that the various checks are fine:
./check_html.sh
: check that HTML generated files are conforming../check_meta.py
: check that the metadata file looks sane.flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude spinorama-venv
should report 0black .
will take care of formatting all the python files.
and also (but WIP):
./check_404.sh
: check we do not have missing links../node_modules/.bin/pyright
: should not report new type error.- Check that notebook are cleaned up before committing.
Tests 1. to 4. should be in the pre-submit.
We have a dedicated tutorial.
ASR is a fantastic source of speakers data thanks to amirm@. They also have a lot of data about DACs that you may found useful. There is little correlation between price and quality in the audio world and this data gives some objective criteria to decide what to buy. You can support ASR.
Erin is a motivated person reviewing speakers. He is doing an outstanging jobs. He also has a Youtube channel. You can also support him.
- They provide a database of speaker measurements (manual)
- Some scientific papers I have used:
- Metrics for Constant Directivity (abstract, paper, poster)
- Authors: Sridhar, R., Tylka, J. G., Choueiri, E. Y.
- Publication: 140th Convention of the Audio Engineering Society (AES 140)
- Date: May 26, 2016
- A Database of Loudspeaker Polar Radiation Measurements (abstract, )
- On the Calculation of Full and Partial Directivity Indices (abstract)
- Authors: Tylka, J. G., Choueiri, E. Y.
- Publication: 3D3A Lab Technical Report #1
- Date: November 16, 2014
- Metrics for Constant Directivity (abstract, paper, poster)
- Sound Reproduction: The Acoustics and Psychoacoustics of Loudspeakers and Rooms By Floyd E. Toole
- Standard Method of Measurement for In-Home Loudspeakers is available for free at CTA
- A Multiple Regression Model for Predicting Loudspeaker Preference Using Objective Measurements: Part II - Development of the Model by Sean E. Olive, AES Fellow. Convention paper 6190 from the AES.
- Fast Template Matching. J.P.Lewis pdf
- Farina, A. “Simultaneous Measurement of Impulse Response and Distortion with a Swept-Sine Technique,” Presented at the AES 108th Convention, Feb. 2000.
- Hatziantoniou, P. D. and Mourjopoulos, J. N. “Generalized Fractional-Octave Smoothing of Audio and Acoustic Responses,” J. Audio Eng. Soc., 48(4):259–280, 2000.
- If you are a manufacturer of speakers, it would be great if you could provide spinorama datas.
- Manufactures with good datas usually in speaker's manual:
- JBL
- Revel
- Genelec
- Adam
- Eve Audio
- Buscard Audio
- KEF
- JTR