-
Notifications
You must be signed in to change notification settings - Fork 169
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 6d51094
Showing
124 changed files
with
8,291 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 700970f074d6922cbb969b93b220f545 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
FAQ | ||
=== | ||
|
||
Creating your own species list | ||
------------------------------ | ||
|
||
When editing your own species_list.txt file, make sure to copy species names from the labels file of each model. | ||
|
||
You can find label files in the checkpoints folder, e.g., checkpoints/V2.3/BirdNET_GLOBAL_3K_V2.3_Labels.txt. | ||
|
||
Species names need to consist of scientific name_common name to be valid. | ||
|
||
You can generate a species list for a given location using :ref:`species.py <cli-species>`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
BirdNET-Analyzer Documentation | ||
============================== | ||
|
||
Welcome to the BirdNET-Analyzer documentation! This guide provides detailed information on installing, configuring, and using BirdNET-Analyzer. | ||
|
||
.. toctree:: | ||
:maxdepth: 2 | ||
:caption: Contents: | ||
|
||
installation | ||
usage | ||
models | ||
faq | ||
showroom | ||
|
||
Introduction | ||
------------ | ||
|
||
BirdNET-Analyzer is an open-source tool for analyzing bird sounds using machine learning models. It processes audio recordings and identifies bird species based on their vocalizations. | ||
|
||
Citing BirdNET-Analyzer | ||
----------------------- | ||
|
||
Feel free to use BirdNET for your acoustic analyses and research. If you do, please cite as: | ||
|
||
.. code-block:: bibtex | ||
@article{kahl2021birdnet, | ||
title={BirdNET: A deep learning solution for avian diversity monitoring}, | ||
author={Kahl, Stefan and Wood, Connor M and Eibl, Maximilian and Klinck, Holger}, | ||
journal={Ecological Informatics}, | ||
volume={61}, | ||
pages={101236}, | ||
year={2021}, | ||
publisher={Elsevier} | ||
} | ||
License | ||
------- | ||
|
||
This work is licensed under a `Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License <https://creativecommons.org/licenses/by-nc-sa/4.0/>`_. | ||
|
||
About | ||
----- | ||
|
||
Developed by the `K. Lisa Yang Center for Conservation Bioacoustics <https://www.birds.cornell.edu/ccb/>`_ at the `Cornell Lab of Ornithology <https://www.birds.cornell.edu/home>`_ in collaboration with `Chemnitz University of Technology <https://www.tu-chemnitz.de/index.html>`_. | ||
|
||
Go to https://birdnet.cornell.edu to learn more about the project. | ||
|
||
Want to use BirdNET to analyze a large dataset? Don't hesitate to contact us: [email protected] | ||
|
||
We also have a discussion forum on `Reddit <https://www.reddit.com/r/BirdNET_Analyzer/>`_ if you have a general question or just want to chat. | ||
|
||
Have a question, remark, or feature request? Please start a new issue thread to let us know. Feel free to submit a pull request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
.. _installation: | ||
|
||
Installation | ||
============ | ||
|
||
Raven Pro | ||
--------- | ||
|
||
If you want to analyze audio files without any additional coding or package install, you can now use `Raven Pro software <https://ravensoundsoftware.com/software/raven-pro/>`_ to run BirdNET models. | ||
After download, BirdNET is available through the new "Learning detector" feature in Raven Pro. | ||
| For more information on how to use this feature, please visit the `Raven Pro Knowledge Base <https://ravensoundsoftware.com/article-categories/learning-detector/>`_. | ||
`Download the newest model version here <https://tuc.cloud/index.php/s/2TX59Qda2X92Ppr/download/BirdNET_GLOBAL_6K_V2.4_Model_Raven.zip>`_, extract the zip-file and move the extracted folder to the Raven models folder. On Windows, the models folder is `C:\\Users\\<Your user name>\\Raven Pro 1.6\\Models`. Start Raven Pro and select *BirdNET_GLOBAL_6K_V2.4_Model_Raven* as learning detector. | ||
|
||
Python Package | ||
-------------- | ||
|
||
The easiest way to setup BirdNET on your machine is to install `birdnetlib <https://joeweiss.github.io/birdnetlib/>`_ or `birdnet <https://pypi.org/project/birdnet/>`_ through pip with: | ||
|
||
.. code-block:: bash | ||
pip install birdnetlib | ||
or | ||
|
||
.. code-block:: bash | ||
pip install birdnet | ||
Please take a look at the `birdnetlib user guide <https://joeweiss.github.io/birdnetlib/#using-birdnet-analyzer>`_ on how to analyze audio with `birdnetlib`. | ||
|
||
When using the `birdnet`-package, you can run BirdNET with: | ||
|
||
.. code-block:: python | ||
from pathlib import Path | ||
from birdnet.models import ModelV2M4 | ||
# create model instance for v2.4 | ||
model = ModelV2M4() | ||
# predict species within the whole audio file | ||
species_in_area = model.predict_species_at_location_and_time(42.5, -76.45, week=4) | ||
predictions = model.predict_species_within_audio_file( | ||
Path("soundscape.wav"), | ||
filter_species=set(species_in_area.keys()) | ||
) | ||
# get most probable prediction at time interval 0s-3s | ||
prediction, confidence = list(predictions[(0.0, 3.0)].items())[0] | ||
print(f"predicted '{prediction}' with a confidence of {confidence:.6f}") | ||
# predicted 'Poecile atricapillus_Black-capped Chickadee' with a confidence of 0.814056 | ||
| For more examples and documentation, make sure to visit `pypi.org/project/birdnet/ <https://pypi.org/project/birdnet/>`_. | ||
| For any feature request or questions regarding `birdnet`, please add an issue or PR at `github.com/birdnet-team/birdnet <https://github.com/birdnet-team/birdnet>`_. | ||
Command line installation | ||
------------------------- | ||
|
||
Requires Python 3.10. | ||
|
||
Clone the repository | ||
|
||
.. code-block:: bash | ||
git clone https://github.com/kahst/BirdNET-Analyzer.git | ||
cd BirdNET-Analyzer | ||
Install the packages | ||
|
||
.. code-block:: bash | ||
pip install -r requirements.txt | ||
Verify the installation | ||
|
||
.. code-block:: bash | ||
python -m birdnet_analyzer.analyze | ||
GUI installation | ||
---------------- | ||
|
||
You can download the latest BirdNET-Analyzer installer from our `Releases <https://github.com/kahst/BirdNET-Analyzer/releases/>`_ page. This installer provides an easy setup process for running BirdNET-Analyzer on your system. Make sure to check to select the correct installer for your system. | ||
|
||
.. note:: | ||
|
||
On Windows, the smartscreen filter might block the installer. In this case, click on "More info" and "Run anyway" to proceed with the installation. | ||
|
||
.. note:: | ||
| NOTE: Installation was only tested on M1 and M2 chips. | ||
| Feedback on older Intel CPUs or newer M3 chips is welcome! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
Models | ||
====== | ||
|
||
|
||
V2.4, June 2023 | ||
--------------- | ||
|
||
* more than 6,000 species worldwide | ||
* covers frequencies from 0 Hz to 15 kHz with two-channel spectrogram (one for low and one for high frequencies) | ||
* 0.826 GFLOPs, 50.5 MB as FP32 | ||
* enhanced and optimized metadata model | ||
* global selection of species (birds and non-birds) with 6,522 classes (incl. 10 non-event classes) | ||
|
||
Technical Details | ||
^^^^^^^^^^^^^^^^^ | ||
|
||
* 48 kHz sampling rate (we up- and downsample automatically and can deal with artifacts from lower sampling rates) | ||
* we compute 2 mel spectrograms as input for the convolutional neural network: | ||
|
||
* first one has fmin = 0 Hz and fmax = 3000; nfft = 2048; hop size = 278; 96 mel bins | ||
* second one has fmin = 500 Hz and fmax = 15 kHz; nfft = 1024; hop size = 280; 96 mel bins | ||
|
||
* both spectrograms have a final resolution of 96x511 pixels | ||
* raw audio will be normalized between -1 and 1 before spectrogram conversion | ||
* we use non-linear magnitude scaling as mentioned in `Schlüter 2018 <http://ceur-ws.org/Vol-2125/paper_181.pdf>`_ | ||
* V2.4 uses an EfficienNetB0-like backbone with a final embedding size of 1024 | ||
* See `this comment <https://github.com/kahst/BirdNET-Analyzer/issues/177#issuecomment-1772538736>`_ for more details | ||
|
||
Species range model V2.4 - V2, Jan 2024 | ||
--------------------------------------- | ||
|
||
* updated species range model based on eBird data | ||
* more accurate (spatial) species range prediction | ||
* slightly increased long-tail distribution in the temporal resolution | ||
* see `this discussion post <https://github.com/kahst/BirdNET-Analyzer/discussions/234>`_ for more details | ||
|
||
|
||
Using older models | ||
------------------ | ||
|
||
Older models can also be used as custom classifiers in the GUI or using the `--classifier` argument in the `birdnet_analyzer.analyze` command line interface. | ||
|
||
Just download your desired model version and unzip. | ||
|
||
| GUI: Select the \*_Model_FP32.tflite file under **Species selection > Custom classifier** | ||
| CLI: `python -m birdnet_analyzer ... --classifier <path_to_*_Model_FP32.tflite>` | ||
Model Version History | ||
--------------------- | ||
|
||
V2.4 | ||
^^^^ | ||
|
||
- more than 6,000 species worldwide | ||
- covers frequencies from 0 Hz to 15 kHz with two-channel spectrogram (one for low and one for high frequencies) | ||
- 0.826 GFLOPs, 50.5 MB as FP32 | ||
- enhanced and optimized metadata model | ||
- global selection of species (birds and non-birds) with 6,522 classes (incl. 10 non-event classes) | ||
- Download here: `BirdNET-Analyzer-V2.4.zip <https://drive.google.com/file/d/1ixYBPbZK2Fh1niUQzadE2IWTFZlwATa3>`_ | ||
|
||
V2.3 | ||
^^^^ | ||
|
||
- slightly larger (36.4 MB vs. 21.3 MB as FP32) but smaller computational footprint (0.698 vs. 1.31 GFLOPs) than V2.2 | ||
- larger embedding size (1024 vs 320) than V2.2 (hence the bigger model) | ||
- enhanced and optimized metadata model | ||
- global selection of species (birds and non-birds) with 3,337 classes (incl. 10 non-event classes) | ||
- Download here: `BirdNET-Analyzer-V2.3.zip <https://drive.google.com/file/d/1hhwQBVBngGnEhmqYeDksIW8ZY1FJmwyi>`_ | ||
|
||
V2.2 | ||
^^^^ | ||
|
||
- smaller (21.3 MB vs. 29.5 MB as FP32) and faster (1.31 vs 2.03 GFLOPs) than V2.1 | ||
- maintains same accuracy as V2.1 despite more classes | ||
- global selection of species (birds and non-birds) with 3,337 classes (incl. 10 non-event classes) | ||
- Download here: `BirdNET-Analyzer-V2.2.zip <https://drive.google.com/file/d/166w8IAkXGKp6ClKb8vaniG1DmOr8Fwem>`_ | ||
|
||
V2.1 | ||
^^^^ | ||
|
||
- same model architecture as V2.0 | ||
- extended 2022 training data | ||
- global selection of species (birds and non-birds) with 2,434 classes (incl. 10 non-event classes) | ||
- Download here: `BirdNET-Analyzer-V2.1.zip <https://drive.google.com/file/d/15cvPiezn_6H2tQs1FGMVrVdqiwLjLRms>`_ | ||
|
||
V2.0 | ||
^^^^ | ||
|
||
- same model design as 1.4 but a bit wider | ||
- extended 2022 training data | ||
- global selection of species (birds and non-birds) with 1,328 classes (incl. 10 non-event classes) | ||
- Download here: `BirdNET-Analyzer-V2.0.zip <https://drive.google.com/file/d/1h2Tbk_29ghNdK62ynrdRWyxT4H1fpFGs>`_ | ||
|
||
V1.4 | ||
^^^^ | ||
|
||
- smaller, deeper, faster | ||
- only 30% of the size of V1.3 | ||
- still linear spectrogram and EfficientNet blocks | ||
- extended 2021 training data | ||
- 1,133 birds and non-birds for North America and Europe | ||
- Download here: `BirdNET-Analyzer-V1.4.zip <https://drive.google.com/file/d/1h14-Y8dOrPr9XCWfIoUjlWMJ9aWyNkKa>`_ | ||
|
||
V1.3 | ||
^^^^ | ||
|
||
- Model uses linear frequency scale for spectrograms | ||
- uses V2 fusion blocks and V1 efficient blocks | ||
- extended 2021 training data | ||
- 1,133 birds and non-birds for North America and Europe | ||
- Download here: `BirdNET-Analyzer-V1.3.zip <https://drive.google.com/file/d/1h0nJzPjyJWbkfPyaWpS332xUwzDOygs9>`_ | ||
|
||
V1.2 | ||
^^^^ | ||
|
||
- Model based on EfficientNet V2 blocks | ||
- uses V2 fusion blocks and V1 efficient blocks | ||
- extended 2021 training data | ||
- 1,133 birds and non-birds for North America and Europe | ||
- Download here: `BirdNET-Analyzer-V1.2.zip <https://drive.google.com/file/d/1h-il_W6t8Tz_XHrRMO1zcp_ThYp9QPLK>`_ | ||
|
||
V1.1 | ||
^^^^ | ||
|
||
- Model based on Wide-ResNet (aka "App model") | ||
- extended 2021 training data | ||
- 1,133 birds and non-birds for North America and Europe | ||
- Download here: `BirdNET-Analyzer-V1.1.zip <https://drive.google.com/file/d/1gzpwiCAf2HkfcAmlRq1K9Q0KrDsd5nGP>`_ | ||
|
||
App Model | ||
^^^^^^^^^ | ||
|
||
- Model based on Wide-ResNet | ||
- ~3,000 species worldwide | ||
- currently deployed as BirdNET app model | ||
- Download here: `BirdNET-Analyzer-App-Model.zip <https://drive.google.com/file/d/1gxkxPFlaTYxHFqAODDHYGUX8uEkZDWaL>`_ |
Oops, something went wrong.