All Projects → pierreaubert → spinorama

pierreaubert / spinorama

Licence: GPL-3.0 License
A library to display and compare spinorama (speakers measurements) graphs.

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
TeX
3793 projects
shell
77523 projects

Projects that are alternatives of or similar to spinorama

kaldi-alligner
scripts to align a given wave to its transcription using trained models by Kaldi
Stars: ✭ 24 (-17.24%)
Mutual labels:  asr
kosr
Korean speech recognition based on transformer (트랜스포머 기반 한국어 음성 인식)
Stars: ✭ 25 (-13.79%)
Mutual labels:  asr
leopard-chat-ui-teneo
Leopard Chat UI - A Teneo Chat Client based on Vue and Vuetify
Stars: ✭ 65 (+124.14%)
Mutual labels:  asr
meetups
Want to start a Serverless usergroup? We can help you get started and be an official Serverless Usergroup. Join us to be part of the family of many Serverless Usergroups across the world.
Stars: ✭ 17 (-41.38%)
Mutual labels:  speakers
commonvoice-utils
Linguistic processing for Common Voice
Stars: ✭ 32 (+10.34%)
Mutual labels:  asr
torch-asg
Auto Segmentation Criterion (ASG) implemented in pytorch
Stars: ✭ 42 (+44.83%)
Mutual labels:  asr
lightning-asr
Modular and extensible speech recognition library leveraging pytorch-lightning and hydra.
Stars: ✭ 36 (+24.14%)
Mutual labels:  asr
demo vietasr
Vietnamese Speech Recognition
Stars: ✭ 22 (-24.14%)
Mutual labels:  asr
IRLSize
A library for determining the actual physical size of pixels on an iOS device.
Stars: ✭ 14 (-51.72%)
Mutual labels:  measurements
kaldi-readers-for-tensorflow
readers that enable reading kaldi ark in tensorflow
Stars: ✭ 16 (-44.83%)
Mutual labels:  asr
simple diarizer
Simplified diarization pipeline using some pretrained models - audio file to diarized segments in a few lines of code
Stars: ✭ 26 (-10.34%)
Mutual labels:  asr
speech-recognition
SDKs and docs for Skit's speech to text service
Stars: ✭ 20 (-31.03%)
Mutual labels:  asr
Speech-Recognition
End-to-End Speech Recognition using Neural Networks.
Stars: ✭ 31 (+6.9%)
Mutual labels:  asr
unit-converter
Convert standard units from one to another with this easy to use, lightweight package
Stars: ✭ 104 (+258.62%)
Mutual labels:  measurements
sova-asr
SOVA ASR (Automatic Speech Recognition)
Stars: ✭ 123 (+324.14%)
Mutual labels:  asr
RulerView
simple ruler library for android, with Calibration and Dimension measurement 📏 .
Stars: ✭ 21 (-27.59%)
Mutual labels:  measurements
spokestack-android
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!
Stars: ✭ 52 (+79.31%)
Mutual labels:  asr
UnityASR
Automatic Speech Recognition in Unity.
Stars: ✭ 14 (-51.72%)
Mutual labels:  asr
kim-voice-assistant
Kim,你的私人语音助理。
Stars: ✭ 70 (+141.38%)
Mutual labels:  speakers
stoqs
Geospatial database visualization software for oceanographic measurement data
Stars: ✭ 31 (+6.9%)
Mutual labels:  measurements

Spinorama : a library to display speaker frequency response and similar graphs

image DeepSource GPLv3 license Maintenance Website pierreaubert.github.io/spinorama

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.

What is a spinorama set of graphs?

It is a way to understand quickly a speaker properties, how it will sound.

Here is an example:

image

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

Or if you prefer videos, there is a nice set from ErinsAudioCorner:

  1. What Is Frequency Response? || Understanding the Measurements Part 1
  2. Off-Axis vs On-Axis Response || Understanding the Measurements Part 2
  3. What the heck is SPINORAMA?! || Understanding the Measurements Part 3
  4. Predicting Loudspeaker Performance In YOUR Room || Understanding the Measurements Part 4
  5. Loudspeaker Compression || Understanding the Measurements Part 5

Features

Import capabilities

The library support four different formats of data:

  1. Klippel NFS format: a set of CSV files.
  2. Princeton 3D3A files: they are IR data in hdf5 format
  3. Scanned data from a picture with WebPlotDigitizer (takes 10 minutes per picture)
  4. Export in text form from REW

Computations

  1. Generate CEA2034 data from horizontal and vertical SPL data.
  2. Calculate contour plot, radar plot, isolines and isobands.
  3. Estimate basic data for a speaker (-3dB output, flatness over a range)
  4. Compute various parameters defined in a paper from Olive (ref. below).
  5. It can compute the effect of an EQ (IIR) on the spinorama.
  6. 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.

Website generation

  1. Webpages digestable on mobile but also on very large 4k screens.
  2. Graphs are interactive.
  3. Comparison between speakers is possible.
  4. Some statistics.
  5. All EQs generated are easily accessible.

Other ways to look at the graphs in a more interactive way.

If you want to generate the graphs yourself or play with the data you need to install the software. We have a dedicated section.

Linux or Mac user

First install a few packages:

apt install imagemagick npm

On a Mac you can replace all apt calls by brew.

Using python3, ipython and Jupyter-Lab

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.

Linux or Mac developer

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:

  1. ./check_html.sh : check that HTML generated files are conforming.
  2. ./check_meta.py : check that the metadata file looks sane.
  3. flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude spinorama-venv should report 0
  4. black . will take care of formatting all the python files.

and also (but WIP):

  1. ./check_404.sh : check we do not have missing links.
  2. ./node_modules/.bin/pyright : should not report new type error.
  3. Check that notebook are cleaned up before committing.

Tests 1. to 4. should be in the pre-submit.

How to add a speaker to the database.

We have a dedicated tutorial.

Source of data and citations

AudioScienceReview aka ASR

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.

ErinsAudioCorner aka EAC

Erin is a motivated person reviewing speakers. He is doing an outstanging jobs. He also has a Youtube channel. You can also support him.

3D3A is a research organisation at Princeton.

  • 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

Books and research papers

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

Speakers manufacturers.

  • 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].