biosonic: bioacoustic signal analysis toolkit
biosonic is a Python toolkit for advanced bioacoustic signal analysis, visualization, and feature extraction. It provides tools for reading, processing, and visualizing animal sound recordings, with a focus on flexibility and reproducibility while staying lightweight.
Features
Read and handle audio and annotation files
Spectrogram and feature visualization
Cepstral and spectral analysis
Batch processing and normalization
Pitch tracking and segmentation
Quickstart
Install biosonic and its dependencies:
pip install biosonic[all]
See the Example usage notebook for a hands-on introduction.
User Guide
- Example usage
- Read file and plot spectrogram
- Cepstrum and cepstral coefficients
- Filter signal
- Pitch tracking
- Audio feature extraction
- Batch normalize files in a folder and export features as csv
- Parse praat TextGrids and extract segments from file
- Read all files in a folder into DataFrame and plot spectrogram catalogue
- Future
- biosonic package
Indices and tables
Acknowledgments and References
Anikin A. 2019. Soundgen: an open-source tool for synthesizing nonverbal vocalizations. Behavior Research Methods, 51(2), 778-792.
Boersma P. (1993) Accurate short-term analysis of the fundamental frequency and the harmonics-to-noise ratio of a sampled sound. IFA Proceedings 17, 97–110.
Childers DG, Skinner DP, Kemerait RC. (1977) The cepstrum: A guide to processing. Proc. IEEE 65, 1428–1443. https://doi.org/10.1109/PROC.1977.10747
Klapuri A, Davy M. (2006) Signal processing methods for music transcription. New York: Springer. p.136
Shannon C. E. (1948) A mathematical theory of communication. The Bell System Technical Journal XXVII.
Sueur, J. (2018). Sound Analysis and Synthesis with R (Springer International Publishing). https://doi.org/10.1007/978-3-319-77647-7.
Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, Eric Jones, Robert Kern, Eric Larson, CJ Carey, İlhan Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman, Ian Henriksen, E.A. Quintero, Charles R Harris, Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt, and SciPy 1.0 Contributors. (2020) SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, 17(3), 261-272. https://doi.org/10.1038/s41592-019-0686-2.
https://de.mathworks.com/help/signal/ref/spectralentropy.html accessed January 13th, 2025. 18:34 pm
https://docs.scipy.org/doc/scipy-1.15.2/reference/generated/scipy.stats.entropy.html accessed May 20th 2025, 11:32 am