Skip to main content

A Python toolbox for sonifying music annotations and feature representations

Project description

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libsoni-1.1.0.tar.gz (16.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

libsoni-1.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file libsoni-1.1.0.tar.gz.

File metadata

  • Download URL: libsoni-1.1.0.tar.gz
  • Upload date:
  • Size: 16.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for libsoni-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d8893a9885faac35756d5c31aa3cf6a3ad38c2d16c0aec3d76d923f7ee76a72c
MD5 24b1de085735d43c0b8cc030b5ff84f8
BLAKE2b-256 925e53089c55ca5783a4e29b31f4c016932e0f8d4be0e6df74aa86d1128d631f

See more details on using hashes here.

File details

Details for the file libsoni-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: libsoni-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for libsoni-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b17e94f58be7f6e373f941f52c1b124faa7817e6db4b0df324c74418a4aacad
MD5 8e93835d1287c70af42e063bf6785a3a
BLAKE2b-256 f69785ffa3e6ec5671b09db5446fc23d7ed10f3de1a2d04aa764d93c450873bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page