Spaces:
Running
Running
forked from huggingface demucs
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .DS_Store +0 -0
- CODE_OF_CONDUCT.md +76 -0
- CONTRIBUTING.md +23 -0
- Demucs.ipynb +115 -0
- LICENSE +21 -0
- MANIFEST.in +6 -0
- Makefile +19 -0
- README.md +379 -13
- baselines/.DS_Store +0 -0
- baselines/IRM2/test/AM Contra - Heart Peripheral.json.gz +3 -0
- baselines/IRM2/test/Al James - Schoolboy Facination.json.gz +3 -0
- baselines/IRM2/test/Angels In Amplifiers - I'm Alright.json.gz +3 -0
- baselines/IRM2/test/Arise - Run Run Run.json.gz +3 -0
- baselines/IRM2/test/BKS - Bulldozer.json.gz +3 -0
- baselines/IRM2/test/BKS - Too Much.json.gz +3 -0
- baselines/IRM2/test/Ben Carrigan - We'll Talk About It All Tonight.json.gz +3 -0
- baselines/IRM2/test/Bobby Nobody - Stitch Up.json.gz +3 -0
- baselines/IRM2/test/Buitraker - Revo X.json.gz +3 -0
- baselines/IRM2/test/Carlos Gonzalez - A Place For Us.json.gz +3 -0
- baselines/IRM2/test/Cristina Vane - So Easy.json.gz +3 -0
- baselines/IRM2/test/Detsky Sad - Walkie Talkie.json.gz +3 -0
- baselines/IRM2/test/Enda Reilly - Cur An Long Ag Seol.json.gz +3 -0
- baselines/IRM2/test/Forkupines - Semantics.json.gz +3 -0
- baselines/IRM2/test/Georgia Wonder - Siren.json.gz +3 -0
- baselines/IRM2/test/Girls Under Glass - We Feel Alright.json.gz +3 -0
- baselines/IRM2/test/Hollow Ground - Ill Fate.json.gz +3 -0
- baselines/IRM2/test/James Elder & Mark M Thompson - The English Actor.json.gz +3 -0
- baselines/IRM2/test/Juliet's Rescue - Heartbeats.json.gz +3 -0
- baselines/IRM2/test/Little Chicago's Finest - My Own.json.gz +3 -0
- baselines/IRM2/test/Louis Cressy Band - Good Time.json.gz +3 -0
- baselines/IRM2/test/Lyndsey Ollard - Catching Up.json.gz +3 -0
- baselines/IRM2/test/M.E.R.C. Music - Knockout.json.gz +3 -0
- baselines/IRM2/test/Moosmusic - Big Dummy Shake.json.gz +3 -0
- baselines/IRM2/test/Motor Tapes - Shore.json.gz +3 -0
- baselines/IRM2/test/Mu - Too Bright.json.gz +3 -0
- baselines/IRM2/test/Nerve 9 - Pray For The Rain.json.gz +3 -0
- baselines/IRM2/test/PR - Happy Daze.json.gz +3 -0
- baselines/IRM2/test/PR - Oh No.json.gz +3 -0
- baselines/IRM2/test/Punkdisco - Oral Hygiene.json.gz +3 -0
- baselines/IRM2/test/Raft Monk - Tiring.json.gz +3 -0
- baselines/IRM2/test/Sambasevam Shanmugam - Kaathaadi.json.gz +3 -0
- baselines/IRM2/test/Secretariat - Borderline.json.gz +3 -0
- baselines/IRM2/test/Secretariat - Over The Top.json.gz +3 -0
- baselines/IRM2/test/Side Effects Project - Sing With Me.json.gz +3 -0
- baselines/IRM2/test/Signe Jakobsen - What Have You Done To Me.json.gz +3 -0
- baselines/IRM2/test/Skelpolu - Resurrection.json.gz +3 -0
- baselines/IRM2/test/Speak Softly - Broken Man.json.gz +3 -0
- baselines/IRM2/test/Speak Softly - Like Horses.json.gz +3 -0
- baselines/IRM2/test/The Doppler Shift - Atrophy.json.gz +3 -0
- baselines/IRM2/test/The Easton Ellises (Baumi) - SDRNR.json.gz +3 -0
.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Code of Conduct
|
2 |
+
|
3 |
+
## Our Pledge
|
4 |
+
|
5 |
+
In the interest of fostering an open and welcoming environment, we as
|
6 |
+
contributors and maintainers pledge to make participation in our project and
|
7 |
+
our community a harassment-free experience for everyone, regardless of age, body
|
8 |
+
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
9 |
+
level of experience, education, socio-economic status, nationality, personal
|
10 |
+
appearance, race, religion, or sexual identity and orientation.
|
11 |
+
|
12 |
+
## Our Standards
|
13 |
+
|
14 |
+
Examples of behavior that contributes to creating a positive environment
|
15 |
+
include:
|
16 |
+
|
17 |
+
* Using welcoming and inclusive language
|
18 |
+
* Being respectful of differing viewpoints and experiences
|
19 |
+
* Gracefully accepting constructive criticism
|
20 |
+
* Focusing on what is best for the community
|
21 |
+
* Showing empathy towards other community members
|
22 |
+
|
23 |
+
Examples of unacceptable behavior by participants include:
|
24 |
+
|
25 |
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
26 |
+
advances
|
27 |
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
28 |
+
* Public or private harassment
|
29 |
+
* Publishing others' private information, such as a physical or electronic
|
30 |
+
address, without explicit permission
|
31 |
+
* Other conduct which could reasonably be considered inappropriate in a
|
32 |
+
professional setting
|
33 |
+
|
34 |
+
## Our Responsibilities
|
35 |
+
|
36 |
+
Project maintainers are responsible for clarifying the standards of acceptable
|
37 |
+
behavior and are expected to take appropriate and fair corrective action in
|
38 |
+
response to any instances of unacceptable behavior.
|
39 |
+
|
40 |
+
Project maintainers have the right and responsibility to remove, edit, or
|
41 |
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
42 |
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
43 |
+
permanently any contributor for other behaviors that they deem inappropriate,
|
44 |
+
threatening, offensive, or harmful.
|
45 |
+
|
46 |
+
## Scope
|
47 |
+
|
48 |
+
This Code of Conduct applies within all project spaces, and it also applies when
|
49 |
+
an individual is representing the project or its community in public spaces.
|
50 |
+
Examples of representing a project or community include using an official
|
51 |
+
project e-mail address, posting via an official social media account, or acting
|
52 |
+
as an appointed representative at an online or offline event. Representation of
|
53 |
+
a project may be further defined and clarified by project maintainers.
|
54 |
+
|
55 |
+
## Enforcement
|
56 |
+
|
57 |
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58 |
+
reported by contacting the project team at <opensource-conduct@fb.com>. All
|
59 |
+
complaints will be reviewed and investigated and will result in a response that
|
60 |
+
is deemed necessary and appropriate to the circumstances. The project team is
|
61 |
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
62 |
+
Further details of specific enforcement policies may be posted separately.
|
63 |
+
|
64 |
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
65 |
+
faith may face temporary or permanent repercussions as determined by other
|
66 |
+
members of the project's leadership.
|
67 |
+
|
68 |
+
## Attribution
|
69 |
+
|
70 |
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
71 |
+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
72 |
+
|
73 |
+
[homepage]: https://www.contributor-covenant.org
|
74 |
+
|
75 |
+
For answers to common questions about this code of conduct, see
|
76 |
+
https://www.contributor-covenant.org/faq
|
CONTRIBUTING.md
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Contributing to Demucs
|
2 |
+
|
3 |
+
## Pull Requests
|
4 |
+
|
5 |
+
In order to accept your pull request, we need you to submit a CLA. You only need
|
6 |
+
to do this once to work on any of Facebook's open source projects.
|
7 |
+
|
8 |
+
Complete your CLA here: <https://code.facebook.com/cla>
|
9 |
+
|
10 |
+
Demucs is the implementation of a research paper.
|
11 |
+
Therefore, we do not plan on accepting many pull requests for new features.
|
12 |
+
We certainly welcome them for bug fixes.
|
13 |
+
|
14 |
+
|
15 |
+
## Issues
|
16 |
+
|
17 |
+
We use GitHub issues to track public bugs. Please ensure your description is
|
18 |
+
clear and has sufficient instructions to be able to reproduce the issue.
|
19 |
+
|
20 |
+
|
21 |
+
## License
|
22 |
+
By contributing to this repository, you agree that your contributions will be licensed
|
23 |
+
under the LICENSE file in the root directory of this source tree.
|
Demucs.ipynb
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "markdown",
|
5 |
+
"metadata": {
|
6 |
+
"colab_type": "text",
|
7 |
+
"id": "Be9yoh-ILfRr"
|
8 |
+
},
|
9 |
+
"source": [
|
10 |
+
"# [*Colab code for Demucs*](https://github.com/facebookresearch/demucs/)\n",
|
11 |
+
"\n",
|
12 |
+
"Original version by marlluslustosa **https://github.com/marlluslustosa/demucs/blob/master/Demucs.ipynb**\n",
|
13 |
+
"\n",
|
14 |
+
"However, now things are much simpler with Demucs v2, so this might not be so useful. There is now a Colab version:\n",
|
15 |
+
"https://colab.research.google.com/drive/1jCegIzLIuqqcM85uVs3WCeAJiSoYq3oh?usp=sharing"
|
16 |
+
]
|
17 |
+
},
|
18 |
+
{
|
19 |
+
"cell_type": "code",
|
20 |
+
"execution_count": null,
|
21 |
+
"metadata": {
|
22 |
+
"colab": {
|
23 |
+
"base_uri": "https://localhost:8080/",
|
24 |
+
"height": 139
|
25 |
+
},
|
26 |
+
"colab_type": "code",
|
27 |
+
"executionInfo": {
|
28 |
+
"elapsed": 12277,
|
29 |
+
"status": "ok",
|
30 |
+
"timestamp": 1583778134659,
|
31 |
+
"user": {
|
32 |
+
"displayName": "Marllus Lustosa",
|
33 |
+
"photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgLl2RbW64ZyWz3Y8IBku0zhHCMnt7fz7fEl0LTdA=s64",
|
34 |
+
"userId": "14811735256675200480"
|
35 |
+
},
|
36 |
+
"user_tz": 180
|
37 |
+
},
|
38 |
+
"id": "kOjIPLlzhPfn",
|
39 |
+
"outputId": "c75f17ec-b576-4105-bc5b-c2ac9c1018a3"
|
40 |
+
},
|
41 |
+
"outputs": [],
|
42 |
+
"source": [
|
43 |
+
"!pip install demucs"
|
44 |
+
]
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"cell_type": "markdown",
|
48 |
+
"metadata": {
|
49 |
+
"colab_type": "text",
|
50 |
+
"id": "Y1BdlzOQi3y7"
|
51 |
+
},
|
52 |
+
"source": [
|
53 |
+
"\n",
|
54 |
+
"\n",
|
55 |
+
"---\n",
|
56 |
+
"\n",
|
57 |
+
"\n",
|
58 |
+
"# **Here begins the code for separating the audio source (model pretrained)**\n",
|
59 |
+
"###**- Upload your song to demucs/ folder and edit YOUR-SONG-PATH.mp3**\n",
|
60 |
+
"\n",
|
61 |
+
"\n",
|
62 |
+
"---\n",
|
63 |
+
"\n"
|
64 |
+
]
|
65 |
+
},
|
66 |
+
{
|
67 |
+
"cell_type": "code",
|
68 |
+
"execution_count": null,
|
69 |
+
"metadata": {
|
70 |
+
"colab": {},
|
71 |
+
"colab_type": "code",
|
72 |
+
"id": "5lYOzKKCKAbJ"
|
73 |
+
},
|
74 |
+
"outputs": [],
|
75 |
+
"source": [
|
76 |
+
"!python3 -m demucs.separate test.mp3"
|
77 |
+
]
|
78 |
+
},
|
79 |
+
{
|
80 |
+
"cell_type": "code",
|
81 |
+
"execution_count": null,
|
82 |
+
"metadata": {},
|
83 |
+
"outputs": [],
|
84 |
+
"source": []
|
85 |
+
}
|
86 |
+
],
|
87 |
+
"metadata": {
|
88 |
+
"accelerator": "GPU",
|
89 |
+
"colab": {
|
90 |
+
"authorship_tag": "ABX9TyM9xpVr1M86NRcjtQ7g9tCx",
|
91 |
+
"collapsed_sections": [],
|
92 |
+
"name": "Demucs.ipynb",
|
93 |
+
"provenance": []
|
94 |
+
},
|
95 |
+
"kernelspec": {
|
96 |
+
"display_name": "Python 3",
|
97 |
+
"language": "python",
|
98 |
+
"name": "python3"
|
99 |
+
},
|
100 |
+
"language_info": {
|
101 |
+
"codemirror_mode": {
|
102 |
+
"name": "ipython",
|
103 |
+
"version": 3
|
104 |
+
},
|
105 |
+
"file_extension": ".py",
|
106 |
+
"mimetype": "text/x-python",
|
107 |
+
"name": "python",
|
108 |
+
"nbconvert_exporter": "python",
|
109 |
+
"pygments_lexer": "ipython3",
|
110 |
+
"version": "3.8.3"
|
111 |
+
}
|
112 |
+
},
|
113 |
+
"nbformat": 4,
|
114 |
+
"nbformat_minor": 1
|
115 |
+
}
|
LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) Facebook, Inc. and its affiliates.
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in all
|
13 |
+
copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
+
SOFTWARE.
|
MANIFEST.in
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
include *.md
|
2 |
+
include LICENSE
|
3 |
+
include setup.cfg
|
4 |
+
incude demucs.png
|
5 |
+
include requirements.txt
|
6 |
+
recursive-include docs *.md
|
Makefile
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
default: tests
|
2 |
+
|
3 |
+
all: linter tests docs dist
|
4 |
+
|
5 |
+
linter:
|
6 |
+
flake8 demucs
|
7 |
+
|
8 |
+
tests:
|
9 |
+
python3 -m demucs.separate -n demucs_unittest test.mp3
|
10 |
+
python3 -m demucs.separate -n demucs_unittest --mp3 test.mp3
|
11 |
+
|
12 |
+
dist:
|
13 |
+
python3 setup.py sdist
|
14 |
+
|
15 |
+
clean:
|
16 |
+
rm -r dist build *.egg-info
|
17 |
+
|
18 |
+
|
19 |
+
.PHONY: linter tests dist
|
README.md
CHANGED
@@ -1,13 +1,379 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Music Source Separation in the Waveform Domain
|
2 |
+
|
3 |
+
![tests badge](https://github.com/facebookresearch/demucs/workflows/tests/badge.svg)
|
4 |
+
![linter badge](https://github.com/facebookresearch/demucs/workflows/linter/badge.svg)
|
5 |
+
|
6 |
+
**Branch was rename to main**: Run `git pull && git checkout main` to switch to the new branch.
|
7 |
+
|
8 |
+
**Demucs was just updated!**: much better SDR, smaller models, more data augmentation and PyPI support.
|
9 |
+
|
10 |
+
**For the initial version of Demucs:** [Go this commit][original_demucs].
|
11 |
+
If you are experiencing issues and want the old Demucs back, please fill an issue, and then you can get back to the v1 with
|
12 |
+
`git checkout v1`.
|
13 |
+
|
14 |
+
We provide an implementation of Demucs and Conv-Tasnet for music source separation on the [MusDB][musdb] dataset.
|
15 |
+
They can separate drums, bass and vocals from the rest with state-of-the-art results, surpassing previous waveform or spectrogram based methods.
|
16 |
+
The architecture and results obtained are detailed in our paper
|
17 |
+
[Music Source Separation in the waveform domain][demucs_arxiv].
|
18 |
+
|
19 |
+
Demucs is based on U-Net convolutional architecture inspired by [Wave-U-Net][waveunet] and
|
20 |
+
[SING][sing], with GLUs, a BiLSTM between the encoder and decoder, specific initialization of weights
|
21 |
+
and transposed convolutions in the decoder.
|
22 |
+
|
23 |
+
[Conv-Tasnet](https://arxiv.org/abs/1809.07454)
|
24 |
+
is a separation model developed for speech which predicts a mask on a learnt over-complete linear representation
|
25 |
+
using a purely convolutional model with stride of 1 and dilated convolutional blocks.
|
26 |
+
We reused the code from the [kaituoxu/Conv-TasNet][tasnet]
|
27 |
+
repository and added support for multiple audio channels.
|
28 |
+
|
29 |
+
|
30 |
+
Demucs achieves a state-of-the-art SDR performance of 6.3 when trained only on MusDB.
|
31 |
+
Conv-Tasnet achieves an SDR of 5.7, to be compared with the best performing spectrogram domain model [D3Net][d3net]
|
32 |
+
with an average SDR of 6.
|
33 |
+
Unlike Conv-Tasnet, Demucs reacts positively to pitch/tempo shift augmentation (+0.5 SDR). However, Demucs
|
34 |
+
still suffers from leakage from other sources, in particular between the vocals and other sources, which is less of a problem
|
35 |
+
for Conv-Tasnet. When trained with 150 extra tracks, Demucs reaches an SDR of 6.8, and even surpasses the IRM oracle
|
36 |
+
for the bass source (7.6 against 7.1 for the oracle).
|
37 |
+
See [our paper][demucs_arxiv] Section 6 for more details or listen to our
|
38 |
+
[audio samples][audio] .
|
39 |
+
|
40 |
+
<p align="center">
|
41 |
+
<img src="./demucs.png" alt="Schema representing the structure of Demucs,
|
42 |
+
with a convolutional encoder, a BiLSTM, and a decoder based on transposed convolutions."
|
43 |
+
width="800px"></p>
|
44 |
+
|
45 |
+
|
46 |
+
## Important news if you are already using Demucs
|
47 |
+
|
48 |
+
See the [release notes](./docs/release.md) for more details.
|
49 |
+
|
50 |
+
- 11/05/2021: Adding support for MusDB-HQ and arbitrary wav set, for the MDX challenge. For more information
|
51 |
+
on joining the challenge with Demucs see [the Demucs MDX instructions](docs/mdx.md)
|
52 |
+
- 28/04/2021: **Demucs v2**, with extra augmentation and DiffQ based quantization.
|
53 |
+
**EVERYTHING WILL BREAK**, please restart from scratch following the instructions hereafter.
|
54 |
+
This version also adds overlap between prediction frames, with linear transition from one to the next,
|
55 |
+
which should prevent sudden changes at frame boundaries. Also, Demucs is now on PyPI, so for separation
|
56 |
+
only, installation is as easy as `pip install demucs` :)
|
57 |
+
- 13/04/2020: **Demucs released under MIT**: We are happy to release Demucs under the MIT licence.
|
58 |
+
We hope that this will broaden the impact of this research to new applications.
|
59 |
+
|
60 |
+
|
61 |
+
## Comparison with other models
|
62 |
+
|
63 |
+
An audio comparison of Demucs and Conv-Tasnet with other state-of-the-art methods such as [Wave-U-Net][waveunet], [OpenUnmix][openunmix] or
|
64 |
+
[MMDenseLSTM][mmdenselstm] is available on [the audio comparison page][audio].
|
65 |
+
We provide hereafter a summary of the different metrics presented in the paper.
|
66 |
+
You can also compare [Spleeter][spleeter], Open-Unmix, Demucs and Conv-Tasnet on one of my favorite
|
67 |
+
songs on our [soundcloud playlist][soundcloud].
|
68 |
+
|
69 |
+
### Comparison of accuracy
|
70 |
+
|
71 |
+
`Overall SDR` is the mean of the SDR for each of the 4 sources, `MOS Quality` is a rating from 1 to 5
|
72 |
+
of the naturalness and absence of artifacts given by human listeners (5 = no artifacts), `MOS Contamination`
|
73 |
+
is a rating from 1 to 5 with 5 being zero contamination by other sources. We refer the reader to our [paper][demucs_arxiv], Section 5 and 6,
|
74 |
+
for more details.
|
75 |
+
|
76 |
+
| Model | Domain | Extra data? | Overall SDR | MOS Quality | MOS Contamination |
|
77 |
+
| ------------- |-------------| -----:|------:|----:|----:|
|
78 |
+
| [Open-Unmix][openunmix] | spectrogram | no | 5.3 | 3.0 | 3.3 |
|
79 |
+
| [D3Net][d3net] | spectrogram | no | 6.0 | - | - |
|
80 |
+
| [Wave-U-Net][waveunet] | waveform | no | 3.2 | - | - |
|
81 |
+
| Demucs (this) | waveform | no | **6.3** | **3.2** | 3.3 |
|
82 |
+
| Conv-Tasnet (this) | waveform | no | 5.7 | 2.9 | **3.4** |
|
83 |
+
| Demucs (this) | waveform | 150 songs | **6.8** | - | - |
|
84 |
+
| Conv-Tasnet (this) | waveform | 150 songs | 6.3 | - | - |
|
85 |
+
| [MMDenseLSTM][mmdenselstm] | spectrogram | 804 songs | 6.0 | - | - |
|
86 |
+
| [D3Net][d3net] | spectrogram | 1.5k songs | 6.7 | - | - |
|
87 |
+
| [Spleeter][spleeter] | spectrogram | 25k songs | 5.9 | - | - |
|
88 |
+
|
89 |
+
|
90 |
+
|
91 |
+
## Requirements
|
92 |
+
|
93 |
+
You will need at least Python 3.7. See `requirements.txt` for requirements for separation only,
|
94 |
+
and `environment-[cpu|cuda].yml` if you want to train a new model.
|
95 |
+
|
96 |
+
### For Windows users
|
97 |
+
|
98 |
+
Everytime you see `python3`, replace it with `python.exe`. You should always run commands from the
|
99 |
+
Anaconda console.
|
100 |
+
|
101 |
+
### For musicians
|
102 |
+
|
103 |
+
If you just want to use Demucs to separate tracks, you can install it with
|
104 |
+
|
105 |
+
python3 -m pip -U install demucs
|
106 |
+
|
107 |
+
Advanced OS support are provided on the following page, **you must read the page for your OS before posting an issues**:
|
108 |
+
- **If you are using Windows:** [Windows support](docs/windows.md).
|
109 |
+
- **If you are using MAC OS X:** [Mac OS X support](docs/mac.md).
|
110 |
+
- **If you are using Linux:** [Linux support](docs/linux.md).
|
111 |
+
|
112 |
+
### For machine learning scientists
|
113 |
+
|
114 |
+
If you have anaconda installed, you can run from the root of this repository:
|
115 |
+
|
116 |
+
conda env update -f environment-cpu.yml # if you don't have GPUs
|
117 |
+
conda env update -f environment-cuda.yml # if you have GPUs
|
118 |
+
conda activate demucs
|
119 |
+
pip install -e .
|
120 |
+
|
121 |
+
This will create a `demucs` environment with all the dependencies installed.
|
122 |
+
|
123 |
+
|
124 |
+
You will also need to install [soundstretch/soundtouch](https://www.surina.net/soundtouch/soundstretch.html): on Mac OSX you can do `brew install sound-touch`,
|
125 |
+
and on Ubuntu `sudo apt-get install soundstretch`. This is used for the
|
126 |
+
pitch/tempo augmentation.
|
127 |
+
|
128 |
+
### Running in Docker
|
129 |
+
|
130 |
+
Thanks to @xserrat, there is now a Docker image definition ready for using Demucs. This can ensure all libraries are correctly installed without interfering with the host OS. See his repo [Docker Facebook Demucs](https://github.com/xserrat/docker-facebook-demucs) for more information.
|
131 |
+
|
132 |
+
|
133 |
+
### Running from Colab
|
134 |
+
|
135 |
+
I made a Colab to easily separate track with Demucs. Note that
|
136 |
+
transfer speeds with Colab are a bit slow for large media files,
|
137 |
+
but it will allow you to use Demucs without installing anything.
|
138 |
+
|
139 |
+
[Demucs on Google Colab](https://colab.research.google.com/drive/1jCegIzLIuqqcM85uVs3WCeAJiSoYq3oh?usp=sharing)
|
140 |
+
|
141 |
+
## Separating tracks
|
142 |
+
|
143 |
+
In order to try Demucs or Conv-Tasnet on your tracks, simply run from the root of this repository
|
144 |
+
|
145 |
+
```bash
|
146 |
+
python3 -m demucs.separate PATH_TO_AUDIO_FILE_1 [PATH_TO_AUDIO_FILE_2 ...] # for Demucs
|
147 |
+
python3 -m demucs.separate --mp3 PATH_TO_AUDIO_FILE_1 --mp3-bitrate BITRATE # output files saved as MP3
|
148 |
+
python3 -m demucs.separate -n tasnet PATH_TO_AUDIO_FILE_1 ... # for Conv-Tasnet
|
149 |
+
```
|
150 |
+
|
151 |
+
If you have a GPU, but you run out of memory, please add `-d cpu` to the command line. See the section hereafter for more details on the memory requirements for GPU acceleration.
|
152 |
+
|
153 |
+
Separated tracks are stored in the `separated/MODEL_NAME/TRACK_NAME` folder. There you will find four stereo wav files sampled at 44.1 kHz: `drums.wav`, `bass.wav`,
|
154 |
+
`other.wav`, `vocals.wav` (or `.mp3` if you used the `--mp3` option).
|
155 |
+
|
156 |
+
All audio formats supported by `torchaudio` can be processed (i.e. wav, mp3, flac, ogg/vorbis etc.).
|
157 |
+
Audio is resampled on the fly if necessary.
|
158 |
+
The output will be a wave file, either in int16 format or float32 (if `--float32` is passed).
|
159 |
+
You can pass `--mp3` to save as mp3 instead, and set the bitrate with `--mp3-bitrate` (default is 320kbps).
|
160 |
+
|
161 |
+
Other pre-trained models can be selected with the `-n` flag.
|
162 |
+
The list of pre-trained models is:
|
163 |
+
- `demucs`: Demucs trained on MusDB,
|
164 |
+
- `demucs_quantized`: Quantized Demucs with [diffq](https://github.com/facebookresearch/diffq),
|
165 |
+
this is much smaller (150MB instead of 1GB) and quality should be exactly the same. Let me know if you disagree.
|
166 |
+
As a result, this is the one used by default.
|
167 |
+
- `demucs_extra`: Demucs trained with extra training data,
|
168 |
+
- `demucs48_hq`: Demucs with 48 initial hidden channels, trained on [MusDB-HQ](https://zenodo.org/record/3338373),
|
169 |
+
used as a baseline for the [Music Demixing Challenge 2021](https://www.aicrowd.com/challenges/music-demixing-challenge-ismir-2021),
|
170 |
+
- `tasnet`: Conv-Tasnet trained on MusDB,
|
171 |
+
- `tasnet_extra`: Conv-Tasnet trained with extra training data.
|
172 |
+
|
173 |
+
|
174 |
+
The `--shifts=SHIFTS` performs multiple predictions with random shifts (a.k.a the *shift trick*) of the input and average them. This makes prediction `SHIFTS` times
|
175 |
+
slower but improves the accuracy of Demucs by 0.2 points of SDR.
|
176 |
+
It has limited impact on Conv-Tasnet as the model is by nature almost time equivariant.
|
177 |
+
The value of 10 was used on the original paper, although 5 yields mostly the same gain.
|
178 |
+
It is deactivated by default but it does make vocals a bit smoother.
|
179 |
+
|
180 |
+
The `--overlap` option controls the amount of overlap between prediction windows (for Demucs one window is 10 seconds).
|
181 |
+
Default is 0.25 (i.e. 25%) which is probably fine.
|
182 |
+
|
183 |
+
|
184 |
+
### Memory requirements for GPU acceleration
|
185 |
+
|
186 |
+
If you want to use GPU acceleration, you will need at least 8GB of RAM on your GPU for `demucs` and 4GB for `tasnet`. Sorry, the code for demucs is not super optimized for memory! If you do not have enough memory on your GPU, simply add `-d cpu` to the command line to use the CPU. With Demucs, processing time should be roughly equal to the duration of the track.
|
187 |
+
|
188 |
+
|
189 |
+
## Examining the results from the paper experiments
|
190 |
+
|
191 |
+
The metrics for our experiments are stored in the `results` folder. In particular
|
192 |
+
`museval` json evaluations are stored in `results/evals/EXPERIMENT NAME/results`.
|
193 |
+
You can aggregate and display the results using
|
194 |
+
```bash
|
195 |
+
python3 valid_table.py -p # show valid loss, aggregated with multiple random seeds
|
196 |
+
python3 result_table.py -p # show SDR on test set, aggregated with multiple random seeds
|
197 |
+
python3 result_table.py -p SIR # also SAR, ISR, show other metrics
|
198 |
+
```
|
199 |
+
The `std` column shows the standard deviation divided by the square root of the number of runs.
|
200 |
+
|
201 |
+
## Training Demucs and evaluating on the MusDB dataset
|
202 |
+
|
203 |
+
If you want to train Demucs from scratch, you will need a copy of the MusDB dataset.
|
204 |
+
It can be obtained on the [MusDB website][musdb].
|
205 |
+
To start training on a single GPU or CPU, use:
|
206 |
+
```bash
|
207 |
+
python3 -m demucs -b 4 --musdb MUSDB_PATH # Demucs
|
208 |
+
python3 -m demucs -b 4 --musdb MUSDB_PATH --tasnet --samples=80000 --split_valid # Conv-Tasnet
|
209 |
+
```
|
210 |
+
The `-b 4` flag will set the batch size to 4. The default is 4 and will crash on a single GPU.
|
211 |
+
Demucs was trained on 8 V100 with 32GB of RAM.
|
212 |
+
The default parameters (batch size, number of channels etc)
|
213 |
+
might not be suitable for 16GB GPUs.
|
214 |
+
To train on all available GPUs, use:
|
215 |
+
```bash
|
216 |
+
python3 run.py --musdb MUSDB_PATH [EXTRA_FLAGS]
|
217 |
+
```
|
218 |
+
|
219 |
+
This will launch one process per GPU and report the output of the first one. When interrupting
|
220 |
+
such a run, it is possible some of the children processes are not killed properly, be mindful of that.
|
221 |
+
If you want to use only some of the available GPUs, export the `CUDA_VISIBLE_DEVICES` variable to
|
222 |
+
select those.
|
223 |
+
|
224 |
+
To see all the possible options, use `python3 -m demucs --help`.
|
225 |
+
|
226 |
+
|
227 |
+
### MusDB HQ
|
228 |
+
|
229 |
+
To train on MusDB HQ, use the following flags:
|
230 |
+
|
231 |
+
```bash
|
232 |
+
python3 -m demucs -b 4 --musdb MUSDB_HQ_PATH --is_wav [...]
|
233 |
+
```
|
234 |
+
|
235 |
+
### Custom wav dataset
|
236 |
+
|
237 |
+
You can trained on a custom wav dataset using the following command.
|
238 |
+
At the moment, you still need to pass the MusDB path for evaluation, and the model
|
239 |
+
must use the standard sources (bass, drums, other, vocals). However, it should be relatively
|
240 |
+
easy to fork the code to support different patterns.
|
241 |
+
|
242 |
+
```bash
|
243 |
+
python3 -m demucs -b 4 --wav PATH_TO_WAV_DATASET [...]
|
244 |
+
```
|
245 |
+
|
246 |
+
The folder `PATH_TO_WAV_DATASET` should contain two sub-directories : `train` and `valid`. Each of those
|
247 |
+
should contain one folder per track. Each track folder must contain one file for each source (`drums.wav`, `bass.wav`, `other.wav`, `vocals.wav`) and one file for the mixture (`mixture.wav`).
|
248 |
+
|
249 |
+
By default, the custom wav dataset will replace MusDB. To concatenate it with MusDB, pass `--concat` (if you are using musdbhq, dont forget to pass `--is_wav`).
|
250 |
+
|
251 |
+
### Fine tuning
|
252 |
+
|
253 |
+
You can fine tune from one of the pre-trained models listed in the [Separating tracks Section](#separating-tracks)
|
254 |
+
by passing the `--init=PRETRAINED_NAME`, i.e. for Demucs or ConvTasnet:
|
255 |
+
|
256 |
+
```bash
|
257 |
+
python3 -m demucs -b 4 --musdb MUSDB_PATH --init demucs # Demucs
|
258 |
+
python3 -m demucs -b 4 --musdb MUSDB_PATH --tasnet --samples=80000 --split_valid --init tasnet # Conv-Tasnet
|
259 |
+
```
|
260 |
+
|
261 |
+
### About checkpointing
|
262 |
+
|
263 |
+
Demucs will automatically generate an experiment name from the command line flags you provided.
|
264 |
+
It will checkpoint after every epoch. If a checkpoint already exist for the combination of flags
|
265 |
+
you provided, it will be automatically used. In order to ignore/delete a previous checkpoint,
|
266 |
+
run with the `-R` flag.
|
267 |
+
The optimizer state, the latest model and the best model on valid are stored. At the end of each
|
268 |
+
epoch, the checkpoint will erase the one from the previous epoch.
|
269 |
+
By default, checkpoints are stored in the `./checkpoints` folder. This can be changed using the
|
270 |
+
`--checkpoints CHECKPOINT_FOLDER` flag.
|
271 |
+
|
272 |
+
Not all options will impact the name of the experiment. For instance `--workers` is not
|
273 |
+
shown in the name, therefore, changing this parameter will not impact the checkpoint file
|
274 |
+
used. Refer to [parser.py](demucs/parser.py) for more details.
|
275 |
+
|
276 |
+
|
277 |
+
### Test set evaluations
|
278 |
+
|
279 |
+
Test set evaluations computed with [museval][museval] will be stored under
|
280 |
+
`evals/EXPERIMENT NAME/results`. The experiment name
|
281 |
+
is the first thing printed when running `python3 run.py` or `python3 -m demucs`. If you used
|
282 |
+
the flag `--save`, there will also be a folder `evals/EXPERIMENT NAME/wavs` containing
|
283 |
+
all the extracted waveforms.
|
284 |
+
|
285 |
+
|
286 |
+
#### Running on a cluster
|
287 |
+
|
288 |
+
If you have a cluster available with Slurm, you can set the `run_slurm.py` as the target of a
|
289 |
+
slurm job, using as many nodes as you want and a single task per node. `run_slurm.py` will
|
290 |
+
create one process per GPU and run in a distributed manner. Multinode training is supported.
|
291 |
+
|
292 |
+
### Extracting Raw audio for faster loading
|
293 |
+
|
294 |
+
We observed that loading from compressed mp4 audio lead to unreliable speed, sometimes reducing by
|
295 |
+
a factor of 2 the number of iterations per second. It is possible to extract all data
|
296 |
+
to raw PCM f32e format. If you wish to store the raw data under `RAW_PATH`, run the following
|
297 |
+
command first:
|
298 |
+
|
299 |
+
```bash
|
300 |
+
python3 -m demucs.raw [--workers=10] MUSDB_PATH RAW_PATH
|
301 |
+
```
|
302 |
+
|
303 |
+
You can then train using the `--raw RAW_PATH` flag, for instance:
|
304 |
+
```bash
|
305 |
+
python3 run.py --raw RAW_PATH --musdb MUSDB_PATH
|
306 |
+
```
|
307 |
+
You still need to provide the path to the MusDB dataset as we always load the test set
|
308 |
+
from the original MusDB.
|
309 |
+
|
310 |
+
|
311 |
+
### Results reproduction
|
312 |
+
To reproduce the performance of the main Demucs model in our paper:
|
313 |
+
```bash
|
314 |
+
# Extract raw waveforms. This is optional
|
315 |
+
python3 -m demucs.data MUSDB_PATH RAW_PATH
|
316 |
+
export DEMUCS_RAW=RAW_PATH
|
317 |
+
# Train models with default parameters and multiple seeds
|
318 |
+
python3 run.py --seed 42 # for Demucs
|
319 |
+
python3 run.py --seed 42 --tasnet --X=10 --samples=80000 --epochs=180 --split_valid # for Conv-Tasnet
|
320 |
+
# Repeat for --seed = 43, 44, 45 and 46
|
321 |
+
```
|
322 |
+
|
323 |
+
You can visualize the results aggregated on multiple seeds using
|
324 |
+
```bash
|
325 |
+
python3 valid_table.py # compare validation losses
|
326 |
+
python3 result_table.py # compare test SDR
|
327 |
+
python3 result_table.py SIR # compare test SIR, also available ISR, and SAR
|
328 |
+
```
|
329 |
+
|
330 |
+
You can look at our exploration file [dora.py](dora.py) to see the exact flags
|
331 |
+
for all experiments (grid search and ablation study). If you have a Slurm cluster,
|
332 |
+
you can also try adapting it to run on your own.
|
333 |
+
|
334 |
+
|
335 |
+
### Environment variables
|
336 |
+
|
337 |
+
If you do not want to always specify the path to MUSDB, you can export the following variables:
|
338 |
+
```bash
|
339 |
+
export DEMUCS_MUSDB=PATH TO MUSDB
|
340 |
+
# Optionally, if you extracted raw pcm data
|
341 |
+
# export DEMUCS_RAW=PATH TO RAW PCM
|
342 |
+
```
|
343 |
+
|
344 |
+
## How to cite
|
345 |
+
|
346 |
+
```
|
347 |
+
@article{defossez2019music,
|
348 |
+
title={Music Source Separation in the Waveform Domain},
|
349 |
+
author={D{\'e}fossez, Alexandre and Usunier, Nicolas and Bottou, L{\'e}on and Bach, Francis},
|
350 |
+
journal={arXiv preprint arXiv:1911.13254},
|
351 |
+
year={2019}
|
352 |
+
}
|
353 |
+
```
|
354 |
+
|
355 |
+
## License
|
356 |
+
|
357 |
+
Demucs is released under the MIT license as found in the [LICENSE](LICENSE) file.
|
358 |
+
|
359 |
+
The file `demucs/tasnet.py` is adapted from the [kaituoxu/Conv-TasNet][tasnet] repository.
|
360 |
+
It was originally released under the MIT License updated to support multiple audio channels.
|
361 |
+
|
362 |
+
|
363 |
+
[nsynth]: https://magenta.tensorflow.org/datasets/nsynth
|
364 |
+
[sing_nips]: https://research.fb.com/publications/sing-symbol-to-instrument-neural-generator
|
365 |
+
[sing]: https://github.com/facebookresearch/SING
|
366 |
+
[waveunet]: https://github.com/f90/Wave-U-Net
|
367 |
+
[musdb]: https://sigsep.github.io/datasets/musdb.html
|
368 |
+
[museval]: https://github.com/sigsep/sigsep-mus-eval/
|
369 |
+
[openunmix]: https://github.com/sigsep/open-unmix-pytorch
|
370 |
+
[mmdenselstm]: https://arxiv.org/abs/1805.02410
|
371 |
+
[demucs_arxiv]: https://hal.archives-ouvertes.fr/hal-02379796/document
|
372 |
+
[musevalpth]: museval_torch.py
|
373 |
+
[tasnet]: https://github.com/kaituoxu/Conv-TasNet
|
374 |
+
[audio]: https://ai.honu.io/papers/demucs/index.html
|
375 |
+
[spleeter]: https://github.com/deezer/spleeter
|
376 |
+
[soundcloud]: https://soundcloud.com/voyageri/sets/source-separation-in-the-waveform-domain
|
377 |
+
[original_demucs]: https://github.com/facebookresearch/demucs/tree/dcee007a350467abc3295dfe267034460f9ffa4e
|
378 |
+
[diffq]: https://github.com/facebookresearch/diffq
|
379 |
+
[d3net]: https://arxiv.org/abs/2010.01733
|
baselines/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
baselines/IRM2/test/AM Contra - Heart Peripheral.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7a1e79ff415009526e480beba3666e14b163fe33c23dab4040e2077e25c61bbe
|
3 |
+
size 26828
|
baselines/IRM2/test/Al James - Schoolboy Facination.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8caae5351b7dd0bc7fce2ee4cc915e291ed4636709dfbaf19962aee0f0a618ab
|
3 |
+
size 24865
|
baselines/IRM2/test/Angels In Amplifiers - I'm Alright.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ed9d8a341ceb370fa8e8b7cc6f336def7efa00941edac1cb834f573fd5c82253
|
3 |
+
size 23052
|
baselines/IRM2/test/Arise - Run Run Run.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9066cfe82dc69614fae9338dcfdef5a65f7e2ebdb7dadadb6d27df321d6c3005
|
3 |
+
size 25900
|
baselines/IRM2/test/BKS - Bulldozer.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9a54943bbd84ca3474a1bf2985d5c34796b1eebe8291f9d84807b1b81695cf24
|
3 |
+
size 42911
|
baselines/IRM2/test/BKS - Too Much.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:57c5c90e3cbb955ce0210cc6d5aaad3af84ff23493aea10e6c30f189fc364c87
|
3 |
+
size 21123
|
baselines/IRM2/test/Ben Carrigan - We'll Talk About It All Tonight.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ed5db465dd93085a257b3044c55c2381ffd60845067ed47f0d6ad6d9b1061d10
|
3 |
+
size 20579
|
baselines/IRM2/test/Bobby Nobody - Stitch Up.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:74f77a2bf52249b78c23a9be577de79d9168d95cf00fb3a674468ec35342f5ba
|
3 |
+
size 23353
|
baselines/IRM2/test/Buitraker - Revo X.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:feee80b8fa70d36eb2ef8a7de45c087db7cec4b6b0145218d14a4be99ed9f785
|
3 |
+
size 28203
|
baselines/IRM2/test/Carlos Gonzalez - A Place For Us.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3aaadf03103b92715015653ec7d5af59db586dc8d45c4ced2b2ef5e4db4f8e83
|
3 |
+
size 31961
|
baselines/IRM2/test/Cristina Vane - So Easy.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8470eebddeb221bf2702c162cc7f19c2d5e7f8eb14d6520ad1e060165c7773b6
|
3 |
+
size 28275
|
baselines/IRM2/test/Detsky Sad - Walkie Talkie.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:bf8778f15c4ad7bb3fa30428ca2d780be40b22f3268227d01e5ae803afda180c
|
3 |
+
size 11024
|
baselines/IRM2/test/Enda Reilly - Cur An Long Ag Seol.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:14e7d069a2840224a8876fdc7f328ca52a865e6540a2939c3c2aef0ccd6fe7df
|
3 |
+
size 21139
|
baselines/IRM2/test/Forkupines - Semantics.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ba47a499b526cde808fbb10ca2858886c4606f1bccee921ae54721091573a80f
|
3 |
+
size 21237
|
baselines/IRM2/test/Georgia Wonder - Siren.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cca85c851447e94539bfdefe0b00a6fcb4746e34197058b2dc8b4feb46b193a1
|
3 |
+
size 36791
|
baselines/IRM2/test/Girls Under Glass - We Feel Alright.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9a7e24e0628f44ee1cc774e2c454ac4cea0a9c63064348af6e33225505c2f1d2
|
3 |
+
size 21935
|
baselines/IRM2/test/Hollow Ground - Ill Fate.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8f37c5bc36becaed3d9649b36e6d68b8f4a86960b4103fcc2f5710fa772dae37
|
3 |
+
size 12330
|
baselines/IRM2/test/James Elder & Mark M Thompson - The English Actor.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:09faaffbfd9825a3104c935ac27da722700c895f1c5c095b6f9570ed551a189a
|
3 |
+
size 20687
|
baselines/IRM2/test/Juliet's Rescue - Heartbeats.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a5ec942c2019fabba64dbbcad131b7ac986f126d87fdb9ebbd3c8d139217d158
|
3 |
+
size 27498
|
baselines/IRM2/test/Little Chicago's Finest - My Own.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:fdaf06d216ad224f0c78ca9163f190311157718618e17e462bd781d1b36c3e25
|
3 |
+
size 31610
|
baselines/IRM2/test/Louis Cressy Band - Good Time.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f7191c053ebc148d9ca86e6583cb0ecafaa773e4e0107a5d7c0915bab034c03e
|
3 |
+
size 21264
|
baselines/IRM2/test/Lyndsey Ollard - Catching Up.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a54bda98c9b061c4c994b173df4b1c895de56475484cb29973e2a86c5133699b
|
3 |
+
size 25709
|
baselines/IRM2/test/M.E.R.C. Music - Knockout.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1e81ed157dec77de057bbb712ad78bf574305d8d2ef4d24e84f2a8ca69ce88ee
|
3 |
+
size 26605
|
baselines/IRM2/test/Moosmusic - Big Dummy Shake.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:164e3f93976f698750757c21dd5c77e932c90b7f5cbccae6c44a976abc86ff86
|
3 |
+
size 22563
|
baselines/IRM2/test/Motor Tapes - Shore.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1938098d0212e9afdff2a0371887b66842718fdca141ce9c017ceadc9e2ef822
|
3 |
+
size 25089
|
baselines/IRM2/test/Mu - Too Bright.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:68ca54ac8985fbad1c47137ced2e302831bb9c5b35ddb2c6c45ec4f8848ea3bf
|
3 |
+
size 22522
|
baselines/IRM2/test/Nerve 9 - Pray For The Rain.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:829f8efcda9469b277961892dff22d4b569a3e57f7cc29bc773e686d9a23455b
|
3 |
+
size 32881
|
baselines/IRM2/test/PR - Happy Daze.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e0d41b2eb0aff25e1e1ba1e884a50257bfb1e87905bc396a2cd2cf6eda0f5e7d
|
3 |
+
size 21052
|
baselines/IRM2/test/PR - Oh No.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cd6a60a64165c2f4f427f041c6955a18776858201afc293c9eb50f92b82369bf
|
3 |
+
size 9804
|
baselines/IRM2/test/Punkdisco - Oral Hygiene.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4186d9e9b295ffc6ef41e39534d1109d19b0182cb92288b7a7abdca8afb1aaff
|
3 |
+
size 19114
|
baselines/IRM2/test/Raft Monk - Tiring.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:535a886ce8cdf756f489fc36cf7d73298d09839e241121f5039046c96be1d20b
|
3 |
+
size 23263
|
baselines/IRM2/test/Sambasevam Shanmugam - Kaathaadi.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:648a338396f76e002c61f3bd10323cebc155a7675e630ac6dbee8335fcdf2828
|
3 |
+
size 23183
|
baselines/IRM2/test/Secretariat - Borderline.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ac1a105faf4ee9bb3ec09273d21aeadf5de7752cb0eb0ca292f673210d77bfd3
|
3 |
+
size 27299
|
baselines/IRM2/test/Secretariat - Over The Top.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:2e1a432abaa8b5e5bf6fdc6df892706e047dc5bd96e2e2da874dca5f14684441
|
3 |
+
size 21642
|
baselines/IRM2/test/Side Effects Project - Sing With Me.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:594dc701ab7ce759ff1006e8947688f1609e9bc87a18aba638b83432d9e2d32e
|
3 |
+
size 28539
|
baselines/IRM2/test/Signe Jakobsen - What Have You Done To Me.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c9347bd26e385f06a0f7350534a7f205245765e6d3eb145922cdb4cf3de4f0f7
|
3 |
+
size 22512
|
baselines/IRM2/test/Skelpolu - Resurrection.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:494b2d48e6d33b2167f542cc1b63c45377514f126245fd634d270f34495f8251
|
3 |
+
size 14837
|
baselines/IRM2/test/Speak Softly - Broken Man.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8e049a84e184aed110458ca26ac929ddc79caef637dfa8decdcb4d438afb4232
|
3 |
+
size 25457
|
baselines/IRM2/test/Speak Softly - Like Horses.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a29311792a22e9e15c970d8e9a84932e54ed969d0efc2dcd8ba188e409924a08
|
3 |
+
size 27657
|
baselines/IRM2/test/The Doppler Shift - Atrophy.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3beaba378e7e0c92d1204fcd7712aeecc09c8ee63c3e56b45e9357d64ae426a1
|
3 |
+
size 42460
|
baselines/IRM2/test/The Easton Ellises (Baumi) - SDRNR.json.gz
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d6b5f83f1984d9440a4e5ceb5c68d80dc84d887861da24a9dc96017aa2a399f5
|
3 |
+
size 29888
|