https://github.com/csteinmetz1/automix-toolkit

Models and datasets for training deep learning automatic mixing models

https://github.com/csteinmetz1/automix-toolkit

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
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

audio automatic-mixing deep-learning music
Last synced: 5 months ago · JSON representation

Repository

Models and datasets for training deep learning automatic mixing models

Basic Info
Statistics
  • Stars: 98
  • Watchers: 3
  • Forks: 7
  • Open Issues: 0
  • Releases: 0
Topics
audio automatic-mixing deep-learning music
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

# automix-toolkit Models and datasets for training deep learning automatic mixing models

Setup

python -m venv env source env/bin/activate pip install --upgrade pip

git clone https://github.com/csteinmetz1/automix-toolkit.git cd automix-toolkit pip install -e .

Usage

1. Pretrained models

First you need to download the pretrained models into the automix/checkpoints/ directory.

wget https://huggingface.co/csteinmetz1/automix-toolkit/resolve/main/enst-drums-dmc.ckpt wget https://huggingface.co/csteinmetz1/automix-toolkit/resolve/main/enst-drums-mixwaveunet.ckpt mv enst-drums-dmc.ckpt checkpoints/enst-drums-dmc.ckpt mv enst-drums-mixwaveunet.ckpt checkpoints/enst-drums-mixwaveunet.ckpt

You can run inference with a model checkpoint and a directory of stems. If the pretrained model expects a certain track ordering ensure that you the tracks in the provided directory are labeled 01_..., 02_..., etc. For demonstration, we can download a drum multitrack from the test set.

wget https://huggingface.co/csteinmetz1/automix-toolkit/resolve/main/drums-test-rock.zip unzip drums-test-rock.zip

Then we can generate a mix by calling the script and passing the checkpoint and directory of tracks. This will create an output in the current directory called mix.wav.

python scripts/inference.py checkpoints/enst-drums-dmc.ckpt drums-test-rock/tracks

2. Training

Datasets

| Name | Mixes | Size (GB) | Download | |--------------|-------|--------------|----------| | ENST-Drums | 210 | 20 GB | link | | MedleyDB | 197 | 82 + 71 GB | link | | DSD100 | 100 | 14 GB | link | | DSD100subset | 4 | 0.1 GB | link

Configurations

We provide training recipes to reproduce the pretrained models across a range of architectures and datasets. You can find shell scripts for each configuration. Note that you will need to update the paths to reflect your local file system after downloading the datasets.

``` ./configs/drumsdmc.sh ./configs/drumsmixwaveunet.sh ./configs/drumswetmixwaveunet.sh

./dsd100_dmc.sh

./medleydbdmc.sh ./medleydbmixwaveunet.sh ```

Notebooks

We also provide interactive notebooks to demonstrate the functionality of this toolkit. To use the notebooks first ensure you have installed the automix package. We suggest using conda or another virtual environemnt system. After installing automix package, then install jupyter. Then you can launch the notebooks.

python -m venv env source env/bin/activate pip install -e . pip install jupyter jupyter notebook notebooks/

  • Inference - In this notebook we demonstrate how to download and use pretrained models to create multitrack mixes of drum recordings.
  • Datasets - In this notebook we provide an overview of supplied datasets.
  • Models - In this notebook you can explore the Mix-Wave-U-Net and Differentiable Mixing Console models
  • Training - In this notebook you can train your own model on the ENST-drums dataset.
  • Evaluation - In this notebook you can evaluate mixes via objective metrics.

Owner

  • Name: Christian J. Steinmetz
  • Login: csteinmetz1
  • Kind: user
  • Location: London, UK
  • Company: @aim-qmul

Machine learning for Hi-Fi audio. PhD Researcher at C4DM.

GitHub Events

Total
  • Watch event: 9
  • Fork event: 2
Last Year
  • Watch event: 9
  • Fork event: 2

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 97
  • Total Committers: 4
  • Avg Commits per committer: 24.25
  • Development Distribution Score (DDS): 0.113
Past Year
  • Commits: 5
  • Committers: 2
  • Avg Commits per committer: 2.5
  • Development Distribution Score (DDS): 0.2
Top Committers
Name Email Commits
csteinmetz1 c****1@g****m 86
marco.martinez m****z@s****m 4
Soumya Sai Vanka 7****m 4
Soumya Sai Vanka s****2@b****k 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 45
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Total issue authors: 0
  • Total pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 0.24
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • csteinmetz1 (21)
  • sai-soum (10)
  • marco-martinez-sony (4)
  • mchijmma (3)
Top Labels
Issue Labels
Pull Request Labels