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.
import audiomate
from audiomate.corpus import io
# Download a dataset
esc_downloader = io.ESC50Downloader()
esc_downloader.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.read_samples()
label_list = utterance.label_lists[audiomate.corpus.LL_SOUND_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:
Installation
pip install audiomate
Install the latest development version:
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.
# 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/test_merge_corpus.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/*
Metadata
Release files for audiomate 6.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| audiomate-6.0.0.tar.gz | 180.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| audiomate-6.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 440.0 kB
Release files / audiomate-6.0.0.tar.gz
| Download URL | audiomate-6.0.0.tar.gz |
|---|---|
| Size | 180.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
784eb4e47d5b7e6ade7100adcd06869ef76cbf3843e4a34af733fcb0ad716cff
|
|
BLAKE2b-256 checksum How to use checksums |
f34ddce6aad619455d72e955e850e86888b6fd62fb34984f6be018185d0489e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.7
|
Release files / audiomate-6.0.0-py3-none-any.whl
| Download URL | audiomate-6.0.0-py3-none-any.whl |
|---|---|
| Size | 259.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9745c614367cdf83963cc3bd4c66357a32aeae2846edf93f3dcd22e31151cfdf
|
|
BLAKE2b-256 checksum How to use checksums |
aeb8fd577991d11d6321c819bbebc9c87425203b5b28438e2609f8d8a40a62c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.7
|
Security for audiomate 6.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.