birdsong-recognition-dataset


Namebirdsong-recognition-dataset JSON
Version 0.3.2 PyPI version JSON
download
home_page
SummaryFunctions for working with this data repository: https://figshare.com/articles/BirdsongRecognition/3470165
upload_time2022-05-14 18:04:02
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Build Status](https://github.com/NickleDave/birdsong-recognition-dataset/actions/workflows/ci.yml/badge.svg)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4584210.svg)](https://doi.org/10.5281/zenodo.4584210)
![PyPI version](https://badge.fury.io/py/birdsong-recognition-dataset.svg)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
# birdsong-recognition-dataset
Python utility for working with data from the following repository:  
Koumura, T. (2016). BirdsongRecognition (Version 1). figshare.  
<https://doi.org/10.6084/m9.figshare.3470165.v1>  
<https://figshare.com/articles/BirdsongRecognition/3470165>

The repository contains .wav files of Bengalese finch song from ten birds
and annotation for the songs in .xml files.

This repository provides a great resource, and was used to benchmark
a sliding window-based neural network for segmenting and labeling
the elements of birdsong, as described in the following paper:  
Koumura, Takuya, and Kazuo Okanoya.  
"Automatic recognition of element classes and boundaries in the birdsong
with variable sequences."  
PloS one 11.7 (2016): e0159188.  
<https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0159188>  

The code for the network can be found here:  
<https://github.com/cycentum/birdsong-recognition>

The original code was released under the GNU license:  
<https://github.com/cycentum/birdsong-recognition/blob/master/LICENSE>

The `birdsongrec` module is used with the [`crowsetta`](https://github.com/NickleDave/crowsetta)
 package to make the repository a dataset available in the
[`hybrid-vocal-classifier`](https://hybrid-vocal-classifier.readthedocs.io/en/latest/)
and [`vak`](https://github.com/NickleDave/vak) libraries.

### Installation
#### with `pip`

```console
$ pip install birdsong-recognition-dataset
```

#### with `conda`

```console
$ conda install birdsong-recognition-dataset -c conda-forge
```

### Usage

The main thing that `birdsongrec` gives you is easy access to the
annotation, without having to deal with the .xml file format.

This format is schematized in [this XML schema file](./doc/xsd/AnnotationSchema.xsd),
adapted [from the original](https://github.com/cycentum/birdsong-recognition/blob/master/xsd/AnnotationSchema.xsd) 
under the [GNU license](https://github.com/cycentum/birdsong-recognition/blob/master/LICENSE)
(file is unchanged except for formatting for readability).

To access the annotation in the `Annotation.xml` files for each bird,
use the `parse_xml` function.
```Python
>>> from birdsongrec import parse_xml
>>> seq_list = parse_xml(xml_file='./Bird0/Annotation.xml', concat_seqs_into_songs=False)
>>> seq_list[0]
Sequence from 0.wav with position 32000 and length 43168
>>> seq_list[0].syls[:3]
[Syllable labeled 0 at position 2240 with length 2688, Syllable labeled 0 at position 8256 with length 2784, Syllable labeled 0 at position 14944 with length 2816]  
```

Notice that this package preserves the abstraction of the original code,
where syllables and sequences of syllables are represented as objects.
This can be helpful if you are trying to replicate functionality from
that code.  
**Importantly, each song is broken up into a number of "sequences".**
You can set the flag `concat_seqs_into_songs` to `True` if you want
`parse_xml` to concatenate sequences by song (.wav file), so that each
Sequence is actually all the sequences from one song.  
If you are using the annotation to work with the dataset for
some other purpose, you may find it more convenient to work with some
other format. For that, please check out the
[`crowsetta`](https://github.com/NickleDave/crowsetta)
tool, that helps with building datasets of annotated vocalizations
in a way that's annotation-format agnostic.

The `birdsongrec` package also provides a convenience function to load the annotation
for an individual song, `load_song_annot`. This is basically a wrapper
around `parse_xml` that filters out the songs you don't want.
```Python
>>> from birdsongrec import load_song_annot
>>> wav1 = load_song_annot(wav_file='1.wav')
>>> print(wav1)                                                                                                  
Sequence from 1.wav with position 32000 and length 214176  
```

### Getting Help
Please feel free to raise an issue here:  
https://github.com/NickleDave/birdsong-recognition-dataset/issues

### License
[BSD License](./LICENSE).

### Citation
If you use this package, please cite the DOI:  
[![DOI](https://zenodo.org/badge/159952839.svg)](https://zenodo.org/badge/latestdoi/159952839)


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "birdsong-recognition-dataset",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "David Nicholson <nickledave@users.noreply.github.com>",
    "download_url": "https://files.pythonhosted.org/packages/b2/f5/305d4671d634466940c21bca8cac505e102b38390311c937a6d5b6809741/birdsong-recognition-dataset-0.3.2.tar.gz",
    "platform": null,
    "description": "![Build Status](https://github.com/NickleDave/birdsong-recognition-dataset/actions/workflows/ci.yml/badge.svg)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4584210.svg)](https://doi.org/10.5281/zenodo.4584210)\n![PyPI version](https://badge.fury.io/py/birdsong-recognition-dataset.svg)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n# birdsong-recognition-dataset\nPython utility for working with data from the following repository:  \nKoumura, T. (2016). BirdsongRecognition (Version 1). figshare.  \n<https://doi.org/10.6084/m9.figshare.3470165.v1>  \n<https://figshare.com/articles/BirdsongRecognition/3470165>\n\nThe repository contains .wav files of Bengalese finch song from ten birds\nand annotation for the songs in .xml files.\n\nThis repository provides a great resource, and was used to benchmark\na sliding window-based neural network for segmenting and labeling\nthe elements of birdsong, as described in the following paper:  \nKoumura, Takuya, and Kazuo Okanoya.  \n\"Automatic recognition of element classes and boundaries in the birdsong\nwith variable sequences.\"  \nPloS one 11.7 (2016): e0159188.  \n<https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0159188>  \n\nThe code for the network can be found here:  \n<https://github.com/cycentum/birdsong-recognition>\n\nThe original code was released under the GNU license:  \n<https://github.com/cycentum/birdsong-recognition/blob/master/LICENSE>\n\nThe `birdsongrec` module is used with the [`crowsetta`](https://github.com/NickleDave/crowsetta)\n package to make the repository a dataset available in the\n[`hybrid-vocal-classifier`](https://hybrid-vocal-classifier.readthedocs.io/en/latest/)\nand [`vak`](https://github.com/NickleDave/vak) libraries.\n\n### Installation\n#### with `pip`\n\n```console\n$ pip install birdsong-recognition-dataset\n```\n\n#### with `conda`\n\n```console\n$ conda install birdsong-recognition-dataset -c conda-forge\n```\n\n### Usage\n\nThe main thing that `birdsongrec` gives you is easy access to the\nannotation, without having to deal with the .xml file format.\n\nThis format is schematized in [this XML schema file](./doc/xsd/AnnotationSchema.xsd),\nadapted [from the original](https://github.com/cycentum/birdsong-recognition/blob/master/xsd/AnnotationSchema.xsd) \nunder the [GNU license](https://github.com/cycentum/birdsong-recognition/blob/master/LICENSE)\n(file is unchanged except for formatting for readability).\n\nTo access the annotation in the `Annotation.xml` files for each bird,\nuse the `parse_xml` function.\n```Python\n>>> from birdsongrec import parse_xml\n>>> seq_list = parse_xml(xml_file='./Bird0/Annotation.xml', concat_seqs_into_songs=False)\n>>> seq_list[0]\nSequence from 0.wav with position 32000 and length 43168\n>>> seq_list[0].syls[:3]\n[Syllable labeled 0 at position 2240 with length 2688, Syllable labeled 0 at position 8256 with length 2784, Syllable labeled 0 at position 14944 with length 2816]  \n```\n\nNotice that this package preserves the abstraction of the original code,\nwhere syllables and sequences of syllables are represented as objects.\nThis can be helpful if you are trying to replicate functionality from\nthat code.  \n**Importantly, each song is broken up into a number of \"sequences\".**\nYou can set the flag `concat_seqs_into_songs` to `True` if you want\n`parse_xml` to concatenate sequences by song (.wav file), so that each\nSequence is actually all the sequences from one song.  \nIf you are using the annotation to work with the dataset for\nsome other purpose, you may find it more convenient to work with some\nother format. For that, please check out the\n[`crowsetta`](https://github.com/NickleDave/crowsetta)\ntool, that helps with building datasets of annotated vocalizations\nin a way that's annotation-format agnostic.\n\nThe `birdsongrec` package also provides a convenience function to load the annotation\nfor an individual song, `load_song_annot`. This is basically a wrapper\naround `parse_xml` that filters out the songs you don't want.\n```Python\n>>> from birdsongrec import load_song_annot\n>>> wav1 = load_song_annot(wav_file='1.wav')\n>>> print(wav1)                                                                                                  \nSequence from 1.wav with position 32000 and length 214176  \n```\n\n### Getting Help\nPlease feel free to raise an issue here:  \nhttps://github.com/NickleDave/birdsong-recognition-dataset/issues\n\n### License\n[BSD License](./LICENSE).\n\n### Citation\nIf you use this package, please cite the DOI:  \n[![DOI](https://zenodo.org/badge/159952839.svg)](https://zenodo.org/badge/latestdoi/159952839)\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Functions for working with this data repository: https://figshare.com/articles/BirdsongRecognition/3470165",
    "version": "0.3.2",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "0ae1f1f09dd73605d50856821921ad17",
                "sha256": "acd3b40fe4121676fd1cfa07b189050744379b4790828b1db8ac804004492c1c"
            },
            "downloads": -1,
            "filename": "birdsong_recognition_dataset-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0ae1f1f09dd73605d50856821921ad17",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 10619,
            "upload_time": "2022-05-14T18:04:01",
            "upload_time_iso_8601": "2022-05-14T18:04:01.279142Z",
            "url": "https://files.pythonhosted.org/packages/04/db/6b6bedd25c08e8ea70aa085426b05dd53056688c7acd51b05f13db22b163/birdsong_recognition_dataset-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "43fec9917d92bf5c72e2a96b460602b9",
                "sha256": "850fd0f9b1fdbcb80e430af1e96cad065028e6657d6b6d440a7b20b6ae495da6"
            },
            "downloads": -1,
            "filename": "birdsong-recognition-dataset-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "43fec9917d92bf5c72e2a96b460602b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 18499,
            "upload_time": "2022-05-14T18:04:02",
            "upload_time_iso_8601": "2022-05-14T18:04:02.708402Z",
            "url": "https://files.pythonhosted.org/packages/b2/f5/305d4671d634466940c21bca8cac505e102b38390311c937a6d5b6809741/birdsong-recognition-dataset-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-05-14 18:04:02",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "birdsong-recognition-dataset"
}
        
Elapsed time: 0.35186s