Skip to main content

PyTorch-based audio source separation toolkit

Project description

Asteroid : Audio Source Separation on steroids

Build Status codecov

Slack

Asteroid is a Pytorch-based source separation and speech enhancement API that enables fast experimentation on common datasets. It comes with a source code written to support a large range of datasets, architectures, loss functions etc... and a set of recipes to reproduce some important papers.
Asteroid is intended to be a community-based project so hop on and help us !

You use asteroid or you want to?

Please, if you have found a bug, open an issue, if you solved it, open a pull request !
Same goes for new features, tell us what you want or help us building it !
Don't hesitate to join the slack and ask questions / suggest new features there as well !

Table of contents

Installation

In order to install Asteroid, clone the repo and install it using pip or python :

git clone https://github.com/mpariente/asteroid
cd asteroid
# Install with pip in editable mode
pip install -e .
# Or, install with python in dev mode
python setup.py develop

Asteroid is also on PyPI, you can install the latest release with pip install asteroid

Highlights

Here is a list of notebooks showing example usage of Asteroid's features.

Running a recipe

Running the recipes requires additional packages in most cases, we recommend running :

# from asteroid/
pip install -r requirements.txt

Then choose the recipe you want to run and run it !

cd egs/wham/ConvTasNet
. ./run.sh

More information in egs/README.md.

Available recipes

Supported datasets

Contributing

We are always looking to expand our coverage of the source separation and speech enhancement research, the following is a list of things we're missing. You want to contribute? This is a great place to start !

Don't forget to read our contributing guidelines.

You can also open an issue or make a PR to add something we missed in this list.

TensorBoard visualization

The default logger is TensorBoard in all the recipes. From the recipe folder, you can run the following to visualize the logs of all your runs. You can also compare different systems on the same dataset by running a similar command from the dataset directiories.

# Launch tensorboard (default port is 6006)
tensorboard --logdir exp/ --port tf_port

If your launching tensorboard remotely, you should open an ssh tunnel

# Open port-forwarding connection. Add -Nf option not to open remote. 
ssh -L local_port:localhost:tf_port user@ip

Then open http://localhost:local_port/. If both ports are the same, you can click on the tensorboard URL given on the remote, it's just more practical.

Guiding principles

  • Modularity. Building blocks are thought and designed to be seamlessly plugged together. Filterbanks, encoders, maskers, decoders and losses are all common building blocks that can be combined in a flexible way to create new systems.
  • Extensibility. Extending Asteroid with new features is simple. Add a new filterbank, separator architecture, dataset or even recipe very easily.
  • Reproducibility. Recipes provide an easy way to reproduce results with data preparation, system design, training and evaluation in a single script. This is an essential tool for the community !

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asteroid-0.1.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

asteroid-0.1.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file asteroid-0.1.1.tar.gz.

File metadata

  • Download URL: asteroid-0.1.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9

File hashes

Hashes for asteroid-0.1.1.tar.gz
Algorithm Hash digest
SHA256 28bd33e8c63aae67099c9856107257a12ad6bf3f93195359ae661c963dbc8678
MD5 05ffc0ad9d7c0441494aa1902396accc
BLAKE2b-256 fd25c8fc701ae4bb3ae96ef90044d7e6d3f62a285e1f0c826b47cd3de558b99e

See more details on using hashes here.

File details

Details for the file asteroid-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: asteroid-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9

File hashes

Hashes for asteroid-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 216023f8ddb9d3a77fdab94a5703fd3c4ebbb22d5ab0f5d7cd6a61cee96216e9
MD5 31eb5dee41dc129b93512aa6a4050307
BLAKE2b-256 ddee0e8a1c1419cf293dbeefe80514e28a28ddf6e4c366d8c337365cfa3964a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page