Skip to main content

PyTorch-based audio source separation toolkit

Project description

The PyTorch-based audio source separation toolkit for researchers.

PyPI Status Build Status codecov Code style: black Documentation Status Latest Docs Status

PRs Welcome Python Versions PyPI Status Slack


Asteroid is a Pytorch-based audio source separation toolkit that enables fast experimentation on common datasets. It comes with a source code that supports a large range of datasets and architectures, and a set of recipes to reproduce some important papers.

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! Asteroid is intended to be a community-based project so hop on and help us!

Contents

Installation

(↑up to contents) To install Asteroid, clone the repo and install it using conda, pip or python :

# First clone and enter the repo
git clone https://github.com/asteroid-team/asteroid
cd asteroid
  • With pip
# Install with pip in editable mode
pip install -e .
# Or, install with python in dev mode
# python setup.py develop
  • With conda (if you don't already have conda, see here.)
conda env create -f environment.yml
conda activate asteroid
  • Asteroid is also on PyPI, you can install the latest release with
pip install asteroid

Tutorials

(↑up to contents) Here is a list of notebooks showing example usage of Asteroid's features.

Running a recipe

(↑up to contents) 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

(↑up to contents)

Supported datasets

(↑up to contents)

Pretrained models

(↑up to contents) See here

Contributing

(↑up to contents) 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

(↑up to contents)

  • 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!

Citing Asteroid

(↑up to contents) If you loved using Asteroid and you want to cite us, use this :

@inproceedings{Pariente2020Asteroid,
    title={Asteroid: the {PyTorch}-based audio source separation toolkit for researchers},
    author={Manuel Pariente and Samuele Cornell and Joris Cosentino and Sunit Sivasankaran and
            Efthymios Tzinis and Jens Heitkaemper and Michel Olvera and Fabian-Robert Stöter and
            Mathieu Hu and Juan M. Martín-Doñas and David Ditter and Ariel Frank and Antoine Deleforge
            and Emmanuel Vincent},
    year={2020},
    booktitle={Proc. Interspeech},
}

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.7.0.tar.gz (124.6 kB view details)

Uploaded Source

Built Distribution

asteroid-0.7.0-py3-none-any.whl (156.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asteroid-0.7.0.tar.gz
  • Upload date:
  • Size: 124.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for asteroid-0.7.0.tar.gz
Algorithm Hash digest
SHA256 0326f28c5342495cb08ba0520efd0e21e39435dfd78854837fdd5a6c9c9ca410
MD5 6e5367509fa1e2e29b60abcc62da40ce
BLAKE2b-256 022a29e4266e48d244f39471896892cde58801c6469ce2075143026ab371bdb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asteroid-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 156.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for asteroid-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea97a24901d9d9851b4a594171bd7c6dd900fee2c132b9ce045aa09926d489c7
MD5 cb54f07919f6d13eed944d7c29e1611f
BLAKE2b-256 88d238076c2afc81500b5c2f43c06d3976bdcedb0bcaa84d736faf3ffef19d4f

See more details on using hashes here.

Supported by

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