{"id":22280218,"url":"https://github.com/csteinmetz1/automix-toolkit","last_synced_at":"2025-02-27T02:16:34.348Z","repository":{"id":69304272,"uuid":"526278679","full_name":"csteinmetz1/automix-toolkit","owner":"csteinmetz1","description":"Models and datasets for training deep learning automatic mixing models","archived":false,"fork":false,"pushed_at":"2024-08-28T08:53:11.000Z","size":9948,"stargazers_count":98,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-20T01:12:42.082Z","etag":null,"topics":["audio","automatic-mixing","deep-learning","music"],"latest_commit_sha":null,"homepage":"https://dl4am.github.io/tutorial","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/csteinmetz1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-18T15:56:26.000Z","updated_at":"2025-02-01T15:51:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"a240c632-5f65-45b3-8f37-f03b3408e4b5","html_url":"https://github.com/csteinmetz1/automix-toolkit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csteinmetz1%2Fautomix-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csteinmetz1%2Fautomix-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csteinmetz1%2Fautomix-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csteinmetz1%2Fautomix-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csteinmetz1","download_url":"https://codeload.github.com/csteinmetz1/automix-toolkit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240200297,"owners_count":19763999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","automatic-mixing","deep-learning","music"],"created_at":"2024-12-03T15:26:56.016Z","updated_at":"2025-02-27T02:16:34.252Z","avatar_url":"https://github.com/csteinmetz1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg width=\"80px\" src=\"docs/assets/logo.png\"\u003e \n\n# automix-toolkit\nModels and datasets for training deep learning automatic mixing models\n\n\u003c/div\u003e\n\n# Setup\n\n```\npython -m venv env \nsource env/bin/activate\npip install --upgrade pip\n```\n\n```\ngit clone https://github.com/csteinmetz1/automix-toolkit.git\ncd automix-toolkit\npip install -e . \n```\n\n# Usage\n\n## 1. Pretrained models\n\nFirst you need to download the pretrained models into the [`automix/checkpoints/`](automix/checkpoints/) directory. \n\n```\nwget https://huggingface.co/csteinmetz1/automix-toolkit/resolve/main/enst-drums-dmc.ckpt\nwget https://huggingface.co/csteinmetz1/automix-toolkit/resolve/main/enst-drums-mixwaveunet.ckpt\nmv enst-drums-dmc.ckpt checkpoints/enst-drums-dmc.ckpt\nmv enst-drums-mixwaveunet.ckpt checkpoints/enst-drums-mixwaveunet.ckpt\n```\n\nYou can run inference with a model checkpoint and a directory of stems.\nIf the pretrained model expects a certain track ordering ensure that you the \ntracks in the provided directory are labeled `01_...`, `02_...`, etc.\nFor demonstration, we can download a drum multitrack from the test set. \n\n```\nwget https://huggingface.co/csteinmetz1/automix-toolkit/resolve/main/drums-test-rock.zip\nunzip drums-test-rock.zip\n```\n\nThen we can generate a mix by calling the script and passing the checkpoint and directory of tracks.\nThis will create an output in the current directory called `mix.wav`.\n\n```\npython scripts/inference.py checkpoints/enst-drums-dmc.ckpt drums-test-rock/tracks\n```\n\n## 2. Training\n\n### Datasets \n\n| Name         | Mixes | Size (GB)    | Download | \n|--------------|-------|--------------|----------|\n| ENST-Drums   | 210   | 20 GB        | [link](https://perso.telecom-paristech.fr/grichard/ENST-drums/) |\n| MedleyDB     | 197   | 82 + 71 GB   | [link](https://medleydb.weebly.com/) |\n| DSD100       | 100   | 14 GB        | [link](http://liutkus.net/DSD100.zip) |\n| DSD100subset |   4   | 0.1 GB       | [link](https://www.loria.fr/~aliutkus/DSD100subset.zip)\n\n### Configurations\n\nWe provide training recipes to reproduce the pretrained models across a range of architectures and datasets. \nYou 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. \n\n```\n./configs/drums_dmc.sh\n./configs/drums_mixwaveunet.sh\n./configs/drums_wet_mixwaveunet.sh\n\n./dsd100_dmc.sh\n\n./medleydb_dmc.sh\n./medleydb_mixwaveunet.sh\n```\n\n# Notebooks\n\nWe also provide interactive notebooks to demonstrate the functionality of this toolkit. \nTo 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.\nThen you can launch the notebooks.\n\n```\npython -m venv env \nsource env/bin/activate\npip install -e .\npip install jupyter\njupyter notebook notebooks/\n```\n\n- [Inference](notebooks/01_inference.ipynb) - In this notebook we demonstrate how to download and use pretrained models to create multitrack mixes of drum recordings. \n- [Datasets](notebooks/02_datasets.ipynb) - In this notebook we provide an overview of supplied datasets.\n- [Models](notebooks/03_models.ipynb) - In this notebook you can explore the Mix-Wave-U-Net and Differentiable Mixing Console models\n- [Training](notebooks/04_training.ipynb) - In this notebook you can train your own model on the ENST-drums dataset. \n- [Evaluation](notebooks/05_evaluate.ipynb) - In this notebook you can evaluate mixes via objective metrics.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsteinmetz1%2Fautomix-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsteinmetz1%2Fautomix-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsteinmetz1%2Fautomix-toolkit/lists"}