Giter VIP home page Giter VIP logo

mixing_secrets_v2's Introduction

MS500: A NEW VERSION OF MIXING SECRETS DATASET FOR MUSIC SOURCE SEPARATION

This is an accompanying repository of my my master thesis 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

@masterthesis{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 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.

Constructing MS500 Dataset: Step by Step

  • Creat a conda environment:
conda env create -f environment.yml
conda activate ms21db
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

plot1

mixing_secrets_v2's People

Contributors

felixcheungcheung avatar

Stargazers

 avatar DS.Xu avatar  avatar Malik Enes Şafak avatar Sandalots avatar 爱可可-爱生活 avatar  avatar Chin-Yun Yu avatar Satvik Venkatesh avatar  avatar Yuan-Man avatar Marius Miron avatar Lucas Rodrigues avatar

Watchers

Jarredou avatar  avatar Lucas Rodrigues avatar

mixing_secrets_v2's Issues

unzip_folder_setup.py

I think there is also some bug with the folder setup:

Root =  dataset/unzip_multitrack/
Dir =  __MACOSX
Successfully deleted  dataset/unzip_multitrack/\__MACOSX
Traceback (most recent call last):
  File "unzip_folder_setup.py", line 23, in <module>
    if root.split('\\')[-2] != root_path.split('\\')[-1]:
IndexError: list index out of range

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.