/bioacoustics-software

A list of free and paid software available for bioacoustic analyses

Bioacoustics software

A variety of free and paid software is available for bioacoustic analyses. Software packages vary from complete graphical interfaces, to command-line interfaces, to utility libraries that can be used to create analysis pipelines in Python, R, or other programming languages.

The inclusion criteria for this list are (1) that the software is targeted to or widely used by bioacoustics researchers, and (2) that the software either is stable, is currently in active development, or was recently released.

This list is not necessarily a recommendation or a guarantee of quality of particular software packages or analysis techniques, but I have indicated in bold which software I've seen used most frequently. I haven't used all of the software below. Some I use frequently and can't live without, whereas some I haven't found to be useful or accurate for my applications.

You should always judge the performance of an analysis method by its performance on your dataset. Analysis methods are often published along with metrics to describe their performance, such as accuracy, precision, and recall. However, different recording conditions or different distributions of sounds present in your dataset can result in starkly different performance of the same method.

If your software meets the criteria above, please contribute to the list! Open an issue on this repository or contact me at tessa.rhinehart at pitt.edu!

Spreadsheet format

The most up-to-date descriptions of software are available in the spreadsheet here.

List format

For a more complete and detailed listing, see the spreadsheet above.

Audiomoth-specific: user-generated tools for AudioMoths

  • fieldtools (free) - plan deployments copy/format large numbers of SD cards simultaneously
  • audiomoth-scripts (free) - a variety of spectrogram visualization bash scripts. Also includes script to rename AudioMoth hex files to human-readable filenames.

Data exploration: general-purpose, non-bioacoustics software for listening to/editing recordings and generating spectrograms.

  • Adobe Audition (paid) - geared toward sound editing
  • Audacity (free) - simple, lightweight listening and spectrogram viewing, comparison, and manipulation
  • librosa (free) - Python package with audio loading, spectrogram creation utilities, and per-channel energy normalization
  • GoldWave (free) - view and manipulate audio
  • Reaper (free) - spectrogram visualization; enables Python and C/C++ coding within
  • scipy.signal (free) - Python library including spectrogram creation and cross-correlation functions
  • SonicVisualizer (free) - spectrogram visualization
  • Soundata (free) - Python library for loading and working with audio data

Manual organization, review, and annotation: bioacoustics-focused software for organizing and annotating recordings, usually also including features for listening to recordings and generating spectrograms.

  • Anabat Insight (free and paid versions) - recording organization, annotation, and mapping
  • ARBIMON (free for certain number of recordings) - web-based interface with annotation functionality
  • AviaNZ (free) - graphical user interface for organizing and analyzing recordings
  • BatExplorer (free and paid versions) - organize and annotate bat recordings
  • BatScope (free) - manage, sort, view, and play databases of recordings, geared toward bats
  • crowsetta (free) - package for working with and translating between annotation formats
  • DetEdit (free) - visualize and annotate detections
  • GlassOFire (free) - Windows software for avian nocturnal flight call review and sorting
  • INSTINCT (free) - Bioacoustic pipelining software
  • Ishmael (free) - annotation and real-time recording
  • Koe Bioacoustics Software (free) - web-based acoustic data management platform geared towards analysis of small acoustic units
  • Luscinia (free) - database management and recording archiving
  • Parselmouth (free) - Python library for interacting with Praat annotation functionality
  • Praat (free) - annotation, especially for individual song analysis (software originally intended for human phonetics)
  • Raven Lite (free) - listening and spectrogram viewing; tools to manually select and annotate recordings
  • SDEer (free) - manual annotation for acoustic localization
  • seewave (free) - R package to display spectrograms
  • SoundSort (free) - visualize, cluster, and annotate recordings, then export these annotations
  • Specky (free) - Python app for displaying spectrograms and annotating short sound segments
  • Tadarida-L (free) - labeling interface of 3-part "Tadarida" software
  • Triton (free) - condense/annotate very long recordings using Long Term Spectral Averages
  • Vesper (free, in development) - web-based application for avian nocturnal flight call analysis; also implements BirdVoxDetect, BirdVoxClassify, and others (see below)
  • warbleR (free) - highly multipurpose R package

Measuring acoustic parameters: acoustic metrics for soundscapes or individual sounds

  • Acoustic_Indices (free) - Python package for calculating acoustic indices
  • ARTWARP (free) - MATLAB package to estimate frequency sweeps and cluster-classify tonal sounds
  • audioset_soundscape_feats_sethi2019 - GitHub repo for using machine learned features for soundscape analyses (see original paper)
  • Avisoft-SASLab Pro (paid) - "sound parameter measurement" and noise level measurement
  • hardRain (free) - R software for detecting sounds of rain
  • Koe Bioacoustics Software (free) - assess song sequence structure
  • Luscinia (free) - wide variety of acoustic signal analyses
  • PAMpal (free) - compute acoustic features of PAMguard detections
  • Parselmouth (free) - Python library for interacting with Praat acoustic parameter measurement functionality
  • prinia-project (free) - analysis of note complexity, repetition rate, and signal partitioning
  • Raven Lite (free) - basic measurements of acoustic properties through GUI annotation
  • Raven Pro (paid) - advanced measurements of acoustic properties
  • scikit-maad (free) - Python package that can compute ecoacoustic alpha indices
  • soundecology (free) - calculate soundscape-wide acoustic indices
  • warbleR (free) - offers variety of measurements acoustic signal structure and timing

