evfuncs
Functions for working with files created by the EvTAF program and the evsonganaly GUI
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: nature.com, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.8%) to scientific vocabulary
Repository
Functions for working with files created by the EvTAF program and the evsonganaly GUI
Basic Info
- Host: GitHub
- Owner: NickleDave
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Homepage: https://github.com/NickleDave/evfuncs
- Size: 52.5 MB
Statistics
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 5
- Releases: 14
Metadata Files
README.md
This project is no longer actively maintained,
although the code uses core, stable functions from Python, Numpy, and SciPy, so it is likely to work.
If you need to load cbin (audio) files from evsonganaly,
there are maintained, updated versions of the functions in this package
in the vocalpy library: https://vocalpy.readthedocs.io
If you need to load .not.mat (annotation) files from evsonganaly,
there are maintained, updated versions of that function in crowsetta: https://crowsetta.readthedocs.io
(Note that if you install vocalpy, you will already have crowsetta installed.)
evfuncs
Functions for working with files created by EvTAF and the evsonganaly GUI.
In case you need to work with those files in Python 😊😊😊 (see "Usage" below).
The first work published with data collected using EvTAF and evsonganaly is in this paper:
Tumer, Evren C., and Michael S. Brainard.
"Performance variability enables adaptive plasticity of ‘crystallized’adult birdsong."
Nature 450.7173 (2007): 1240.
https://www.nature.com/articles/nature06390
These functions are translations to Python of the original functions
written in MATLAB (copyright Mathworks) by Evren Tumer (shown below).
Installation
with pip
console
$ pip install evfuncs
with conda
console
$ conda install evfuncs -c conda-forge
Usage
The main purpose for developing these functions in Python was to work with files of Bengalese finch song in this data repository: https://figshare.com/articles/Bengalese_Finch_song_repository/4805749
Using evfuncs with that repository, you can load the .cbin audio files ...
```Python
import evfuncs
rawsong, sampfreq = evfuncs.loadcbin('gy6or6baseline230312_0808.138.cbin') ```
... and the annotation in the .not.mat files ...
```Python
notmatdict = evfuncs.loadnotmat('gy6or6baseline2303120808.138.cbin')
(or, using the `.not.mat` filename directly)Python notmatdict = evfuncs.loadnotmat('gy6or6baseline2303120808.138.not.mat') ```
...and you should be able to reproduce the segmentation of the raw audio files of birdsong into syllables and silent periods, using the segmenting parameters from a .not.mat file and the simple algorithm applied by the SegmentNotes.m function.
```Python
smooth = evfuncs.smoothdata(rawsong, sampfreq) threshold = notmatdict['threshold'] minsyldur = notmatdict['mindur'] / 1000 minsilentdur = notmatdict['minint'] / 1000 onsets, offsets = evfuncs.segmentsong(smooth, sampfreq, threshold, minsyldur, minsilentdur) import numpy as np np.allclose(onsets, notmatdict['onsets']) True ``
(*Note that this test would returnFalse` if the onsets and offsets in the .not.mat annotation file had been modified, e.g., a user of the evsonganaly GUI had edited them, after they were originally computed by the SegmentNotes.m function.*)
evfuncs is used to load annotations by
'crowsetta',
a data-munging tool for building datasets of vocalizations
that can be used to train machine learning models.
Two machine learning libraries that can use those datasets are:
hybrid-vocal-classifier,
and vak.
Getting Help
Please feel free to raise an issue here:
https://github.com/NickleDave/evfuncs/issues
License
Citation
Please cite this software as shown below. To get the most up-to-date, automatically-generated citation, please click "Cite this repository" on the upper right side of the page.
bibtex:
@software{Nicholson_evfuncs_2021,
author = {Nicholson, David},
doi = {10.5281/zenodo.4584209},
license = {BSD-3-Clause},
month = {3},
title = {{evfuncs}},
url = {https://github.com/NickleDave/evfuncs},
version = {0.3.2.post1},
year = {2021}
APA:
Nicholson, D. (2021). evfuncs (Version 0.3.2.post1) [Computer software]. https://doi.org/10.5281/zenodo.4584209
Build Status
Owner
- Name: David Nicholson
- Login: NickleDave
- Kind: user
- Location: Charm City
- Company: @vocalpy
- Website: https://nicholdav.info/
- Repositories: 15
- Profile: https://github.com/NickleDave
ML, AI; behavior + cog + neuro. Open + inclusive science. Pythonista. He/him (they's ok too). Habla espanglish y baila salsa y bachata a medio tiempo.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: evfuncs
message: >-
If you use evfuncs, please cite it with these
metadata
type: software
authors:
- given-names: David
email: nicholdav@gmail.com
family-names: Nicholson
orcid: 'https://orcid.org/0000-0002-4261-4719'
doi: 10.5281/zenodo.4584209
abstract: >-
Functions for working with files created by the
EvTAF program and the evsonganaly GUI
license: BSD-3-Clause
version: 0.3.5
commit: b1e6b942c19c3ab13f8aecbeab82a05ab47b2a83
date-released: '2022-05-14'
repository-code: 'https://github.com/NickleDave/evfuncs'
repository: 'https://pypi.org/project/evfuncs/'
identifiers:
- type: doi
value: 10.5281/zenodo.4584209
description: >-
This DOI represents all versions, and will
always resolve to the latest one.
GitHub Events
Total
Last Year
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| David Nicholson | n****e@u****m | 95 |
| NickleDave | n****v@g****m | 13 |
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 16
- Total pull requests: 5
- Average time to close issues: 9 days
- Average time to close pull requests: 7 minutes
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.5
- Average comments per pull request: 0.2
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- NickleDave (16)
Pull Request Authors
- NickleDave (5)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 831 last-month
-
Total dependent packages: 5
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 17
- Total maintainers: 1
pypi.org: evfuncs
Functions for working with files created by the EvTAF program and the evsonganaly GUI
- Documentation: https://evfuncs.readthedocs.io/
- License: BSD License
-
Latest release: 0.3.5
published almost 4 years ago
Rankings
Maintainers (1)
conda-forge.org: evfuncs
- Homepage: https://pypi.org/project/evfuncs/
- License: BSD-3-Clause
-
Latest release: 0.3.5
published almost 4 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- actions/setup-python v2 composite
- numpy >=1.18.1
- scipy >=1.2.0