https://github.com/csteinmetz1/mixing_secrets_v2
A NEW VERSION OF MIXING SECRETS DATASET FOR MUSIC SOURCE SEPARATION
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.6%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
A NEW VERSION OF MIXING SECRETS DATASET FOR MUSIC SOURCE SEPARATION
Basic Info
- Host: GitHub
- Owner: csteinmetz1
- Default Branch: main
- Size: 7.96 MB
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of felixCheungcheung/mixing_secrets_v2
Created over 3 years ago
· Last pushed over 3 years ago
https://github.com/csteinmetz1/mixing_secrets_v2/blob/main/
# MS500: A NEW VERSION OF MIXING SECRETS DATASET FOR MUSIC SOURCE SEPARATION
This is an accompanying repository of my my [master thesis](https://zenodo.org/record/7116102#.YzR0L3ZBzBU) and a submission to Late Breaking Demo of International Society of Music Information Retrieval 2022: MS500: A MULTI-TRACK DATASET FOR HIERARCHICAL MUSIC SOURCE SEPARATION
## Citation
```
@phdthesis{huicheng_zhang_2022_7116102,
author = {Huicheng Zhang},
title = {{Hierarchical Music Source Separation Using Mixing
Secret Multi-track Dataset}},
school = {Universitat Pompeu Fabra},
year = 2022,
month = sep,
doi = {10.5281/zenodo.7116102},
url = {https://doi.org/10.5281/zenodo.7116102}
}
```
The link to my presentation: https://docs.google.com/presentation/d/1BD4iTVwp2obUxl8mThp9g8DmRBhJg3G42zwxMGK_bLg/edit?usp=sharing
## Download the published MS500 dataset from zenodo:
The link to the dataset from zenodo is coming soon!! It is big and I need to contact zenodo to increase my quota.
After Downloading the dataset from Zenodo, unzip it and go to my forked slakh-utils [repository](https://github.com/felixCheungcheung/slakh-utils/tree/master/conversion) to convert the audio files from `.flac` to `.wav` format (Total ~532GB). Then jump to the Automatic Stem generation and Dataset Formatting section to run `ms21_generate_yaml.py`
## Purpose of this repository:
This repository contains the scripts for constructing MS500. This data is only for **research purpose**.
The material contained in it should not be used for any commercial purpose without the express permission of the copyright holders. Please refer to www.cambridge-mt.com for further details.
For evaluation experiment, our code is in a branch of Asteroid which called [ms21](https://github.com/felixCheungcheung/asteroid/tree/ms21/egs/musdb18/X-UMX).
## Constructing MS500 Dataset: Step by Step
* **Creat a conda environment:**
```
conda env create -f environment.yml
conda activate ms21db
```
* **Data Gathering** from [The 'Mixing Secrets' Free Multitrack Download Library](https://cambridge-mt.com/ms/mtk/);
```
python geturl.py # To generate downloadurls.txt, which will be stored in the same folder
python download_zip.py "path_to_storage" # To download the zipped multi-track archives and mp3 mixtures using the urls in downloadurls.txt
python unrar.py "path_to_storage" # To unzip the zipped archives in the "multitrack_zip" folder and put them in the "unzip_multitrack" folder
python unzip_folder_setup.py "path_to_unzip_multitrack_directory" # To unify the folder structure
```
* **Semi-automatically annotation generation**;
```
python instrument_classify.py "path_to_unzip_multitrack" # To generate annotation .csv
```
* **Basic DSP** for audio files :Resampling, zero-padding, "monorizing";
```
python soundfile_check.py -h
--path PATH, -p PATH Dataset directory
--samplerate SAMPLERATE, -sr SAMPLERATE
Target Sampling Rates
--bitrate BITRATE, -bt BITRATE
Target Bit Rate
--mono, -m Stereo: False, Mono: True
--pad, -pd For zero-padding, boolean
```
* After splitting the dataset. we can do track-level **loudness normalization**:
```
python ms21_normalization.py "path_to_dataset" "output_path" -25 # Default target_loudness = -25 LUFS
```
* **Automatic Stem generation and Dataset Formatting**: Same folder structure of MedleyDB and special automatic mixing algorithm for generating stereo backing vocal stem.
```
python ms21_generate_yaml.py "path_to_the_splitted_and_normalized_dataset" "outpath_to_the_well_structured_dataset" num_threads #Note that within the script target loudness is set to -25 LUFS
```
## TODO: Design automatic mixing algorithm for each instrument
## TODO: A Function to only use non-bleeding multi-tracks for stem generation
## TODO: A dataloader for Hierarchical Music Source Separation (HMSS) and MSS training
## Statistics of MS500
### Instrument Level Bleeding Annotation

Owner
- Name: Christian J. Steinmetz
- Login: csteinmetz1
- Kind: user
- Location: London, UK
- Company: @aim-qmul
- Website: christiansteinmetz.com
- Twitter: csteinmetz1
- Repositories: 79
- Profile: https://github.com/csteinmetz1
Machine learning for Hi-Fi audio. PhD Researcher at C4DM.
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1