Skip to content

Commit

Permalink
try to fix references etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
yiitozer committed Mar 11, 2024
1 parent 455b85c commit ba99001
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 3 deletions.
32 changes: 29 additions & 3 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Music Information Retrieval (MIR) stands as a dedicated research field focused o
organizing, analyzing, retrieving, and generating data related to music. Key tasks within MIR include beat tracking,
structural analysis, chord recognition, melody extraction, and source separation, just to name a few. These tasks
involve extracting musically relevant information from audio recordings, typically accomplished by transforming music
signals into feature representations such as spectrograms, chromagrams, or tempograms~\citep{Mueller15_FMP_SPRINGER}.
signals into feature representations such as spectrograms, chromagrams, or tempograms [@Mueller15_FMP_SPRINGER].
Furthermore, musically relevant annotations such as beats, chords, keys, or structure boundaries become
indispensable for training and evaluating MIR approaches.

Expand All @@ -39,20 +39,46 @@ alongside conventional data visualization techniques, data sonification techniqu
for providing auditory feedback on extracted features or annotated information. This is particularly advantageous given
the finely tuned human perception to subtle variations in frequency and timing within the musical domain.

This paper introduces \emph{libsoni}, an open-source Python toolbox tailored for the sonification of music annotations
This paper introduces *libsoni*, 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, libsoni 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,
libsoni 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. As a result, libsoni not only improves the analytical capabilities of music
scientists but also opens up new avenues for innovative music analysis and discovery.
%

Furthermore, libsoni provides well-documented and stand-alone functions covering all essential building blocks crucial
for both sound generation and sonification, enabling users to efficiently apply and easily extend the methods.
Additionally, the toolbox includes educational Jupyter notebooks with illustrative code examples demonstrating the
application of sonification and visualization methods to deepen understanding within specific MIR scenarios.

# Design Choices
When designing the Python toolbox libsoni, we had several objectives in mind. Firstly, we aimed to maintain close
connections with existing sonification methods provided in in librosa[@McFeeRLEMBN15_librosa_Python] and
libfmp[@MuellerZ21_libfmp_JOSS]. Secondly, we re-implemented and included all necessary components
(e.g., sound generators based on sinusoidal models and click sounds), even though similar basic functionality is
available in other Python packages such as librosa and libfmp. By doing so, libsoni offers a coherent API along with
convenient but easily modifiable parameter presets. Additionally, the implementations are more efficient than previous
software. Thirdly, we adopted many design principles suggested by librosa[@McFeeRLEMBN15_librosa_Python]
and detailed in [@McFeeKCSBB19_OpenSourcePractices_IEEE-SPM] to lower the entry barrier for students and
researchers who may not be coding experts. This includes maintaining an explicit and straightforward programming
style with a flat, functional hierarchy to facilitate ease of use and comprehension. The source code for
libsoni, along with comprehensive API documentation, is publicly accessible through a dedicated GitHub
repository [^3]. We showcase all components, including introductions to MIR scenarios, illustrations, and sound examples
via Jupyter notebooks. Finally, we have included the toolbox in the Python Package Index (PyPI), enabling
installation with the standard Python package manager, pip [^4].

[^3]: <https://github.com/groupmm/libsoni>
[^4]: <https://groupmm.github.io/libsoni>

# 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\"at Erlangen-N\"urnberg (FAU) and Fraunhofer Institute for Integrated Circuits IIS.


# References
44 changes: 44 additions & 0 deletions paper/references.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
@article{MuellerZ21_libfmp_JOSS,
author = {Meinard M{\"u}ller and Frank Zalkow},
title = {{libfmp}: {A} {P}ython Package for Fundamentals of Music Processing},
journal = {Journal of Open Source Software ({JOSS})},
volume = {6},
number = {63},
year = {2021},
pages = {3326:1--5},
doi = {10.21105/joss.03326},
url-pdf = {2021_MuellerZalkow_libfmp_JOSS.pdf},
url-demo = {https://github.com/meinardmueller/libfmp}
}

@article{McFeeKCSBB19_OpenSourcePractices_IEEE-SPM,
author = {Brian McFee and Jong Wook Kim and Mark Cartwright and Justin Salamon and Rachel M. Bittner and Juan Pablo Bello},
title = {Open-Source Practices for Music Signal Processing Research: Recommendations for Transparent, Sustainable, and Reproducible Audio Research},
journal = {{IEEE} Signal Processing Magazine},
volume = {36},
number = {1},
pages = {128--137},
year = {2019},
doi = {10.1109/MSP.2018.2875349}
}

@book{Mueller15_FMP_SPRINGER,
author = {Meinard M\"{u}ller},
title = {Fundamentals of Music Processing -- Audio, Analysis, Algorithms, Applications},
type = {Monograph},
year = {2015},
isbn = {978-3-319-21944-8},
publisher = {Springer Verlag},
pages = {1--480},
doi = {10.1007/978-3-319-21945-5}
}

@inproceedings{McFeeRLEMBN15_librosa_Python,
author = {Brian McFee and Colin Raffel and Dawen Liang and Daniel P.W. Ellis and Matt McVicar and Eric Battenberg and Oriol Nieto},
title = {Librosa: {A}udio and Music Signal Analysis in {P}ython},
booktitle = {Proceedings the Python Science Conference},
pages = {18--25},
address = {Austin, Texas, USA},
year = {2015},
doi = {10.25080/Majora-7b98e3ed-003}
}

0 comments on commit ba99001

Please sign in to comment.