audiomate
audiomate: A Python package for working with audio datasets - Published in JOSS (2020)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: arxiv.org, joss.theoj.org -
✓Committers with academic emails
2 of 12 committers (16.7%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
Python library for handling audio datasets.
Basic Info
- Host: GitHub
- Owner: ynop
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://audiomate.readthedocs.io/
- Size: 9.07 MB
Statistics
- Stars: 138
- Watchers: 12
- Forks: 28
- Open Issues: 31
- Releases: 1
Topics
Metadata Files
README.md
AUDIOMATE
Audiomate is a library for easy access to audio datasets. It provides the datastructures for accessing/loading different datasets in a generic way. This should ease the use of audio datasets for example for machine learning tasks.
```python import audiomate from audiomate.corpus import io
Download a dataset
escdownloader = io.ESC50Downloader() escdownloader.download('/local/path')
Load and work with the dataset
esc50 = audiomate.Corpus.load('/local/path', reader='esc-50')
e.g. Read the audio signal and the label of specific sample/utterance
utterance = esc50.utterances['1-100032-A-0'] samples = utterance.readsamples() labellist = utterance.labellists[audiomate.corpus.LLSOUND_CLASS]
for label in label_list: print(label.start, label.value) ```
Furthermore it provides tools for interacting with datasets (validation, splitting, subsets, merge, filter), extracting features, feeding samples for training ML models and more.
Currently supported datasets: * Acoustic Event Dataset * AudioMNIST * Mozilla Common Voice * ESC-50 * Fluent Speech Commands * Free Spoken Digit Dataset * German Distant Speech Corpus * Google Speech Commands * GTZAN * LibriSpeech * M-AILABS Speech Dataset * MUSAN * LITIS Rouen Audio scene dataset * Spoken Wikipedia Corpora * Tatoeba * TIMIT * Urbansound8k * Voxforge
Currently supported formats: * Kaldi * Mozilla DeepSpeech * Wav2Letter * NVIDIA Jasper * Custom Formats
Installation
sh
pip install audiomate
Install the latest development version:
sh
pip install git+https://github.com/ynop/audiomate.git
Dependencies
sox
For parts of the functionality (e.g. audio format conversion) sox is used. In order to use it, you have to install sox.
```sh
macos
brew install sox
with support for specific formats
brew install sox --with-lame --with-flac --with-libvorbis
linux
apt-get install sox
anaconda for macOS/windows/linux:
conda install -c conda-forge sox ```
Development
Prerequisites
It's recommended to use a virtual environment when developing audiomate. To create one, execute the following command in the project's root directory:
python -m venv .
To install audiomate and all it's dependencies, execute:
pip install -e .
Running the test suite
pip install -e .[dev]
pytest
With PyCharm you might have to change the default test runner. Otherwise, it might only suggest to use nose. To do so, go to File > Settings > Tools > Python Integrated Tools (on the Mac it's PyCharm > Preferences > Settings > Tools > Python Integrated Tools) and change the test runner to py.test.
Benchmarks
In order to check the runtime of specific parts, pytest-benchmark is used. Benchmarks are normal test functions, but call the benchmark fixture for the code under test.
To run benchmarks:
```
Run all
pytest bench
Specific benchmark
pytest bench/corpus/testmergecorpus.py ```
To compare between different runs:
pytest-benchmark compare
Editing the Documentation
The documentation is written in reStructuredText and transformed into various output formats with the help of Sphinx.
To generate the documentation, execute:
pip install -e .[dev]
cd docs
make html
The generated files are written to docs/_build/html.
Versions
Versions is handled using bump2version. To bump the version:
bump2version [major,minor,patch,release,num]
In order to directly go to a final relase version (skip .dev/.rc/...):
bump2version [major,minor,patch] --new-version x.x.x
Release
Commands to create a new release on pypi.
``` rm -rf build rm -rf dist
python setup.py sdist python setup.py bdist_wheel twine upload dist/* ```
Owner
- Name: Matthias
- Login: ynop
- Kind: user
- Location: Switzerland
- Repositories: 8
- Profile: https://github.com/ynop
JOSS Publication
audiomate: A Python package for working with audio datasets
Authors
ZHAW Zurich University of Applied Sciences, Winterthur, Switzerland
Tags
audio speech music corpus datasetGitHub Events
Total
- Watch event: 6
- Fork event: 2
Last Year
- Watch event: 6
- Fork event: 2
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| buec | m****i@o****m | 418 |
| Andreas Ahlenstorf | a****s@a****h | 46 |
| Daniel | d****l@m****e | 8 |
| DanBmh | D****h | 4 |
| Vojtěch Drábek | v****k@g****m | 2 |
| Todd | t****8@g****m | 2 |
| Chetan Kini | c****3@g****m | 2 |
| zaniyar | z****y@g****m | 1 |
| Fabian-Robert Stöter | f****t | 1 |
| Daniel S. Katz | d****z@i****g | 1 |
| Fabian-Robert Stöter | f****r@i****r | 1 |
| Armin | a****n@k****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 67
- Total pull requests: 36
- Average time to close issues: about 2 months
- Average time to close pull requests: 14 days
- Total issue authors: 15
- Total pull request authors: 15
- Average comments per issue: 1.37
- Average comments per pull request: 1.42
- Merged pull requests: 25
- Bot issues: 0
- Bot pull requests: 3
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
- ynop (38)
- aahlenst (6)
- faroit (4)
- toddrme2178 (4)
- mulhod (3)
- Abhipray (2)
- Tortoise17 (2)
- JoshuaStorm (1)
- davidavdav (1)
- emzee831 (1)
- DanBmh (1)
- fbenites (1)
- olafthiele (1)
- AASHISHAG (1)
- julianmorenomotta (1)
Pull Request Authors
- aahlenst (7)
- ynop (6)
- DanBmh (6)
- dependabot[bot] (3)
- cdkini (2)
- Mastercuber (2)
- kaoh (2)
- SuperKogito (1)
- CostanzoPablo (1)
- comodoro (1)
- toddrme2178 (1)
- abdallah1989203 (1)
- TrellixVulnTeam (1)
- faroit (1)
- danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 170 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 3
(may contain duplicates) - Total versions: 20
- Total maintainers: 1
proxy.golang.org: github.com/ynop/audiomate
- Documentation: https://pkg.go.dev/github.com/ynop/audiomate#section-documentation
- License: mit
-
Latest release: v6.0.0+incompatible
published over 5 years ago
Rankings
pypi.org: audiomate
Audiomate is a library for working with audio datasets.
- Homepage: https://github.com/ynop/audiomate
- Documentation: https://audiomate.readthedocs.io/
- License: MIT
-
Latest release: 6.0.0
published over 5 years ago
