This repository provides a Python + JAX implementation of loudspeaker differential-equation models and fitting procedures to reproduce the results from our paper for ICA2022.
The code was tested on Linux only, apart from `notebooks/00_data_aquisition.ipynb
, which was run from Windows.
- Paper:
- Find it here.
- Data set:
- Download files from the release page.
- License:
- MIT -- see the file
LICENSE
for details.
Repo is structured as follows:
. ├── data # [data set, get it from release page] ├── notebooks # [main notebooks and scripts] │ ├── 00_data_aquisition.ipynb # measurement │ ├── 01_preprocessing.ipynb # average and cleanup data │ ├── 02_model_training.py # fit ode models │ ├── 03_model_prediction.py # predict with fitted models │ └── 04_analysis.ipynb # analyze results ├── src # [models defs, training procedures, etc.] ├── README.rst ├── environment.yml ...
On Linux, create a virtual environment with:
conda env create -f environment.yml
On Windows, use:
Conda env create -f environment_windows.yml
Afterwards, activate the environment:
conda activate mod_comp
Download dataset from release page:
python data/download_files.py
Run scripts or notebooks in notebooks dir. Enjoy!
If you found this codebase useful in your research, please cite:
@inproceedings{heuchelQuantComp2022, author = "Heuchel, Franz M. and Agerkvist, Finn T.", title = "A quantitative comparison of linear and nonlinear loudspeaker models", booktitle = "Proceedings of the 24th International Congress on Acoustics", year = "2022", pages = "1-8", }