Skip to main content

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

Project description

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

Operating Systems

scikit-maad seamlessly supports Linux, macOS, and Windows operating systems.

Interpreter

scikit-maad requires one of these interpreters:

  • Python >= 3.8 < 3.11

Packages dependency

scikit-maad requires these Python packages to run:

  • matplotlib >=3.6
  • numpy >= 1.21
  • pandas >= 1.5
  • resampy >= 0.4
  • 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

Runnin all examples requires to install the following packages :

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scikit_maad-1.4.3.tar.gz (152.9 kB view details)

Uploaded Source

Built Distribution

scikit_maad-1.4.3-py3-none-any.whl (162.8 kB view details)

Uploaded Python 3

File details

Details for the file scikit_maad-1.4.3.tar.gz.

File metadata

  • Download URL: scikit_maad-1.4.3.tar.gz
  • Upload date:
  • Size: 152.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for scikit_maad-1.4.3.tar.gz
Algorithm Hash digest
SHA256 4a885f96b011e9df601a1064e64965b6ae0672e6872a0ad1380fda6f52a4f9f2
MD5 91d5c477819848c081054e8d489f1f9f
BLAKE2b-256 bd16a8d136fd07f9d91e14818d9023b273aeafe0420c9d906220c14bb42849bf

See more details on using hashes here.

File details

Details for the file scikit_maad-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: scikit_maad-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 162.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for scikit_maad-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2a4bec411bc3e01ce98f689b59d9e8e09f7448338038ba7e8264384352d9f324
MD5 a002b323934df255d1670b13b4cf26fc
BLAKE2b-256 ee00cd33c60933403f32d1bc951b4cccfdb1822a59387e37f36d62a99eb6d5dc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page