scikit-maad

Open-source and modular toolbox for quantitative soundscape analysis in Python

https://github.com/scikit-maad/scikit-maad

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: researchgate.net, zenodo.org
  • Committers with academic emails
    2 of 11 committers (18.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.0%) to scientific vocabulary

Keywords

acoustic-indices bioacoustics ecoacoustics pattern-recognition signal-processing sound-pressure-level

Keywords from Contributors

archival projection profiles interactive sequences generic observability autograding hacking shellcodes
Last synced: 4 months ago · JSON representation ·

Repository

Open-source and modular toolbox for quantitative soundscape analysis in Python

Basic Info
  • Host: GitHub
  • Owner: scikit-maad
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: production
  • Homepage: https://scikit-maad.github.io/
  • Size: 180 MB
Statistics
  • Stars: 121
  • Watchers: 9
  • Forks: 23
  • Open Issues: 10
  • Releases: 0
Topics
acoustic-indices bioacoustics ecoacoustics pattern-recognition signal-processing sound-pressure-level
Created over 7 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

scikit-maad

scikit-maad logo

scikit-maad is an open source Python package dedicated to the quantitative analysis of environmental audio recordings. This package was designed to 1. load and process digital audio, 2. segment and find regions of interest, 3. compute acoustic features, and 4. 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.

PyPI version Project Status: Active – The project has reached a stable, usable state and is being actively developed. License DOI Maintenance Downloads Citation Badge <!--Python 3.6-->

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.23.1
  • 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:

bash $ 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:

python 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:

bash $ git clone https://github.com/scikit-maad/scikit-maad.git $ cd scikit-maad $ pip install --editable .

Running tests

Install the test requirements:

bash $ pip install pytest

And run the tests:

bash $ 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

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.

Owner

  • Name: scikit-maad
  • Login: scikit-maad
  • Kind: user

An open-source and modular toolbox for quantitative soundscape analysis in Python

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},
}

GitHub Events

Total
  • Create event: 6
  • Release event: 2
  • Issues event: 5
  • Watch event: 18
  • Delete event: 4
  • Issue comment event: 11
  • Push event: 26
  • 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: 6
  • Release event: 2
  • Issues event: 5
  • Watch event: 18
  • Delete event: 4
  • Issue comment event: 11
  • Push event: 26
  • Gollum event: 1
  • Pull request review comment event: 4
  • Pull request review event: 8
  • Pull request event: 11
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 738
  • Total Committers: 11
  • Avg Commits per committer: 67.091
  • Development Distribution Score (DDS): 0.538
Past Year
  • Commits: 42
  • Committers: 3
  • Avg Commits per committer: 14.0
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Sylvain Haupert s****t@m****r 341
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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 44
  • Total pull requests: 68
  • Average time to close issues: 3 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 27
  • Total pull request authors: 10
  • Average comments per issue: 1.77
  • Average comments per pull request: 0.28
  • Merged pull requests: 51
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 6
  • Pull requests: 10
  • Average time to close issues: 2 days
  • Average time to close pull requests: 3 days
  • Issue authors: 6
  • Pull request authors: 4
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.7
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Bengt (9)
  • dariodematties (3)
  • saguileran (3)
  • shaupert (3)
  • jokot025 (2)
  • charleygros (2)
  • kroegern1 (2)
  • gg4u (1)
  • lizferguson5 (1)
  • charlie-garcia (1)
  • ss3443 (1)
  • apotenza (1)
  • Mari2061 (1)
  • YizharLavner (1)
  • sammlapp (1)
Pull Request Authors
  • shaupert (26)
  • juansulloa (22)
  • dependabot[bot] (7)
  • scikit-maad (5)
  • Bengt (4)
  • Ryanff72 (2)
  • arpit-omprakash (2)
  • ghost (2)
  • jscanass (2)
  • pierromond (1)
Top Labels
Issue Labels
bug (15) enhancement (11) warning (3) dependencies (1) question (1)
Pull Request Labels
dependencies (7) enhancement (2) bug (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 5,875 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

  • Versions: 13
  • Dependent Packages: 7
  • Dependent Repositories: 68
  • Downloads: 5,875 Last month
  • Docker Downloads: 107
Rankings
Dependent packages count: 1.3%
Downloads: 1.8%
Dependent repos count: 1.8%
Docker downloads count: 3.2%
Average: 4.2%
Stargazers count: 7.9%
Forks count: 9.4%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/ci-cd.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/python-compatibility.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • matplotlib >=3.6
  • numpy >=1.21
  • pandas >=1.5
  • resampy >=0.4
  • scikit-image >=0.19
  • scipy >=1.8
requirements.txt pypi
  • matplotlib >=3.6
  • numpy >=1.21
  • pandas >=1.5
  • resampy >=0.4
  • scikit-image >=0.19
  • scipy >=1.8.0