{"id":13861499,"url":"https://github.com/asteroid-team/asteroid","last_synced_at":"2025-05-12T20:48:54.988Z","repository":{"id":38313430,"uuid":"215969476","full_name":"asteroid-team/asteroid","owner":"asteroid-team","description":"The PyTorch-based audio source separation toolkit for researchers","archived":false,"fork":false,"pushed_at":"2025-01-11T16:03:31.000Z","size":6168,"stargazers_count":2362,"open_issues_count":51,"forks_count":431,"subscribers_count":51,"default_branch":"master","last_synced_at":"2025-04-23T17:50:37.376Z","etag":null,"topics":["audio-separation","deep-learning","pretrained-models","pytorch","source-separation","speech-enhancement","speech-separation"],"latest_commit_sha":null,"homepage":"https://asteroid-team.github.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asteroid-team.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-18T07:48:15.000Z","updated_at":"2025-04-23T07:59:18.000Z","dependencies_parsed_at":"2024-10-14T08:42:20.827Z","dependency_job_id":"896575c7-5cdc-4391-b920-321420b97da9","html_url":"https://github.com/asteroid-team/asteroid","commit_stats":{"total_commits":864,"total_committers":53,"mean_commits":16.30188679245283,"dds":"0.21643518518518523","last_synced_commit":"bd3caa3963cf2f8756da17801958073001aaa0f2"},"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asteroid-team%2Fasteroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asteroid-team%2Fasteroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asteroid-team%2Fasteroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asteroid-team%2Fasteroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asteroid-team","download_url":"https://codeload.github.com/asteroid-team/asteroid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253820068,"owners_count":21969471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-separation","deep-learning","pretrained-models","pytorch","source-separation","speech-enhancement","speech-separation"],"created_at":"2024-08-05T06:01:23.828Z","updated_at":"2025-05-12T20:48:54.957Z","avatar_url":"https://github.com/asteroid-team.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"docs/source/_static/images/asteroid_logo_dark.png\" width=\"50%\"\u003e\n\n**The PyTorch-based audio source separation toolkit for researchers.**\n\n[![PyPI Status](https://badge.fury.io/py/asteroid.svg)](https://badge.fury.io/py/asteroid)\n[![Build Status](https://github.com/asteroid-team/asteroid/workflows/CI/badge.svg)](https://github.com/asteroid-team/asteroid/actions?query=workflow%3ACI+branch%3Amaster+event%3Apush)\n[![codecov][codecov-badge]][codecov]\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Documentation Status](https://img.shields.io/badge/docs-0.7.0-blue)](https://asteroid.readthedocs.io/en/v0.7.0/)\n[![Latest Docs Status](https://github.com/asteroid-team/asteroid/workflows/Latest%20docs/badge.svg)](https://asteroid-team.github.io/asteroid/)\n\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/asteroid-team/asteroid/pulls)\n[![Python Versions](https://img.shields.io/pypi/pyversions/asteroid.svg)](https://pypi.org/project/asteroid/)\n[![PyPI Status](https://pepy.tech/badge/asteroid)](https://pepy.tech/project/asteroid)\n[![Slack][slack-badge]][slack-invite]\n\n\u003c/div\u003e\n\n--------------------------------------------------------------------------------\n\n\nAsteroid is a Pytorch-based audio source separation toolkit\nthat enables fast experimentation on common datasets.\nIt comes with a source code that supports a large range\nof datasets and architectures, and a set of\n recipes to reproduce some important papers.\n\n\n### You use Asteroid or you want to?\nPlease, if you have found a bug, [open an issue][issue],\nif you solved it, [open a pull request][pr]!\nSame goes for new features, tell us what you want or help us building it!\nDon't hesitate to [join the slack][slack-invite]\nand ask questions / suggest new features there as well!\nAsteroid is intended to be a __community-based project__\nso hop on and help us!\n## Contents\n- [Contents](#contents)\n- [Installation](#installation)\n- [Tutorials](#tutorials)\n- [Running a recipe](#running-a-recipe)\n- [Available recipes](#available-recipes)\n- [Supported datasets](#supported-datasets)\n- [Pretrained models](#pretrained-models)\n- [Contributing](#contributing)\n- [TensorBoard visualization](#tensorboard-visualization)\n- [Guiding principles](#guiding-principles)\n- [Citing Asteroid](#citing-asteroid)\n\n## Installation\n([↑up to contents](#contents))\nTo install Asteroid, clone the repo and install it using\nconda, pip or python :\n```bash\n# First clone and enter the repo\ngit clone https://github.com/asteroid-team/asteroid\ncd asteroid\n```\n\n- With `pip`\n```bash\n# Install with pip in editable mode\npip install -e .\n# Or, install with python in dev mode\n# python setup.py develop\n```\n- With conda (if you don't already have conda, see [here][miniconda].)\n```bash\nconda env create -f environment.yml\nconda activate asteroid\n```\n\n- Asteroid is also on PyPI, you can install the latest release with\n```bash\npip install asteroid\n```\n\n## Tutorials\n([↑up to contents](#contents))\nHere is a list of notebooks showing example usage of Asteroid's features.\n- [Getting started with Asteroid](./notebooks/00_GettingStarted.ipynb)\n- [Introduction and Overview](./notebooks/01_APIOverview.ipynb)\n- [Filterbank API](./notebooks/02_Filterbank.ipynb)\n- [Permutation invariant training wrapper `PITLossWrapper`](./notebooks/03_PITLossWrapper.ipynb)\n- [Process large wav files](./notebooks/04_ProcessLargeAudioFiles.ipynb)\n\n\n## Running a recipe\n([↑up to contents](#contents))\nRunning the recipes requires additional packages in most cases,\nwe recommend running :\n```bash\n# from asteroid/\npip install -r requirements.txt\n```\nThen choose the recipe you want to run and run it!\n```bash\ncd egs/wham/ConvTasNet\n. ./run.sh\n```\nMore information in [egs/README.md](./egs).\n\n## Available recipes\n([↑up to contents](#contents))\n* [x] [ConvTasnet](./egs/wham/ConvTasNet) ([Luo et al.](https://arxiv.org/abs/1809.07454))\n* [x] [Tasnet](./egs/whamr/TasNet) ([Luo et al.](https://arxiv.org/abs/1711.00541))\n* [x] [Deep clustering](./egs/wsj0-mix/DeepClustering) ([Hershey et al.](https://arxiv.org/abs/1508.04306) and [Isik et al.](https://arxiv.org/abs/1607.02173))\n* [x] [Chimera ++](./egs/wsj0-mix/DeepClustering) ([Luo et al.](https://arxiv.org/abs/1611.06265) and [Wang et al.](https://ieeexplore.ieee.org/document/8462507))\n* [x] [DualPathRNN](./egs/wham/DPRNN) ([Luo et al.](https://arxiv.org/abs/1910.06379))\n* [x] [Two step learning](./egs/wham/TwoStep)([Tzinis et al.](https://arxiv.org/abs/1910.09804))\n* [x] [SudoRMRFNet](./asteroid/models/sudormrf.py) ([Tzinis et al.](https://arxiv.org/abs/2007.06833))\n* [x] [DPTNet](./asteroid/models/dptnet.py) ([Chen et al.](https://arxiv.org/abs/2007.13975))\n* [x] [DCCRNet](./asteroid/models/dccrnet.py) ([Hu et al.](https://arxiv.org/abs/2008.00264))\n* [x] [DCUNet](./asteroid/models/dcunet.py) ([Choi et al.](https://arxiv.org/abs/1903.03107))\n* [x] [CrossNet-Open-Unmix](./asteroid/models/x_umx.py) ([Sawata et al.](https://arxiv.org/abs/2010.04228))\n* [x] [Multi-Decoder DPRNN](./egs/wsj0-mix-var/Multi-Decoder-DPRNN) ([Zhu et al.](http://www.isle.illinois.edu/speech_web_lg/pubs/2021/zhu2021multi.pdf))\n* [ ] Open-Unmix (coming) ([Stöter et al.](https://sigsep.github.io/open-unmix/))\n* [ ] Wavesplit (coming) ([Zeghidour et al.](https://arxiv.org/abs/2002.08933))\n\n## Supported datasets\n([↑up to contents](#contents))\n* [x] [WSJ0-2mix](./egs/wsj0-mix) / WSJ03mix ([Hershey et al.](https://arxiv.org/abs/1508.04306))\n* [x] [WHAM](./egs/wham) ([Wichern et al.](https://arxiv.org/abs/1907.01160))\n* [x] [WHAMR](./egs/whamr) ([Maciejewski et al.](https://arxiv.org/abs/1910.10279))\n* [x] [LibriMix](./egs/librimix) ([Cosentino et al.](https://arxiv.org/abs/2005.11262))\n* [x] [Microsoft DNS Challenge](./egs/dns_challenge) ([Chandan et al.](https://arxiv.org/abs/2001.08662))\n* [x] [SMS_WSJ](./egs/sms_wsj) ([Drude et al.](https://arxiv.org/abs/1910.13934))\n* [x] [MUSDB18](./asteroid/data/musdb18_dataset.py) ([Raffi et al.](https://hal.inria.fr/hal-02190845))\n* [x] [FUSS](./asteroid/data/fuss_dataset.py) ([Wisdom et al.](https://zenodo.org/record/3694384#.XmUAM-lw3g4))\n* [x] [AVSpeech](./asteroid/data/avspeech_dataset.py) ([Ephrat et al.](https://arxiv.org/abs/1804.03619))\n* [x] [Kinect-WSJ](./asteroid/data/kinect_wsj.py) ([Sivasankaran et al.](https://github.com/sunits/Reverberated_WSJ_2MIX))\n\n## Pretrained models\n([↑up to contents](#contents))\nSee [here](./docs/source/readmes/pretrained_models.md)\n\n## Contributing\n([↑up to contents](#contents))\nWe are always looking to expand our coverage of the source separation\nand speech enhancement research, the following is a list of\nthings we're missing.\nYou want to contribute? This is a great place to start!\n* Wavesplit ([Zeghidour and Grangier](https://arxiv.org/abs/2002.08933))\n* FurcaNeXt ([Shi et al.](https://arxiv.org/abs/1902.04891))\n* DeepCASA ([Liu and Want](https://arxiv.org/abs/1904.11148))\n* VCTK Test sets from [Kadioglu et al.](https://arxiv.org/pdf/2002.08688.pdf)\n* Interrupted and cascaded PIT ([Yang et al.](https://arxiv.org/abs/1910.12706))\n* ~Consistency contraints ([Wisdom et al.](https://ieeexplore.ieee.org/abstract/document/8682783))~\n* ~Backpropagable STOI and PESQ.~\n* Parametrized filterbanks from [Tukuljac et al.](https://openreview.net/forum?id=HyewT1BKvr)\n* ~End-to-End MISI ([Wang et al.](https://arxiv.org/abs/1804.10204))~\n\n\nDon't forget to read our [contributing guidelines](./CONTRIBUTING.md).\n\nYou can also open an issue or make a PR to add something we missed in this list.\n\n## TensorBoard visualization\nThe default logger is TensorBoard in all the recipes. From the recipe folder,\nyou can run the following to visualize the logs of all your runs. You can\nalso compare different systems on the same dataset by running a similar command\nfrom the dataset directiories.\n```bash\n# Launch tensorboard (default port is 6006)\ntensorboard --logdir exp/ --port tf_port\n```\nIf your launching tensorboard remotely, you should open an ssh tunnel\n```bash\n# Open port-forwarding connection. Add -Nf option not to open remote.\nssh -L local_port:localhost:tf_port user@ip\n```\nThen open `http://localhost:local_port/`. If both ports are the same, you can\nclick on the tensorboard URL given on the remote, it's just more practical.\n\n\n## Guiding principles\n([↑up to contents](#contents))\n* __Modularity.__ Building blocks are thought and designed to be seamlessly\nplugged together. Filterbanks, encoders, maskers, decoders and losses are\nall common building blocks that can be combined in a\nflexible way to create new systems.\n* __Extensibility.__ Extending Asteroid with new features is simple.\nAdd a new filterbank, separator architecture, dataset or even recipe very\neasily.\n* __Reproducibility.__ Recipes provide an easy way to reproduce\nresults with data preparation, system design, training and evaluation in a\nsingle script. This is an essential tool for the community!\n\n## Citing Asteroid\n([↑up to contents](#contents))\nIf you loved using Asteroid and you want to cite us, use this :\n```BibTex\n@inproceedings{Pariente2020Asteroid,\n    title={Asteroid: the {PyTorch}-based audio source separation toolkit for researchers},\n    author={Manuel Pariente and Samuele Cornell and Joris Cosentino and Sunit Sivasankaran and\n            Efthymios Tzinis and Jens Heitkaemper and Michel Olvera and Fabian-Robert Stöter and\n            Mathieu Hu and Juan M. Martín-Doñas and David Ditter and Ariel Frank and Antoine Deleforge\n            and Emmanuel Vincent},\n    year={2020},\n    booktitle={Proc. Interspeech},\n}\n```\n\n[comment]: \u003c\u003e (Badge)\n[miniconda]: https://conda.io/miniconda.html\n[codecov-badge]: https://codecov.io/gh/asteroid-team/asteroid/branch/master/graph/badge.svg\n[codecov]: https://codecov.io/gh/asteroid-team/asteroid\n[slack-badge]: https://img.shields.io/badge/slack-chat-green.svg?logo=slack\n[slack-invite]: https://join.slack.com/t/asteroid-dev/shared_invite/zt-cn9y85t3-QNHXKD1Et7qoyzu1Ji5bcA\n\n[comment]: \u003c\u003e (Others)\n[issue]: https://github.com/asteroid-team/asteroid/issues/new\n[pr]: https://github.com/asteroid-team/asteroid/compare\n","funding_links":[],"categories":["Python","语音识别与合成_其他","Source Separation"],"sub_categories":["网络服务_其他","Text-to-Speech"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasteroid-team%2Fasteroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasteroid-team%2Fasteroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasteroid-team%2Fasteroid/lists"}