Acoustic localization: software for estimation of animal position using recordings from time-synchronized recorders, including functionality for recorder synchronization, time delay of arrival (TDOA) calculation, coordinate position estimation, direction-of-arrival (DOA) estimation, and improving signal to noise ratio via beamforming

  • AviSoft SASLab Pro (paid) - finds TDOAs via cross-correlation
  • CARACAL (free) - sound detection, DOA localization, and sound source separation
  • HARKBird (free) - source separation and DOA localization
  • Ishmael (free) - coordinate localization and beamforming
  • PAMGuard (free)
  • OpenSoundscape (free) - TDOA calculation and coordinate position estimation
  • scipy.signal.correlate (free) - Python function for signal cross-correlation (can be used to estimate TDOAs)
  • SDEer (free) - sound detection, recording synchronization, DOA estimation
  • Sound Finder (free) - excel and R software for position estimation using pre-calculated TDOAs

Detection: locating potential sounds of interest in recordings. Methods include supervised machine learning, amplitude-based detection, and clustering to group sounds into similar-sounding clusters (e.g. unsupervised machine learning)

  • Anabat Insight (free and paid versions) - bat call detection and custom filtering in full-spectrum and zero-crossing recordings
  • ARBIMON (free for certain number of recordings) - web-based interface enabling creation of pattern-matching detectors
  • AVA (free) - Python package; automated segmentation of syllables
  • AviaNZ (free) - capable of clustering
  • Avisoft-SASLab Pro (paid) - automated detection
  • BatExplorer (free and paid versions) - bat call detection
  • BatDetect (free) - bat detection in full-spectrum (i.e., not zero-crossing) recordings
  • bioacoustics (free) - R package for sound filtering, automated detection, and extraction of acoustic features
  • BirdVoxDetect (free) - machine learning-based detection for nocturnal flight calls
  • CARACAL (free) - sound detection for acoustic localization
  • gibbonR (free) - R package with automated detection and segmentation algorithms
  • Ishmael (free) - automated detection, geared towards marine wildlife
  • Kaleidoscope (paid, 15-day free trial) - capable of clustering and amplitude-based detection
  • monitoR (free) - R package for automated detection via template matching
  • PAMguard (free) - detect vocalizations and clicks; geared toward cetacean monitoring
  • ohun - automated detection of acoustic signals with tools for diagnosing detector effectiveness
  • Raven Pro (paid; free or reduced price options) - configurable band-limited energy detection (amplitude-based)
  • scikit-maad (free) - Python package including clustering functionality
  • SDEer (free) - several detection algorithms
  • seewave (free) - compute cross-correlation and signal envelopes
  • SoundSort (free) - capable of clustering similar pre-detected clips
  • Tadarida-D (free) - detection and feature extraction for 3-part "Tadarida" software
  • TweetyNet (free) Neural network for sound event detection, developed to annotate birdsong syllables
  • warbleR (free)

Classification: predict the identity of sounds captured in recordings, e.g. training a convolutional neural network to identify bird species in a recording

  • Anabat Insight (free and paid versions) - contains open-source BatClassify classifier and can be used with other algorithms
  • Animal Sound Identifier (free) - MATLAB software (described here) for classification of animals using training data directly from field recordings, without reference libraries
  • ANIMAL-SPOT (free) - Python framework for building deep learning classification models
  • ARBIMON (free for certain number of recordings) - web-based interface for creating template-matching classifiers
  • ARTWARP (free) - MATLAB package to estimate frequency sweeps and cluster-classify tonal sounds
  • Avisoft-SASLab Pro (paid) - classification by spectrographic template cross-correlation
  • AviaNZ (free) - configure your own "filters" for certain species or download pre-configured filters
  • BatClassify (free) - segmentation and classification of ultrasonic sounds
  • BatExplorer (free and paid versions) - bat classification
  • BatScope (free) - classify bat recordings
  • Banter (free) - create your own hierarchical acoustic classifiers
  • BirdNET (free) - pre-created neural network classifiers for common birds of North America and Europe
  • BirdVoxClassify (free) - pre-created nocturnal flight call classifiers for a limited number of North American bird species
  • gibbonR (free) - R package that enables user to train neural networks, GMMs, and others
  • hybrid-vocal-classifier (free) - automated labeling geared towards individual syllable identification
  • Kaleidoscope (paid, 15-day free trial) - pre-created bat classification
  • Ketos (free) - Python package for acoustic data analysis with neural networks, geared toward underwater acoustics
  • Koe Bioacoustics Software (free) - clustering with human annotation
  • Koogu (free) - Python software wrapping around TensorFlow to create flexible deep learning models
  • OpenSoundscape (free) - software ecosystem for creating and using convolutional neural networks for classification; identifying repeating calls using pulse rate analysis
  • prinia-project (free) - bird song note classification
  • scikit-maad (free) - Python library enabling creation of own classifiers using scikit learn
  • SonoBat (paid) - classification of bat calls
  • Tadarida-C (free) - discriminant analysis-based classification; part of 3-part "Tadarida" software; includes implementation of classifier for bat sonotypes of the world (described here)
  • vak (free) - wrapper around Pytorch originally created to benchmark classifiers of individual birdsong syllables

Clustering/dimensionality reduction methods: group sounds into clusters without user-defined categories, or embed acoustic features into a lower-dimensional space for Analysis

  • AVGN (free) - Python package; latent and generative models of animal vocalizations
  • AVA (free) - Python package; train generative models of vocalizations