All Projects → ynop → Audiomate

ynop / Audiomate

Licence: mit
Python library for handling audio datasets.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Audiomate

Sound Source Localization Algorithm doa estimation
关于语音信号声源定位DOA估计所用的一些传统算法
Stars: ✭ 58 (-41.41%)
Mutual labels:  speech, audio, music
Inaspeechsegmenter
CNN-based audio segmentation toolkit. Allows to detect speech, music and speaker gender. Has been designed for large scale gender equality studies based on speech time per gender.
Stars: ✭ 352 (+255.56%)
Mutual labels:  noise, speech, music
Av Converter
[av-converter.com] Audio and Video Converter, and YouTube downloader. Convert to MP3, MP4, AAC, FLAC, AC3, WAV, etc.
Stars: ✭ 97 (-2.02%)
Mutual labels:  audio, music
Vk Audio Token
Library that obtains VK tokens that work for VK audio API. Библиотека для получения токена VK, подходящего для Audio API.
Stars: ✭ 81 (-18.18%)
Mutual labels:  audio, music
Julius
Open-Source Large Vocabulary Continuous Speech Recognition Engine
Stars: ✭ 1,258 (+1170.71%)
Mutual labels:  speech-recognition, speech
Winyl
Winyl's main repository.
Stars: ✭ 97 (-2.02%)
Mutual labels:  audio, music
Deepspeech
A PaddlePaddle implementation of ASR.
Stars: ✭ 1,219 (+1131.31%)
Mutual labels:  speech-recognition, speech
Audiokitsynthone
AudioKit Synth One: Open-Source iOS Synthesizer App
Stars: ✭ 1,258 (+1170.71%)
Mutual labels:  audio, music
Openasr
A pytorch based end2end speech recognition system.
Stars: ✭ 69 (-30.3%)
Mutual labels:  speech-recognition, speech
Beet.js
Polyrhythmic Sequencer library for Web Audio API.
Stars: ✭ 87 (-12.12%)
Mutual labels:  audio, music
Arduino Music Player
MOD/S3M/XM/IT Music Player for Arduino
Stars: ✭ 85 (-14.14%)
Mutual labels:  audio, music
Mpd
Music Player Daemon
Stars: ✭ 1,289 (+1202.02%)
Mutual labels:  audio, music
Ltkdifmu Userscript
No more Audio and Visual ads. Allows AFK, Allows AdBlock, on all radios from AudioAddict including www.di.fm and more.
Stars: ✭ 74 (-25.25%)
Mutual labels:  audio, music
Deprecated Lame Mirror
[DEPRECATED] Old, Semi-official mirror of the CVS repository of the LAME MP3 encoder.
Stars: ✭ 73 (-26.26%)
Mutual labels:  audio, music
Tuna
An audio effects library for the Web Audio API.
Stars: ✭ 1,345 (+1258.59%)
Mutual labels:  audio, music
Redoflacs
Parallel BASH commandline FLAC compressor, verifier, organizer, analyzer, and retagger
Stars: ✭ 71 (-28.28%)
Mutual labels:  audio, music
Minibae
The platform-neutral Beatnik Audio Engine, Mini Edition (miniBAE) is an exceptionally mature, well-rounded, and reliable computer music and sound system specially customized for small-footprint and embedded applications.
Stars: ✭ 82 (-17.17%)
Mutual labels:  audio, music
Beep.js
Beep is a JavaScript toolkit for building browser-based synthesizers.
Stars: ✭ 1,294 (+1207.07%)
Mutual labels:  audio, music
Fountain Of Colors
Music visualizer for Rainmeter
Stars: ✭ 65 (-34.34%)
Mutual labels:  audio, music
Audiokit
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS
Stars: ✭ 8,827 (+8816.16%)
Mutual labels:  audio, music

AUDIOMATE

PyPI Build Status Documentation Status DeepSource DOI

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:

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/*
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].