libsoni

libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations - Published in JOSS (2024)

https://github.com/groupmm/libsoni

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

audio mir sonification

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 6 months ago · JSON representation

Repository

libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations

Basic Info
Statistics
  • Stars: 22
  • Watchers: 3
  • Forks: 4
  • Open Issues: 0
  • Releases: 2
Topics
audio mir sonification
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

Python package using Conda Python package using pip

libsoni logo

libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations



libsoni is an open-source Python toolbox tailored for the sonification of music annotations and feature representations. By employing explicit and easy-to-understand sound synthesis techniques, the toolbox offers functionalities for generating and triggering sound events, enabling the sonification of spectral, harmonic, tonal, melodic, and rhythmic aspects. Unlike existing software libraries focused on creative applications of sound generation, the toolbox is designed to meet the specific needs of MIR researchers and educators. It aims to simplify the process of music exploration, promoting a more intuitive and efficient approach to data analysis by enabling users to interact with their data in acoustically meaningful ways.

See the API documentation for a detailed view of the provided functions in libsoni.

Installation Guide

We outline two primary methods for setting up libsoni using pip and setting up a dedicated environment.

Method I: Installing with pip

Utilize Python's package manager, pip, for a straightforward installation of libsoni:

pip install libsoni Note: We advise performing this installation within a Python environment (such as conda or a virtual environment) to prevent any conflicts with other packages. Ensure your environment runs Python 3.7 or higher.

Method II: Setting Up a Conda Environment

Alternatively, you can create a conda environment specifically for libsoni by downloading this repository and installing the library in development mode. This approach not only installs libsoni but also includes necessary packages for running the demo notebooks with jupyter. One way to achieve this would be using the following commands:

conda create -n libsoni python=3.11 flit conda activate libsoni flit install --symlink --deps all

Running Example Notebooks

To explore libsoni through example notebooks:

  1. Install libsoni: Prior to cloning the repository and running the notebooks, ensure libsoni and its dependencies are installed (as described above).
  2. Clone the repository: Download the libsoni repository to your local machine using the following git command:

git clone https://github.com/groupmm/libsoni.git

  1. Install Jupyter: If not already installed via the conda environment setup, install Jupyter to run the notebooks:

pip install jupyter

  1. Launch Jupyter Notebook: Start the Jupyter notebook server by executing: jupyter notebook This will open a browser window from where you can navigate to and open the example notebooks.

Contributing

We are happy for suggestions and contributions. We would be grateful for either directly contacting us via email (meinard.mueller@audiolabs-erlangen.de) or for creating an issue in our GitHub repository. Please do not submit a pull request without prior consultation with us.

License

The code for this toolbox is published under an MIT license. This does not apply to the data files: * Schubert songs are taken from the Schubert Winterreise Dataset. * Recording of the cantata Ach Gott und Herr by Bach is taken fom Bach10 Dataset. * Recording of Locus Iste by Anton Bruckner is taken from the Dagstuhl Choir Set. * Custom piano audio samples are taken from the Single Note Database (SNDB). * Other audio files are taken from the FMP notebooks.

References

Yigitcan Özer, Leo Brütting, Simon Schwär, and Meinard Müller. libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations. Journal of Open Source Software (JOSS), 9(96): 1–6, 2024.

Meinard Müller and Frank Zalkow. libfmp: A Python Package for Fundamentals of Music Processing. Journal of Open Source Software (JOSS), 6(63), 2021.

Acknowledgements

The libsoni package originated from collaboration with various individuals over the past years. We extend our gratitude to former and current students, collaborators, and colleagues, including Jonathan Driedger, Angel Villar-Corrales, and Tim Zunner, for their support and influence in creating this Python package. This work was funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Grant No. 500643750 (DFG-MU 2686/15-1) and Grant No. 328416299 (MU 2686/10-2). The International Audio Laboratories Erlangen are a joint institution of the Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) and Fraunhofer Institute for Integrated Circuits IIS.

Owner

  • Name: GroupMM (International Audio Laboratories Erlangen)
  • Login: groupmm
  • Kind: organization
  • Email: meinard.mueller@audiolabs-erlangen.de
  • Location: Germany

JOSS Publication

libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations
Published
June 11, 2024
Volume 9, Issue 98, Page 6524
Authors
Yigitcan Özer ORCID
International Audio Laboratories Erlangen
Leo Brütting
International Audio Laboratories Erlangen
Simon Schwär ORCID
International Audio Laboratories Erlangen
Meinard Müller ORCID
International Audio Laboratories Erlangen
Editor
Øystein Sørensen ORCID
Tags
Music information retrieval Music sonification

GitHub Events

Total
  • Watch event: 4
  • Delete event: 1
  • Push event: 10
  • Pull request event: 1
  • Fork event: 1
  • Create event: 2
Last Year
  • Watch event: 4
  • Delete event: 1
  • Push event: 10
  • Pull request event: 1
  • Fork event: 1
  • Create event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 381
  • Total Committers: 7
  • Avg Commits per committer: 54.429
  • Development Distribution Score (DDS): 0.619
Past Year
  • Commits: 25
  • Committers: 3
  • Avg Commits per committer: 8.333
  • Development Distribution Score (DDS): 0.44
Top Committers
Name Email Commits
leob l****g@f****e 145
yiitozer y****r@a****e 140
Leo Brütting l****7@g****e 69
Simon Schwär s****r@a****e 14
Finn Tobien f****n@F****l 6
Finn Tobien f****n@f****e 5
Verena Praher e****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 12
  • Average time to close issues: 4 days
  • Average time to close pull requests: 5 days
  • Total issue authors: 1
  • Total pull request authors: 5
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.33
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • expectopatronum (2)
Pull Request Authors
  • yiitozer (8)
  • expectopatronum (4)
  • osorensen (4)
  • oliviaguest (2)
  • simonschwaer (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 21 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 1
pypi.org: libsoni

A Python toolbox for sonifying music annotations and feature representations

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 21 Last month
Rankings
Dependent packages count: 9.7%
Average: 36.9%
Dependent repos count: 64.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/test_conda.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/test_pip.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • libfmp >= 1.2.0
  • librosa >= 0.8.0
  • matplotlib >= 3.1.0
  • numpy >= 1.17.0
  • pandas >= 1.0.0
  • scipy >= 1.7.0