Skip to main content

Python toolkit for analysing passive acoustic data

Project description

docs/source/_static/ecosound_logo_small.png

Welcome to ecosound!

https://img.shields.io/pypi/v/ecosound.svg Documentation Status Total PyPI downloads Monthly PyPI downloads GitHub stars GitHub forks

Ecosound is an open source Python package to facilitate the analysis of passive acoustic data. It includes modules for manual annotation processing and visualization, automatic detection, signal classification, and localization. It heavily relies on libraries such as xarray, pandas, numpy, and scikit-learn. Under the hood it also uses dask, which supports the processing of large data sets that don’t fit into memory and makes processing scalable through distributed computing (on either local clusters or on the cloud). Outputs from ecosound are compatible with popular bioacoustics software such as Raven and PAMlab.

Features

  • Annotation — load, filter, merge, and export manual annotations from Raven and PAMlab

  • Audio tools — read audio files, apply filters, compute spectrograms

  • Detection — plug-in detectors (blob, kurtosis) with a common factory interface

  • Classification — apply trained scikit-learn classifiers to acoustic measurements

  • Measurements — extract spectral and temporal features from annotated signals

  • Evaluation — compute Precision, Recall, and F-score curves for detectors

  • Environment — fetch co-located oceanographic, weather, tidal, and AIS data

  • Soundscape — process Hybrid Millidecade (HMD) spectral data for long-term soundscape analysis

  • Visualization — plot waveforms, spectrograms, annotation heatmaps, and interactive AIS maps

Installation

pip install ecosound

Quick Start

from ecosound.core.annotation import Annotation

# Load annotations from a Raven selection table
annot = Annotation()
annot.from_raven('my_annotations.txt', class_header='Sound type')

# Keep only high-confidence detections
annot.data = annot.data[annot.data['confidence'] >= 0.8]

# Aggregate and visualise
annot.plot_heatmap()

Status

Ecosound is very much a work in progress and is still under heavy development. At this stage, it is recommended to contact the main contributor before using ecosound for your projects.

Documentation

Full API documentation is available at https://ecosound.readthedocs.io.

Contributors

Xavier Mouy (@XavierMouy), Acoustics and Conservation Technology (ACT) Lab, Woods Hole Oceanographic Institution (WHOI).

Support

This project has received funding and support from:

License

Ecosound is licensed under the open source BSD-3-Clause License.

History

0.0.0 (2020-11-20)

  • First release on PyPI.

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

ecosound-0.0.32.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ecosound-0.0.32-py3-none-any.whl (312.3 kB view details)

Uploaded Python 3

File details

Details for the file ecosound-0.0.32.tar.gz.

File metadata

  • Download URL: ecosound-0.0.32.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for ecosound-0.0.32.tar.gz
Algorithm Hash digest
SHA256 df953b5e308dad8d588596b897b54a0e69e955375891cfca43d15fae7ff026c2
MD5 b6ec7bb08f2c647cc73787071e6f8d94
BLAKE2b-256 6a1fd6ef9e348d2a4b6204bbe7e395f9405220778d06936f8ff4a68dd2526b66

See more details on using hashes here.

File details

Details for the file ecosound-0.0.32-py3-none-any.whl.

File metadata

  • Download URL: ecosound-0.0.32-py3-none-any.whl
  • Upload date:
  • Size: 312.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for ecosound-0.0.32-py3-none-any.whl
Algorithm Hash digest
SHA256 1aaa489b8239890988302139f30df1f954047a52dfd1a9647cf59078d813aa4f
MD5 ca267c31ae5ea3199176aec42bf64e9b
BLAKE2b-256 a24dcfd1e5807489316d4a5a3ce2f497a2743003904937801d92abf890d4f498

See more details on using hashes here.

Supported by

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