← Open Source
bytedance

music_source_separation

bytedance/music_source_separation on GitHub: Python, AI Engineering, Make agent see hear talk.

AI EngineeringMake agent see hear talkPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
1.39k
Stars
204
Forks
+3
This week
2
Contributors
Created 2021-05-19 · Updated 2026-10-13 · #10498 today
Top developers
qiuqiangkongcclauss

bytedance/music_source_separation is ranked 10,498 with 1,386 stars.

Same-category comparison

bytedance/music_source_separation is ranked 10,498 among these 8 peers; Prismer-AI/PrismerCloud is ranked 10,497.

Same-category comparison
NameRankMetrics
truongduy2611/app-store-preflight-skills10,494
Stars:
1,388
Forks:
70
Description:
AI agent skill to scan iOS/macOS projects for App Store rejection patterns before submission.
nlkitai/nlux10,495
Language:
TypeScript
Stars:
1,387
Forks:
85
prefect-archive/ControlFlow10,496
Language:
Python
Stars:
1,387
Forks:
111
Description:
🦾 Take control of your AI agents.
Prismer-AI/PrismerCloud10,497
Language:
TypeScript
Stars:
1,386
Forks:
16
Description:
Prismer Cloud.
kimsungwhee/apple-docs-mcp10,500
Language:
TypeScript
Stars:
1,385
Forks:
69
Description:
MCP server for Apple Developer Documentation - Search iOS/macOS/SwiftUI/UIKit docs, WWDC videos, Swift/Objective-C APIs & code examples in Claude, Cursor & AI assistants.
lorey/mlscraper10,501
Language:
Python
Stars:
1,385
Forks:
92
Description:
🤖 Scrape data from HTML websites automatically by just providing examples.
regenrek/deepwiki-mcp10,502
Language:
TypeScript
Stars:
1,385
Forks:
81
Description:
📖 MCP server for fetch deepwiki.com and get latest knowledge in Cursor and other Code Editors.
DrJonaC/Pensieve10,510
Language:
TypeScript
Stars:
1,383
Forks:
72
Description:
Observe how memory shapes an answer. Pensieve is an interactive system for visualizing, interpreting, and managing how Large Language Models (LLMs) “remember” a user. It bridges the gap between model-level mechanisms and user-level understanding, making AI memory observable, explainable, and partially controllable.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryAI Engineering
SubcategoryMake agent see hear talk
Stars1,386
Forks204
Contributors2
Created date2021-05-19
Updated date2026-10-13
Stars in 1 day0
Stars in 7 days3
Rank10,498
Previous rank10,491
Rank change-7
7-day stars rank6,952
Previous 7-day stars rank6,979
7-day stars rank change27
Total stars rank8,638
Previous total stars rank8,626
Total stars rank change-12
CountryChina
README summary

Music Source Separation Music source separation is a task to separate audio recordings into individual sources. This repository is an PyTorch implmementation of music source separation. Users can separate their favorite songs into different sources by installing this repository. Users can also train their own source separation systems. This repository can also be used for training speech enhancement, instruments separation, and any separation systems. Demos Vocals and accompaniment separation: Installation Install Python 3. Sometimes the installation of bytesep will fail

when using higher versions of Python. Suggest to use conda (or other environment manage tools) to manage the packages. Separation After installation, to separate your favorite song is easy. Users can execute the following commands in any directory. Users can also put many audio files into a directory and separate them all. The currently supported source types include "vocals" and "accompaniment". Users could also plug this MSS system into their own programmes. The separation models are trained ONLY on the

Musdb18 dataset (100 songs). Trained checkpoints can be downloaded at: Train a music source separation system from scratch 0. Download dataset Users could train on the MUSDB18 dataset to reproduce our music source separation systems. Execute the following script to download and unzip the MUSDB18 dataset: The dataset looks like: 1. Pack audio files into hdf5 files Pack audio waveforms into hdf5 files to speed up training. Separate using user trained checkpoint Results 1. Separation Metrics The following table shows

the signal to noise ratio (SDR) metrics of vocals and accompaniment. The MSS systems are only trained with 100 songs from the MUSDB18 dataset. The metrics are calculated on the 50 test songs. It is highly suggest to use the subband version because it is faster to train and inference. Parameters number & speed The following table shows the number of parameters and inference time of a 1-min audio clip. 00 s | | ResUNet143 Subband | 102 million | 0. Metrics over step

The evaluation metrics over different stesp is shown below. Finetune on new datasets Users can finetuen pretrained checkpoints on new datasets. The following script is a template showing how to finetune pretrained a MSS system to the VCTK dataset for speech enhancement. There is no problem if users do not have the VCTK dataset. ) Users can also resume the training from a checkpoint by modifying the following script. Cite [1] Qiuqiang Kong, Yin Cao, Haohe Liu, Keunwoo Choi, Yuxuan Wang

, Decoupling Magnitude and Phase Estimation with Deep ResUNet for Music Source Separation, International Society for Music Information Retrieval (ISMIR), 2021. Contact Qiquiang Kong Frequent Asked Questions (FAQ) FAQ. md External Links Other open sourced music source separation projects include but not limited to: Subband ResUNet: Demucs: Spleeter: Asteroid: Open-Unmix:

Frequently asked questions

How many stars and forks are recorded?

bytedance/music_source_separation has 1,386 stars and 204 forks.

