Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

BirdVoxDetect: detection and classification of flight calls

PyPI MIT license Build Status

BirdVoxDetect is a pre-trained deep learning system which detects flight calls from songbirds in audio recordings, and retrieves the corresponding species. It relies on per-channel energy normalization (PCEN) and context-adaptive convolutional neural networks (CA-CNN) for improved robustness to background noise. It is made available both as a Python library and as a command-line tool for Windows, OS X, and Linux.

Installation

The simplest way to install BirdVoxDetect is by using the pip package management system, which will also install the additional required dependencies if needed.

pip install birdvoxdetect

Note that birdvoxdetect requires:

  • Python (==3.6)
  • birdvoxclassify
  • h5py (>=2.9)
  • librosa (==0.7.0)
  • numpy (==1.16.4)
  • pandas (==0.25.1)
  • scikit-learn (==0.21.2)
  • tensorflow (==1.15)

Usage

From the command line

To analyze one file:

python -m birdvoxdetect /path/to/file.wav

To analyze multiple files:

python -m birdvoxdetect /path/to/file1.wav /path/to/file2.wav

To analyze one folder:

python -m birdvoxdetect /path/to/folder

Optional arguments:

--output-dir OUTPUT_DIR, -o OUTPUT_DIR
                      Directory to save the output file(s); The default
                      value is the same directory as the input file(s).
--export-clips, -c    Export detected events as audio clips in WAV format.
--export-confidence, -C
                      Export the time series of model confidence values of
                      events in HDF5 format.
--export-faults, -f   Export list of sensor faults in CSV format.
--export-logger, -l   Export output of Python logger in TXT format.
--threshold THRESHOLD, -t THRESHOLD
                      Detection threshold, between 10 and 90. The default
                      value is 50. Greater values lead to higher precision
                      at the expense of a lower recall.
--suffix SUFFIX, -s SUFFIX
                      String to append to the output filenames.The default
                      value is the empty string.
--clip-duration CLIP_DURATION, -d CLIP_DURATION
                      Duration of the exported clips, expressed in seconds
                      (fps). The default value is 1.0, that is, one second.
                      We recommend values of 0.5 or above.
--quiet, -q           Print less messages on screen.
--verbose, -v         Print timestamps of detected events.
--version, -V         Print version number.

From Python

Call syntax:

import birdvoxdetect as bvd    
df = bvd.process_file('path/to/file.wav')

df is a Pandas DataFrame with three columns: time, detection confidence, and species.

Below is a typical output from the test suite (file fd79e55d-d3a3-4083-aba1-4f00b545c3d6.wav):

   Time (hh:mm:ss) Species (4-letter code)  Confidence (%)
0     00:00:08.78                    SWTH           100.0

Contact

Vincent Lostanlen, Cornell Lab of Ornithology (@lostanlen on GitHub). For more information on the BirdVox project, please visit our website: https://wp.nyu.edu/birdvox

Please cite the following paper when using BirdVoxDetect in your work:

Robust Sound Event Detection in Bioacoustic Sensor Networks
Vincent Lostanlen, Justin Salamon, Andrew Farnsworth, Steve Kelling, and Juan Pablo Bello
PLoS ONE 14(10): e0214168, 2019. DOI: https://doi.org/10.1371/journal.pone.0214168

Metadata

Release files for birdvoxdetect 0.3.0a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for birdvoxdetect 0.3.0a2
File Size Uploaded
birdvoxdetect-0.3.0a2.tar.gz 29.6 MB Details

Release files / birdvoxdetect-0.3.0a2.tar.gz

Download URL birdvoxdetect-0.3.0a2.tar.gz
Size 29.6 MB
Tags Source
SHA-256 checksum
How to use checksums
069d8f1cee6a477aa582d95a69521cc89448998fe67c3eee975ddb759cd67432
BLAKE2b-256 checksum
How to use checksums
497236a452249519c6d0a7c770281b7868b827d57a9025646d2e052d63ca0bfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.10

Release history Release notifications | RSS feed

0.6.0

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

1 release file

This release

0.3.0a2 This release

1 release file

0.2.5

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page