All Projects → AIcrowd → music-demixing-challenge-starter-kit

AIcrowd / music-demixing-challenge-starter-kit

Licence: MIT License
Starter kit for getting started in the Music Demixing Challenge.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to music-demixing-challenge-starter-kit

flutter base
A starter kit for beginner learns with Get pattern (it's same MVC or MVVM on native pattern), RxDart, Hive, Localization and Dio to architect a flutter project. This starter kit build an Covid-19 app as a example
Stars: ✭ 34 (-62.64%)
Mutual labels:  starter-kit
orbs-starter-kit
The starting point for writing a new application on Orbs platform
Stars: ✭ 19 (-79.12%)
Mutual labels:  starter-kit
domainerator
Simple application written in Go that combines two wordlists and a list of TLDs to form domain names and check if they are already registered.
Stars: ✭ 26 (-71.43%)
Mutual labels:  starter-kit
yii2-starter-kit-lite
Yii2 Starter kit for begin your application
Stars: ✭ 41 (-54.95%)
Mutual labels:  starter-kit
cloudflare-worker-app-kit
☁✨ A handy set of tools for creating a Cloudflare Worker app.
Stars: ✭ 75 (-17.58%)
Mutual labels:  starter-kit
charley-vue-multi
No description or website provided.
Stars: ✭ 47 (-48.35%)
Mutual labels:  starter-kit
awrora-starter
Landing page template built with one of most popular javascript library Vue.JS, Vuetify (Material Design) and Nuxt.JS with SSR.
Stars: ✭ 38 (-58.24%)
Mutual labels:  starter-kit
saas-starter
Everything you need to get your next Unicorn-For-X startup off the ground.
Stars: ✭ 19 (-79.12%)
Mutual labels:  starter-kit
SampleProject
A starter project for Sample Project in Objective C. Objective C version of https://github.com/xeieshan/SwiftySampleProject
Stars: ✭ 31 (-65.93%)
Mutual labels:  starter-kit
isomorphic-relay-boilerplate
No description or website provided.
Stars: ✭ 30 (-67.03%)
Mutual labels:  starter-kit
react-native-boilerplate-starter-app
📱🚀A POWERFUL React Native starter kit to bootstrap the start of your mobile app development
Stars: ✭ 202 (+121.98%)
Mutual labels:  starter-kit
nextjs-blog-starter-kit
NextJS Blog + Contentful Typescript Starter kit with Static Export 🚀
Stars: ✭ 56 (-38.46%)
Mutual labels:  starter-kit
pytorch-serving
[UNMAINTAINED] A starter pack for creating a lightweight responsive web app for Fast.AI PyTorch models.
Stars: ✭ 16 (-82.42%)
Mutual labels:  starter-kit
mjml-starter-kit
MJML starter kit, create responsive emails very quickly using MJML and this productive toolchain
Stars: ✭ 35 (-61.54%)
Mutual labels:  starter-kit
project-starter
My starter boilerplate for new projects. Totally opinionated :)
Stars: ✭ 24 (-73.63%)
Mutual labels:  starter-kit
symfony-docker
A template for new Symfony applications using Docker: ./install.sh && 🚀
Stars: ✭ 34 (-62.64%)
Mutual labels:  starter-kit
node-starter-kit
Node.js / GraphQL project template pre-configured with TypeScript, PostgreSQL, login flow, transactional emails, unit tests, CI/CD workflow.
Stars: ✭ 76 (-16.48%)
Mutual labels:  starter-kit
laravel-starter-kit
A minimal starter kit for Laravel 8 using Bootstrap 5 and Webpixels CSS.
Stars: ✭ 23 (-74.73%)
Mutual labels:  starter-kit
nest-js-boilerplate
Nest.js boilerplate
Stars: ✭ 79 (-13.19%)
Mutual labels:  starter-kit
polypack
🔥 Polypack - Webpack build stack with focus on performance 🔥
Stars: ✭ 38 (-58.24%)
Mutual labels:  starter-kit

Music Demixing Banner

Music Demixing Challenge - Starter Kit

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!

NOTE: If you are resource-constrained or would not like to setup everything in your system, you can make your submission from inside Google Colab too. Check out the beta version of the Notebook.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].