Starter kit for getting started in the Music Demixing Challenge.

Overview

Airborne Banner

Music Demixing Challenge - Starter Kit

๐Ÿ‘‰ Challenge page

Discord

This repository is the Music Demixing Challenge Submission template and Starter kit!

Clone the repository to compete now!

This repository contains:

  • Documentation on how to submit your models to the leaderboard
  • The procedure for best practices and information on how we evaluate your agent, etc.
  • Starter code for you to get started!

Table of Contents

  1. Competition Procedure
  2. How to access and use dataset
  3. How to start participating
  4. How do I specify my software runtime / dependencies?
  5. What should my code structure be like ?
  6. How to make submission
  7. Other concepts
  8. Important links

Competition Procedure

The Music Demixing (MDX) Challenge is an opportunity for researchers and machine learning enthusiasts to test their skills by creating a system able to perform audio source separation.

In this challenge, you will train your models locally and then upload them to AIcrowd (via git) to be evaluated.

The following is a high level description of how this process works

  1. Sign up to join the competition on the AIcrowd website.
  2. Clone this repo and start developing your solution.
  3. Train your models for audio seperation and write prediction code in test.py.
  4. Submit your trained models to AIcrowd Gitlab for evaluation (full instructions below). The automated evaluation setup will evaluate the submissions against the test dataset to compute and report the metrics on the leaderboard of the competition.

How to access and use the dataset

You are allowed to train your system either exclusively on the training part of MUSDB18-HQ dataset or you can use your choice of data. According to the dataset used, you will be eligible for different leaderboards.

๐Ÿ‘‰ Download MUSDB18-HQ dataset

In case you are using external dataset, please mention it in your aicrowd.json.

{
  [...],
  "external_dataset_used": true
}

The MUSDB18 dataset contains 150 songs (100 songs in train and 50 songs in test) together with their seperations in the following manner:

|
โ”œโ”€โ”€ train
โ”‚   โ”œโ”€โ”€ A Classic Education - NightOwl
โ”‚   โ”‚   โ”œโ”€โ”€ bass.wav
โ”‚   โ”‚   โ”œโ”€โ”€ drums.wav
โ”‚   โ”‚   โ”œโ”€โ”€ mixture.wav
โ”‚   โ”‚   โ”œโ”€โ”€ other.wav
โ”‚   โ”‚   โ””โ”€โ”€ vocals.wav
โ”‚   โ””โ”€โ”€ ANiMAL - Clinic A
โ”‚       โ”œโ”€โ”€ bass.wav
โ”‚       โ”œโ”€โ”€ drums.wav
โ”‚       โ”œโ”€โ”€ mixture.wav
โ”‚       โ”œโ”€โ”€ other.wav
โ”‚       โ””โ”€โ”€ vocals.wav
[...]

Here the mixture.wav file is the original music on which you need to do audio source seperation.
While bass.wav, drums.wav, other.wav and vocals.wav contain files for your training purposes.
Please note again: To be eligible for Leaderboard A, you are only allowed to train on the songs in train.

How to start participating

Setup

  1. Add your SSH key to AIcrowd GitLab

You can add your SSH Keys to your GitLab account by going to your profile settings here. If you do not have SSH Keys, you will first need to generate one.

  1. Clone the repository

    git clone [email protected]:AIcrowd/music-demixing-challenge-starter-kit.git
    
  2. Install competition specific dependencies!

    cd music-demixing-challenge-starter-kit
    pip3 install -r requirements.txt
    
  3. Try out random prediction codebase present in test.py.

How do I specify my software runtime / dependencies ?

We accept submissions with custom runtime, so you don't need to worry about which libraries or framework to pick from.

The configuration files typically include requirements.txt (pypi packages), environment.yml (conda environment), apt.txt (apt packages) or even your own Dockerfile.

You can check detailed information about the same in the ๐Ÿ‘‰ RUNTIME.md file.

What should my code structure be like ?

Please follow the example structure as it is in the starter kit for the code structure. The different files and directories have following meaning:

