{"id":34082584,"url":"https://github.com/groupmm/libsoni","last_synced_at":"2025-12-14T12:20:38.469Z","repository":{"id":227052494,"uuid":"681072038","full_name":"groupmm/libsoni","owner":"groupmm","description":"libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations","archived":false,"fork":false,"pushed_at":"2025-03-24T14:02:37.000Z","size":218905,"stargazers_count":24,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-11-27T18:30:33.708Z","etag":null,"topics":["audio","mir","sonification"],"latest_commit_sha":null,"homepage":"https://groupmm.github.io/libsoni/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/groupmm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-21T07:47:25.000Z","updated_at":"2025-10-03T02:55:44.000Z","dependencies_parsed_at":"2025-04-14T13:18:12.255Z","dependency_job_id":null,"html_url":"https://github.com/groupmm/libsoni","commit_stats":null,"previous_names":["groupmm/libsoni"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/groupmm/libsoni","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groupmm%2Flibsoni","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groupmm%2Flibsoni/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groupmm%2Flibsoni/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groupmm%2Flibsoni/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/groupmm","download_url":"https://codeload.github.com/groupmm/libsoni/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/groupmm%2Flibsoni/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27728261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","mir","sonification"],"created_at":"2025-12-14T12:20:35.370Z","updated_at":"2025-12-14T12:20:38.461Z","avatar_url":"https://github.com/groupmm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Python package using Conda](https://github.com/groupmm/libsoni/actions/workflows/test_conda.yml/badge.svg)](https://github.com/groupmm/libsoni/actions/workflows/test_conda.yml)\n[![Python package using pip](https://github.com/groupmm/libsoni/actions/workflows/test_pip.yml/badge.svg)](https://github.com/groupmm/libsoni/actions/workflows/test_pip.yml)\n\n\n\u003ctable border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=https://github.com/groupmm/libsoni/blob/main/docs/build/html/_static/libsoni_logo.png alt=\"libsoni logo\" width=\"1000\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ch2\u003elibsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations\u003c/h2\u003e\n\u003cbr\u003e \u003cbr\u003e\n\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n``libsoni`` is an open-source Python toolbox tailored for the sonification of music annotations and feature representations. \nBy employing explicit and easy-to-understand sound synthesis techniques, the toolbox offers functionalities\nfor generating and triggering sound events, enabling the sonification of spectral, harmonic, tonal, melodic,\nand rhythmic aspects. Unlike existing software libraries focused on creative applications of sound generation, \nthe toolbox is designed to meet the specific needs of MIR researchers and educators. It aims to simplify the process\nof music exploration, promoting a more intuitive and efficient approach to data analysis by enabling users to interact \nwith their data in acoustically meaningful ways. \n\nSee the [API documentation](https://groupmm.github.io/libsoni/build/html/index.html) for a detailed view of the provided functions in ``libsoni``.\n\n## Installation Guide\nWe outline two primary methods for setting up `libsoni` using pip and setting up a dedicated environment.\n\n### Method I: Installing with pip\nUtilize Python's package manager, pip, for a straightforward installation of `libsoni`:\n\n```\npip install libsoni\n```\nNote: We advise performing this installation within a Python environment (such as conda or a virtual environment) \nto prevent any conflicts with other packages. Ensure your environment runs Python 3.7 or higher.\n\n### Method II: Setting Up a Conda Environment\nAlternatively, 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:\n\n```\nconda create -n libsoni python=3.11 flit\nconda activate libsoni\nflit install --symlink --deps all\n```\n\n\n## Running Example Notebooks\nTo explore ``libsoni`` through example notebooks:\n\n1. **Install ``libsoni``:** Prior to cloning the repository and running the notebooks, ensure libsoni and its dependencies are installed (as described above).\n2. **Clone the repository:** Download the ``libsoni`` repository to your local machine using the following git command:\n   \n```\ngit clone https://github.com/groupmm/libsoni.git\n```\n\n3. **Install Jupyter:** If not already installed via the conda environment setup, install Jupyter to run the notebooks:\n\n```\npip install jupyter\n```\n\n4. **Launch Jupyter Notebook:** Start the Jupyter notebook server by executing: \n```\njupyter notebook\n```\nThis will open a browser window from where you can navigate to and open the example notebooks.\n\n## Contributing\n\nWe are happy for suggestions and contributions.  We would be grateful for either\ndirectly contacting us via email (meinard.mueller@audiolabs-erlangen.de) or for creating \nan issue in our GitHub repository. Please do not submit a pull request without prior consultation\nwith us.\n\n## License\nThe code for this toolbox is published under an [MIT license](LICENSE).\nThis does not apply to the data files:\n* Schubert songs are taken from the [Schubert Winterreise Dataset](https://zenodo.org/record/4122060). \n* Recording of the cantata *Ach Gott und Herr* by Bach is taken fom [Bach10 Dataset](https://labsites.rochester.edu/air/datasets/Bach10%20Dataset_v1.0.pdf).\n* Recording of *Locus Iste* by Anton Bruckner is taken from the [Dagstuhl Choir Set](https://www.google.com/url?sa=t\u0026rct=j\u0026q=\u0026esrc=s\u0026source=web\u0026cd=\u0026ved=2ahUKEwiJ1JnT9uuEAxXclP0HHUOXC4EQFnoECBMQAQ\u0026url=https%3A%2F%2Fwww.audiolabs-erlangen.de%2Fresources%2FMIR%2F2020-DagstuhlChoirSet\u0026usg=AOvVaw1sPox9R_Sh1eh5hqV2kgNs\u0026opi=89978449).\n* Custom piano audio samples are taken from the [Single Note Database (SNDB)](https://github.com/audiolabs/SNDB).\n* Other audio files are taken from the [FMP notebooks](https://www.audiolabs-erlangen.de/resources/MIR/FMP/C0/C0.html).\n\n## References\n\nYigitcan Özer, Leo Brütting, Simon Schwär, and Meinard Müller. [libsoni: A Python Toolbox for Sonifying Music Annotations and Feature Representations](https://joss.theoj.org/papers/10.21105/joss.06524). Journal of Open Source Software (JOSS), 9(96): 1–6, 2024.\n\nMeinard Müller and Frank Zalkow. [libfmp: A Python Package for Fundamentals of Music Processing](https://joss.theoj.org/papers/10.21105/joss.03326). Journal of Open Source Software (JOSS), 6(63), 2021.\n\n## Acknowledgements\n\nThe libsoni package originated from collaboration with various individuals over the past\nyears. We extend our gratitude to former and current students, collaborators, \nand colleagues, including Jonathan Driedger, Angel Villar-Corrales, and Tim Zunner, \nfor their support and influence in creating this Python package. This work was \nfunded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation)\nunder Grant No. 500643750 ([DFG-MU 2686/15-1](https://audiolabs-erlangen.de/fau/professor/mueller/projects/learn)) and \nGrant No. 328416299 ([MU 2686/10-2](https://audiolabs-erlangen.de/fau/professor/mueller/projects/sereco2)).\nThe [International Audio Laboratories Erlangen](https://audiolabs-erlangen.de/) are a joint institution of the \n[Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)](https://www.fau.eu/) and [Fraunhofer Institute for \nIntegrated Circuits IIS](https://www.iis.fraunhofer.de/en.html).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgroupmm%2Flibsoni","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgroupmm%2Flibsoni","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgroupmm%2Flibsoni/lists"}