Package: asteroid
The PyTorch-based audio source separation toolkit for researchers.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 tojoin the slackand ask questions / suggest new features there as well!
Asteroid is intended to be acommunity-based projectso hop on and help us!ContentsContentsInstallationTutorialsRunning a recipeAvailable recipesSupported datasetsPretrained modelsContributingTensorBoard visualizationGuiding principlesCiting AsteroidInstallation(↑up to contents)
To install Asteroid, clone the repo and install it using
conda, pip or python :# First clone and enter the repogitclonehttps://github.com/asteroid-team/asteroidcdasteroidWithpip# Install with pip in editable modepipinstall-e.# Or, install with python in dev mode# python setup.py developWith conda (if you don't already have conda, seehere.)condaenvcreate-fenvironment.yml
condaactivateasteroidAsteroid is also on PyPI, you can install the latest release withpipinstallasteroidTutorials(↑up to contents)
Here is a list of notebooks showing example usage of Asteroid's features.Getting started with AsteroidIntroduction and OverviewFilterbank APIPermutation invariant training wrapperPITLossWrapperProcess large wav filesRunning a recipe(↑up to contents)
Running the recipes requires additional packages in most cases,
we recommend running :# from asteroid/pipinstall-rrequirements.txtThen choose the recipe you want to run and run it!cdegs/wham/ConvTasNet
../run.shMore information inegs/README.md.Available recipes(↑up to contents)ConvTasnet(Luo et al.)Tasnet(Luo et al.)Deep clustering(Hershey et al.andIsik et al.)Chimera ++(Luo et al.andWang et al.)DualPathRNN(Luo et al.)Two step learning(Tzinis et al.)SudoRMRFNet(Tzinis et al.)DPTNet(Chen et al.)DCCRNet(Hu et al.)DCUNet(Choi et al.)CrossNet-Open-Unmix(Sawata et al.)Multi-Decoder DPRNN(Zhu et al.)Open-Unmix (coming) (Stöter et al.)Wavesplit (coming) (Zeghidour et al.)Supported datasets(↑up to contents)WSJ0-2mix/ WSJ03mix (Hershey et al.)WHAM(Wichern et al.)WHAMR(Maciejewski et al.)LibriMix(Cosentino et al.)Microsoft DNS Challenge(Chandan et al.)SMS_WSJ(Drude et al.)MUSDB18(Raffi et al.)FUSS(Wisdom et al.)AVSpeech(Ephrat et al.)Kinect-WSJ(Sivasankaran et al.)Pretrained models(↑up to contents)
SeehereContributing(↑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!Wavesplit (Zeghidour and Grangier)FurcaNeXt (Shi et al.)DeepCASA (Liu and Want)VCTK Test sets fromKadioglu et al.Interrupted and cascaded PIT (Yang et al.)Consistency contraints (Wisdom et al.)Backpropagable STOI and PESQ.Parametrized filterbanks fromTukuljac et al.End-to-End MISI (Wang et al.)Don't forget to read ourcontributing guidelines.You can also open an issue or make a PR to add something we missed in this list.TensorBoard visualizationThe 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--logdirexp/--porttf_portIf your launching tensorboard remotely, you should open an ssh tunnel# Open port-forwarding connection. Add -Nf option not to open remote.ssh-Llocal_port:localhost:tf_portuser@ipThen openhttp://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 andEfthymios Tzinis and Jens Heitkaemper and Michel Olvera and Fabian-Robert Stöter andMathieu Hu and Juan M. Martín-Doñas and David Ditter and Ariel Frank and Antoine Deleforgeand Emmanuel Vincent},year={2020},booktitle={Proc. Interspeech},}