.
โ”œโ”€โ”€ aicrowd.json           # Submission meta information - like your username
โ”œโ”€โ”€ apt.txt                # Packages to be installed inside docker image
โ”œโ”€โ”€ data                   # Your local dataset copy - you don't need to upload it (read DATASET.md)
โ”œโ”€โ”€ requirements.txt       # Python packages to be installed
โ”œโ”€โ”€ test.py                # IMPORTANT: Your testing/prediction code, must be derived from MusicDemixingPredictor (example in test.py)
โ””โ”€โ”€ utility                # The utility scripts to provide smoother experience to you.
    โ”œโ”€โ”€ docker_build.sh
    โ”œโ”€โ”€ docker_run.sh
    โ”œโ”€โ”€ environ.sh
    โ””โ”€โ”€ verify_or_download_data.sh

Finally, you must specify an AIcrowd submission JSON in aicrowd.json to be scored!

The aicrowd.json of each submission should contain the following content:

{
  "challenge_id": "evaluations-api-music-demixing",
  "authors": ["your-aicrowd-username"],
  "description": "(optional) description about your awesome agent",
  "external_dataset_used": false
}

This JSON is used to map your submission to the challenge - so please remember to use the correct challenge_id as specified above.

How to make submission

๐Ÿ‘‰ SUBMISSION.md

Best of Luck ๐ŸŽ‰ ๐ŸŽ‰

Other Concepts

Time constraints

You need to make sure that your model can do audio seperation for each song within 4 minutes, otherwise the submission will be marked as failed.

Local Run

๐Ÿ‘‰ LOCAL_RUN.md

Contributing

๐Ÿ™ You can share your solutions or any other baselines by contributing directly to this repository by opening merge request.

  • Add your implemntation as test_<approach-name>.py
  • Test it out using python test_<approach-name>.py
  • Add any documentation for your approach at top of your file.
  • Import it in predict.py
  • Create merge request! ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰

Contributors

๐Ÿ“Ž Important links

๐Ÿ’ช  Challenge Page: https://www.aicrowd.com/challenges/music-demixing-challenge-ismir-2021

๐Ÿ—ฃ๏ธ  Discussion Forum: https://www.aicrowd.com/challenges/music-demixing-challenge-ismir-2021/discussion

๐Ÿ†  Leaderboard: https://www.aicrowd.com/challenges/music-demixing-challenge-ismir-2021/leaderboards

Owner
AIcrowd
AIcrowd
NAACL'2021: Factual Probing Is [MASK]: Learning vs. Learning to Recall

OptiPrompt This is the PyTorch implementation of the paper Factual Probing Is [MASK]: Learning vs. Learning to Recall. We propose OptiPrompt, a simple

Princeton Natural Language Processing 150 Dec 20, 2022
1st-in-MICCAI2020-CPM - Combined Radiology and Pathology Classification

Combined Radiology and Pathology Classification MICCAI 2020 Combined Radiology a

22 Dec 08, 2022
Multiple paper open-source codes of the Microsoft Research Asia DKI group

๐Ÿ“ซ Paper Code Collection (MSRA DKI Group) This repo hosts multiple open-source codes of the Microsoft Research Asia DKI Group. You could find the corr

Microsoft 249 Jan 08, 2023
3D AffordanceNet is a 3D point cloud benchmark consisting of 23k shapes from 23 semantic object categories, annotated with 56k affordance annotations and covering 18 visual affordance categories.

3D AffordanceNet This repository is the official experiment implementation of 3D AffordanceNet benchmark. 3D AffordanceNet is a 3D point cloud benchma

49 Dec 01, 2022
Official Repository for our ECCV2020 paper: Imbalanced Continual Learning with Partitioning Reservoir Sampling

Imbalanced Continual Learning with Partioning Reservoir Sampling This repository contains the official PyTorch implementation and the dataset for our

Chris Dongjoo Kim 40 Sep 18, 2022
Context Axial Reverse Attention Network for Small Medical Objects Segmentation

