scikit-maad
Enables quantitative analysis of environmental audio, offering tools for processing, segmenting, and computing acoustic features.
https://github.com/scikit-maad/scikit-maad
Category: Biosphere
Sub Category: Bioacoustics and Acoustic Data Analysis
Keywords
acoustic-indices bioacoustics ecoacoustics pattern-recognition signal-processing sound-pressure-level
Keywords from Contributors
archiving measur transforms optimize observation generic animals compose projection conversion
Last synced: about 22 hours ago
JSON representation
Repository metadata
Open-source and modular toolbox for quantitative soundscape analysis in Python
- Host: GitHub
- URL: https://github.com/scikit-maad/scikit-maad
- Owner: scikit-maad
- License: bsd-3-clause
- Created: 2018-09-10T11:04:27.000Z (over 6 years ago)
- Default Branch: production
- Last Pushed: 2025-04-11T13:20:04.000Z (16 days ago)
- Last Synced: 2025-04-20T09:44:26.273Z (7 days ago)
- Topics: acoustic-indices, bioacoustics, ecoacoustics, pattern-recognition, signal-processing, sound-pressure-level
- Language: Python
- Homepage: https://scikit-maad.github.io/
- Size: 179 MB
- Stars: 114
- Watchers: 8
- Forks: 23
- Open Issues: 9
- Releases: 12
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.bib
README.md
scikit-maad
scikit-maad is an open source Python package dedicated to the quantitative analysis of environmental audio recordings. This package was designed to
- load and process digital audio,
- segment and find regions of interest,
- compute acoustic features, and
- estimate 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 Systems
scikit-maad
seamlessly supports Linux, macOS, and Windows operating systems.
Interpreter
The latest version of scikit-maad
requires one of these interpreters:
- Python 3.9, 3.10, 3.11 or 3.12
Packages dependency
scikit-maad
requires these Python packages to run:
- matplotlib >=3.6
- numpy >= 1.21
- pandas >= 1.5
- scikit-image >= 0.19
- scipy >= 1.8
Installing from PyPI
scikit-maad
is hosted on PyPI. The easiest way to install the package is using pip
the standard package installer for Python:
$ pip install scikit-maad
Quick start
The package is imported as maad
. To use scikit-maad tools, audio must be loaded as a numpy array. The function maad.sound.load
is a simple and effective way to load audio from disk. For example, download the spinetail audio example to your working directory. You can load it and then apply any analysis to find regions of interest or characterize your audio signals:
from maad import sound, rois
s, fs = sound.load('spinetail.wav')
rois.find_rois_cwt(s, fs, flims=(4500,8000), tlen=2, th=0, display=True)
For advance users
Installing from source
If you are interested in developing new features for scikit-maad
or working with the latest version, clone and install it:
$ git clone https://github.com/scikit-maad/scikit-maad.git
$ cd scikit-maad
$ pip install --editable .
Running tests
Install the test requirements:
$ pip install pytest
And run the tests:
$ cd scikit-maad
$ pytest
Examples and documentation
- See https://scikit-maad.github.io for 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: link -
librosa
, a popular package for audio and music analysis: link -
tqdm
, a package that provides a fast, extensible progress bar for loops and other iterable tasks: link -
In 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–355
Citing this work
If you find scikit-maad
usefull 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.13711
or use our citing file for custom citation formats.
Feedback and contributions
Improvements and new features are greatly appreciated. If you would like to contribute submitting issues, developing new features or making improvements to scikit-maad
, please refer to our contributors guide.
To create a positive social atmosphere for our community, we ask contributors to adopt and enforce our code of conduct.
About the project
In 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 by Juan Sebastian Ulloa, supervised by Jérôme Sueur and Thierry Aubin at the Muséum National d'Histoire Naturelle and the Université Paris Saclay respectively. Python functions have been added by Sylvain 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 the contributors list.
License
To support reproducible research, the package is released under the BSD open-source licence, which allows unrestricted redistribution for commercial and private use.
Citation (CITATION.bib)
@article{ulloa_etal_scikitmaad_2021, title = {scikit‐maad: {An} open‐source and modular toolbox for quantitative soundscape analysis in {Python}}, issn = {2041-210X, 2041-210X}, shorttitle = {scikit‐maad}, url = {https://onlinelibrary.wiley.com/doi/10.1111/2041-210X.13711}, doi = {10.1111/2041-210X.13711}, language = {en}, urldate = {2021-10-04}, journal = {Methods in Ecology and Evolution}, author = {Ulloa, Juan Sebastián and Haupert, Sylvain and Latorre, Juan Felipe and Aubin, Thierry and Sueur, Jérôme}, month = sep, year = {2021}, pages = {2041--210X.13711}, }
Owner metadata
- Name: scikit-maad
- Login: scikit-maad
- Email:
- Kind: user
- Description: An open-source and modular toolbox for quantitative soundscape analysis in Python
- Website: https://scikit-maad.github.io
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/43136563?u=aeb89f97e5688d430dd28b5804cd5adda739cdb4&v=4
- Repositories: 1
- Last ynced at: 2023-03-02T16:25:31.988Z
- Profile URL: https://github.com/scikit-maad
GitHub Events
Total
- Create event: 5
- Release event: 2
- Issues event: 4
- Watch event: 13
- Delete event: 4
- Issue comment event: 7
- Push event: 24
- Gollum event: 1
- Pull request review comment event: 4
- Pull request review event: 8
- Pull request event: 11
- Fork event: 1
Last Year
- Create event: 5
- Release event: 2
- Issues event: 4
- Watch event: 13
- Delete event: 4
- Issue comment event: 7
- Push event: 24
- Gollum event: 1
- Pull request review comment event: 4
- Pull request review event: 8
- Pull request event: 11
- Fork event: 1
Committers metadata
Last synced: 5 days ago
Total Commits: 735
Total Committers: 11
Avg Commits per committer: 66.818
Development Distribution Score (DDS): 0.54
Commits in past year: 51
Committers in past year: 3
Avg Commits per committer in past year: 17.0
Development Distribution Score (DDS) in past year: 0.431
Name | Commits | |
---|---|---|
Sylvain Haupert | s****t@m****r | 338 |
Juan Sebastian Ulloa | j****a@g****m | 260 |
saguileran | s****n@u****o | 42 |
scikit-maad | 4****d | 41 |
jflatorreg | j****g@u****o | 40 |
Juan Sebastian Ulloa | j****a@J****l | 7 |
dependabot[bot] | 4****] | 3 |
Pierre Aumond | p****d@i****r | 1 |
GabrielPerilla | g****a@h****o | 1 |
Juan Sebastian Ulloa | l****a@g****m | 1 |
Juan Cañas | j****s@J****l | 1 |
Committer domains:
- unal.edu.co: 2
- humboldt.org.co: 1
- ifsttar.fr: 1
- mnhn.fr: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 46
Total pull requests: 63
Average time to close issues: 3 months
Average time to close pull requests: 18 days
Total issue authors: 26
Total pull request authors: 10
Average comments per issue: 1.65
Average comments per pull request: 0.25
Merged pull request: 47
Bot issues: 0
Bot pull requests: 7
Past year issues: 12
Past year pull requests: 8
Past year average time to close issues: 21 days
Past year average time to close pull requests: 2 days
Past year issue authors: 8
Past year pull request authors: 4
Past year average comments per issue: 1.42
Past year average comments per pull request: 0.63
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- Bengt (9)
- dariodematties (3)
- jokot025 (3)
- saguileran (3)
- shaupert (3)
- juancanyas (2)
- charlie-garcia (2)
- charleygros (2)
- kroegern1 (2)
- gg4u (1)
- lizferguson5 (1)
- ss3443 (1)
- apotenza (1)
- YizharLavner (1)
- sammlapp (1)
Top Pull Request Authors
- shaupert (23)
- juansulloa (18)
- dependabot[bot] (7)
- scikit-maad (5)
- Bengt (4)
- ghost (2)
- Ryanff72 (1)
- arpit-omprakash (1)
- jscanass (1)
- pierromond (1)
Top Issue Labels
- bug (18)
- enhancement (11)
- warning (3)
- dependencies (1)
- question (1)
Top Pull Request Labels
- dependencies (7)
- enhancement (2)
- bug (1)
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 9,880 last-month
- Total docker downloads: 107
- Total dependent packages: 7
- Total dependent repositories: 68
- Total versions: 13
- Total maintainers: 2
pypi.org: scikit-maad
Open-source and modular toolbox for quantitative soundscape analysis in Python
- Homepage: https://github.com/scikit-maad/scikit-maad
- Documentation: https://scikit-maad.github.io/
- Licenses: BSD License
- Latest release: 1.5.1 (published 16 days ago)
- Last Synced: 2025-04-25T12:09:25.865Z (2 days ago)
- Versions: 13
- Dependent Packages: 7
- Dependent Repositories: 68
- Downloads: 9,880 Last month
- Docker Downloads: 107
-
Rankings:
- Dependent packages count: 1.256%
- Downloads: 1.781%
- Dependent repos count: 1.808%
- Docker downloads count: 3.236%
- Average: 4.226%
- Stargazers count: 7.904%
- Forks count: 9.37%
- Maintainers (2)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- matplotlib >=3.6
- numpy >=1.21
- pandas >=1.5
- resampy >=0.4
- scikit-image >=0.19
- scipy >=1.8
- matplotlib >=3.6
- numpy >=1.21
- pandas >=1.5
- resampy >=0.4
- scikit-image >=0.19
- scipy >=1.8.0
Score: 16.42699831550709