What is the repository rank?

bytedance/music_source_separation is ranked 10,498.

What language and category are recorded?

bytedance/music_source_separation has 1,386 stars, uses Python and belongs to AI Engineering.

Which repository is closest in rank?

bytedance/music_source_separation is compared with Prismer-AI/PrismerCloud, ranked 10,497 with 1,386 stars.

README

Music Source Separation

Music source separation is a task to separate audio recordings into individual sources. This repository is an PyTorch implmementation of music source separation. Users can separate their favorite songs into different sources by installing this repository. Users can also train their own source separation systems. This repository can also be used for training speech enhancement, instruments separation, and any separation systems.

Demos

Vocals and accompaniment separation: https://www.youtube.com/watch?v=WH4m5HYzHsg

Installation

Install Python 3.7.

Sometimes the installation of bytesep will fail when using higher versions of Python. Suggest to use conda (or other environment manage tools) to manage the packages.

pip install bytesep==0.1.1

Separation

After installation, to separate your favorite song is easy. Users can execute the following commands in any directory.

python3 -m bytesep download_checkpoints
python3 -m bytesep separate \
    --source_type="vocals" \
    --audio_path="./resources/vocals_accompaniment_10s.mp3" \
    --output_path="separated_results/output.mp3"

Users can also put many audio files into a directory and separate them all.

python3 -m bytesep separate \
    --source_type="vocals" \
    --audio_path="audios_directory" \
    --output_path="outputs_directory"

The currently supported source types include "vocals" and "accompaniment". Users could also plug this MSS system into their own programmes. See example.py for examples.

The separation models are trained ONLY on the Musdb18 dataset (100 songs). Trained checkpoints can be downloaded at: https://zenodo.org/record/5804160.

Train a music source separation system from scratch

0. Download dataset

Users could train on the MUSDB18 dataset to reproduce our music source separation systems. Execute the following script to download and unzip the MUSDB18 dataset:

./scripts/0_download_datasets/musdb18.sh

The dataset looks like:

./datasets/musdb18 ├── train (100 files) │ ├── 'A Classic Education - NightOwl.stem.mp4' │ └── ... ├── test (50 files) │ ├── 'Al James - Schoolboy Facination.stem.mp4' │ └── ... └── README.md

1. Pack audio files into hdf5 files

Pack audio waveforms into hdf5 files to speed up training.

./scripts/1_pack_audios_to_hdf5s/musdb18/sr=44100,chn=2.sh

2. Create indexes for training

./scripts/2_create_indexes/musdb18/create_indexes.sh

3. Create evaluation audios

./scripts/3_create_evaluation_audios/musdb18/create_evaluation_audios.sh

4. Train & evaluate & save checkpoints

./scripts/4_train/musdb18/train.sh

5. Separate using user trained checkpoint

./scripts/5_separate/musdb18/separate.sh

Results

1. Separation Metrics

The following table shows the signal to noise ratio (SDR) metrics of vocals and accompaniment. The MSS systems are only trained with 100 songs from the MUSDB18 dataset. The metrics are calculated on the 50 test songs. It is highly suggest to use the subband version because it is faster to train and inference.

Model vocals (dB) accompaniment (dB)
ResUNet143 vocals 8.9 16.8
ResUNet143 Subband vocals 8.7 16.4
MobileNet Subband vocals 7.2 14.6

2. Parameters number & speed

The following table shows the number of parameters and inference time of a 1-min audio clip.

Model Trainable params. num process 1-min time (GPU Tesla V100) process 1-min time (CPU Core i7)
ResUNet143 ISMIR 102 million 2.24 s 53.00 s
ResUNet143 Subband 102 million 0.56 s 13.68 s
MobileNet Subband 0.306 million 0.33 s 9.84

3. Metrics over step

The evaluation metrics over different stesp is shown below.

Finetune on new datasets

Users can finetuen pretrained checkpoints on new datasets. The following script is a template showing how to finetune pretrained a MSS system to the VCTK dataset for speech enhancement. (This is just an example. There is no problem if users do not have the VCTK dataset.) Users can also resume the training from a checkpoint by modifying the following script.

./scripts/4_train/vctk-musdb18/finetune.sh

Cite

[1] Qiuqiang Kong, Yin Cao, Haohe Liu, Keunwoo Choi, Yuxuan Wang, Decoupling Magnitude and Phase Estimation with Deep ResUNet for Music Source Separation, International Society for Music Information Retrieval (ISMIR), 2021.

@inproceedings{kong2021decoupling,
  title={Decoupling Magnitude and Phase Estimation with Deep ResUNet for Music Source Separation.},
  author={Kong, Qiuqiang and Cao, Yin and Liu, Haohe and Choi, Keunwoo and Wang, Yuxuan },
  booktitle={ISMIR},
  year={2021},
  organization={Citeseer}
}

Contact

Qiquiang Kong

Frequent Asked Questions (FAQ)

FAQ.md

External Links

Other open sourced music source separation projects include but not limited to:

Subband ResUNet: https://github.com/haoheliu/Subband-Music-Separation

Demucs: https://github.com/facebookresearch/demucs

Spleeter: https://github.com/deezer/spleeter

Asteroid: https://github.com/asteroid-team/asteroid

Open-Unmix: https://github.com/sigsep/open-unmix-pytorch

Nearby in the ranking
Similar items