CaraNet: Context Axial Reverse Attention Network for Small Medical Objects Segmentation This repository contains the implementation of a novel attenti

401 Dec 23, 2022
An OpenAI Gym environment for Super Mario Bros

gym-super-mario-bros An OpenAI Gym environment for Super Mario Bros. & Super Mario Bros. 2 (Lost Levels) on The Nintendo Entertainment System (NES) us

Andrew Stelmach 1 Jan 05, 2022
Non-Metric Space Library (NMSLIB): An efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.

Non-Metric Space Library (NMSLIB) Important Notes NMSLIB is generic but fast, see the results of ANN benchmarks. A standalone implementation of our fa

2.9k Jan 04, 2023
Parris, the automated infrastructure setup tool for machine learning algorithms.

README Parris, the automated infrastructure setup tool for machine learning algorithms. What Is This Tool? Parris is a tool for automating the trainin

Joseph Greene 319 Aug 02, 2022
Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators

Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators. It's also a suite of learning algorithms to train agents to operate in these enviro

Google 1.5k Jan 02, 2023
Art Project "Schrรถdinger's Game of Life"

Repo of the project "Team Creative Quantum AI: Schrรถdinger's Game of Life" Installation new conda env: conda create --name qcml python=3.8 conda activ

โ„โ—ฎโ„•โ„•โ—ญโ„ โ„โˆˆแ›”โˆˆโ„ 2 Sep 15, 2022
Fre-GAN: Adversarial Frequency-consistent Audio Synthesis

Fre-GAN Vocoder Fre-GAN: Adversarial Frequency-consistent Audio Synthesis Training: python train.py --config config.json Citation: @misc{kim2021frega

Rishikesh (เค‹เคทเคฟเค•เฅ‡เคถ) 93 Dec 17, 2022
PyTorch implementation of paper: HPNet: Deep Primitive Segmentation Using Hybrid Representations.

HPNet This repository contains the PyTorch implementation of paper: HPNet: Deep Primitive Segmentation Using Hybrid Representations. Installation The

Siming Yan 42 Dec 07, 2022
A FAIR dataset of TCV experimental results for validating edge/divertor turbulence models.

TCV-X21 validation for divertor turbulence simulations Quick links Intro Welcome to TCV-X21. We're glad you've found us! This repository is designed t

0 Dec 18, 2021
QTool: A Low-bit Quantization Toolbox for Deep Neural Networks in Computer Vision

This project provides abundant choices of quantization strategies (such as the quantization algorithms, training schedules and empirical tricks) for quantizing the deep neural networks into low-bit c

Monash Green AI Lab 51 Dec 10, 2022
Implementation of DropLoss for Long-Tail Instance Segmentation in Pytorch

[AAAI 2021]DropLoss for Long-Tail Instance Segmentation [AAAI 2021] DropLoss for Long-Tail Instance Segmentation Ting-I Hsieh*, Esther Robb*, Hwann-Tz

Tim 37 Dec 02, 2022
Code for paper "Do Language Models Have Beliefs? Methods for Detecting, Updating, and Visualizing Model Beliefs"

This is the codebase for the paper: Do Language Models Have Beliefs? Methods for Detecting, Updating, and Visualizing Model Beliefs Directory Structur

Peter Hase 19 Aug 21, 2022
UNAVOIDS: Unsupervised and Nonparametric Approach for Visualizing Outliers and Invariant Detection Scoring

UNAVOIDS: Unsupervised and Nonparametric Approach for Visualizing Outliers and Invariant Detection Scoring Code Summary aggregate.py: this script aggr

1 Dec 28, 2021
a baseline to practice

ccks2021_track3_baseline a baseline to practice ่ทฏๅพ„ๅฏ่ƒฝไผšๆœ‰้—ฎ้ข˜๏ผŒ่‡ชๅทฑๆ”นๆ”น torch==1.7.1 pyhton==3.7.1 transformers==4.7.0 cuda==11.0 this is a baseline, you can fi

45 Nov 23, 2022