Package: scikit-maad
scikit-maadscikit-maadis an open source Python package dedicated to the quantitative analysis of environmental audio recordings. This package was designed toload and process digital audio,segment and find regions of interest,compute acoustic features, andestimate sound pressure level.This workflow opens the possibility to scan large audio datasets and use powerful machine learning techniques, allowing to measure acoustic properties and identify key patterns in all kinds of soundscapes.Operating Systemsscikit-maadsupports these operating systems:Linux (tested on Ubuntu in CI)macOS (Intel CPUs only; Apple Silicon not supported)WindowsInterpreterscikit-maadrequires one of these interpreters:Python >= 3.8 < 3.11Packages dependencyscikit-maadrequires these Python packages to run:matplotlib >=3.6numpy >= 1.21pandas >= 1.5resampy >= 0.4scikit-image >= 0.19scipy >= 1.8Installing from PyPIscikit-maadis hosted on PyPI. The easiest way to install the package is usingpipthe standard package installer for Python:$pipinstallscikit-maadQuick startThe package is imported asmaad. To use scikit-maad tools, audio must be loaded as a numpy array. The functionmaad.sound.loadis a simple and effective way to load audio from disk. For example, download thespinetail audio exampleto your working directory. You can load it and then apply any analysis to find regions of interest or characterize your audio signals:frommaadimportsound,roiss,fs=sound.load('spinetail.wav')rois.find_rois_cwt(s,fs,flims=(4500,8000),tlen=2,th=0,display=True)For advance usersInstalling from sourceIf you are interested in developing new features forscikit-maador working with the latest version, clone and install it:$gitclonehttps://github.com/scikit-maad/scikit-maad.git
$cdscikit-maad
$pipinstall--editable.Running testsInstall the test requirements:$pipinstallpytestAnd run the tests:$cdscikit-maad
$pytestExamples and documentationSeehttps://scikit-maad.github.iofor a complete reference manual and example gallery.Runnin all examples requires to install the following packages :scikit-learn, a popular Python package for machine learning:linklibrosa, a popular package for audio and music analysis:linktqdm, a package that provides a fast, extensible progress bar for loops and other iterable tasks:linkIn depth information related to the Multiresolution Analysis of Acoustic Diversity implemented in scikit-maad was published in: Ulloa, J. S., Aubin, T., Llusia, D., Bouveyron, C., & Sueur, J. (2018).Estimating animal acoustic diversity in tropical environments using unsupervised multiresolution analysis. Ecological Indicators, 90, 346–355Citing this workIf you findscikit-maadusefull for your research, please consider citing it as:Ulloa, J. S., Haupert, S., Latorre, J. F., Aubin, T., & Sueur, J. (2021). scikit‐maad: An open‐source and modular toolbox for quantitative soundscape analysis in Python. Methods in Ecology and Evolution, 2041-210X.13711.https://doi.org/10.1111/2041-210X.13711or use ourciting filefor custom citation formats.Feedback and contributionsImprovements and new features are greatly appreciated. If you would like to contribute submitting issues, developing new features or making improvements toscikit-maad, please refer to ourcontributors guide.
To create a positive social atmosphere for our community, we ask contributors to adopt and enforce ourcode of conduct.About the projectIn 2018, we began to translate a set of audio processing functions from Matlab to an open-source programming language, namely, Python. These functions provided the necessary tools to replicate the Multiresolution Analysis of Acoustic Diversity (MAAD), a method to estimate animal acoustic diversity using unsupervised learning (Ulloa et al., 2018). We soon realized that Python provided a suitable environment to extend these core functions and to develop a flexible toolbox for our research. During the past few years, we added over 50 acoustic indices, plus a module to estimate the sound pressure level of audio events. Furthermore, we updated, organized, and fully documented the code to make this development accessible to a much wider audience. This work was initiated byJuan Sebastian Ulloa, supervised by Jérôme Sueur and Thierry Aubin at theMuséum National d'Histoire Naturelleand theUniversité Paris Saclayrespectively. Python functions have been added bySylvain Haupert,Juan Felipe Latorre(Universidad Nacional de Colombia) and Juan Sebastián Ulloa (Instituto de Investigación de Recursos Biológicos Alexander von Humboldt). For an updated list of collaborators, check thecontributors list.LicenseTo support reproducible research, the package is released under theBSD open-source licence, which allows unrestricted redistribution for commercial and private use.