Spaces:
Sleeping
Sleeping
Commit
·
8a3bb8f
1
Parent(s):
30c1b93
Update dataset to use range for num effects
Browse files- README.md +8 -14
- cfg/config.yaml +14 -19
- cfg/exp/default.yaml +4 -9
- cfg/exp/dist.yaml +3 -4
- remfx/datasets.py +43 -37
- setup.py +0 -1
README.md
CHANGED
@@ -20,36 +20,30 @@
|
|
20 |
|
21 |
## Experiments
|
22 |
Training parameters can be configured in `cfg/exp/default.yaml`. Here are some descriptions
|
23 |
-
- `
|
24 |
-
- `
|
25 |
- `model={model}` architecture to use (see 'Models')
|
26 |
-
- `
|
27 |
-
- `effects_to_remove={effect}` Effects to remove (see 'Effects')
|
28 |
- `accelerator=null/'gpu'` Use GPU (1 device) (default: null)
|
29 |
- `render_files=True/False` Render files. Disable to skip rendering stage (default: True)
|
30 |
- `render_root={path/to/dir}`. Root directory to render files to (default: DATASET_ROOT)
|
31 |
|
32 |
-
Note that "kept effects" are calculated from the difference between `effects_to_use` and `effects_to_remove`.
|
33 |
-
|
34 |
These can also be specified on the command line.
|
35 |
-
Example: `python scripts/train.py model=demucs "effects_to_use=[distortion, reverb, chorus]" "effects_to_remove=[distortion]" max_kept_effects=2 max_removed_effects=4 shuffle_kept_effects=False shuffle_removed_effects=True accelerator='gpu' render_root=/scratch/VocalSet'`
|
36 |
-
|
37 |
-
Printout:
|
38 |
-
```
|
39 |
-
Effect Summary:
|
40 |
-
Apply kept effects: ['chorus', 'reverb'] (Up to 2, chosen in order) -> Dry
|
41 |
-
Apply remove effects: ['distortion'] (Up to 4, chosen randomly) -> Wet
|
42 |
-
```
|
43 |
|
44 |
## Models
|
45 |
- `umx`
|
46 |
- `demucs`
|
|
|
|
|
|
|
47 |
|
48 |
## Effects
|
49 |
- `chorus`
|
50 |
- `compressor`
|
51 |
- `distortion`
|
52 |
- `reverb`
|
|
|
53 |
|
54 |
## Misc.
|
55 |
By default, files are rendered to `input_dir / processed / {string_of_effects} / {train|val|test}`.
|
|
|
20 |
|
21 |
## Experiments
|
22 |
Training parameters can be configured in `cfg/exp/default.yaml`. Here are some descriptions
|
23 |
+
- `num_kept_effects={min, max}` range of <b> Kept </b> effects to apply to each file.
|
24 |
+
- `num_removed_effects={min, max}` range of <b> Removed </b> effects to apply to each file.
|
25 |
- `model={model}` architecture to use (see 'Models')
|
26 |
+
- `effects_to_keek={effect}` Effects to apply but not remove (see 'Effects')
|
27 |
+
- `effects_to_remove={effect}` Effects to remove (see 'Effects')
|
28 |
- `accelerator=null/'gpu'` Use GPU (1 device) (default: null)
|
29 |
- `render_files=True/False` Render files. Disable to skip rendering stage (default: True)
|
30 |
- `render_root={path/to/dir}`. Root directory to render files to (default: DATASET_ROOT)
|
31 |
|
|
|
|
|
32 |
These can also be specified on the command line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
## Models
|
35 |
- `umx`
|
36 |
- `demucs`
|
37 |
+
- `tcn`
|
38 |
+
- `dcunet`
|
39 |
+
- `dptnet`
|
40 |
|
41 |
## Effects
|
42 |
- `chorus`
|
43 |
- `compressor`
|
44 |
- `distortion`
|
45 |
- `reverb`
|
46 |
+
- `delay`
|
47 |
|
48 |
## Misc.
|
49 |
By default, files are rendered to `input_dir / processed / {string_of_effects} / {train|val|test}`.
|
cfg/config.yaml
CHANGED
@@ -14,23 +14,18 @@ accelerator: null
|
|
14 |
log_audio: True
|
15 |
|
16 |
# Effects
|
17 |
-
|
18 |
-
|
19 |
shuffle_kept_effects: True
|
20 |
shuffle_removed_effects: False
|
21 |
num_classes: 5
|
22 |
-
|
23 |
-
- compressor
|
24 |
-
- distortion
|
25 |
- reverb
|
26 |
- chorus
|
27 |
- delay
|
28 |
effects_to_remove:
|
29 |
- compressor
|
30 |
- distortion
|
31 |
-
- reverb
|
32 |
-
- chorus
|
33 |
-
- delay
|
34 |
|
35 |
callbacks:
|
36 |
model_checkpoint:
|
@@ -62,10 +57,10 @@ datamodule:
|
|
62 |
chunk_size: ${chunk_size}
|
63 |
mode: "train"
|
64 |
effect_modules: ${effects}
|
65 |
-
|
66 |
effects_to_remove: ${effects_to_remove}
|
67 |
-
|
68 |
-
|
69 |
shuffle_kept_effects: ${shuffle_kept_effects}
|
70 |
shuffle_removed_effects: ${shuffle_removed_effects}
|
71 |
render_files: ${render_files}
|
@@ -78,10 +73,10 @@ datamodule:
|
|
78 |
chunk_size: ${chunk_size}
|
79 |
mode: "val"
|
80 |
effect_modules: ${effects}
|
81 |
-
|
82 |
effects_to_remove: ${effects_to_remove}
|
83 |
-
|
84 |
-
|
85 |
shuffle_kept_effects: ${shuffle_kept_effects}
|
86 |
shuffle_removed_effects: ${shuffle_removed_effects}
|
87 |
render_files: ${render_files}
|
@@ -94,10 +89,10 @@ datamodule:
|
|
94 |
chunk_size: ${chunk_size}
|
95 |
mode: "test"
|
96 |
effect_modules: ${effects}
|
97 |
-
|
98 |
effects_to_remove: ${effects_to_remove}
|
99 |
-
|
100 |
-
|
101 |
shuffle_kept_effects: ${shuffle_kept_effects}
|
102 |
shuffle_removed_effects: ${shuffle_removed_effects}
|
103 |
render_files: ${render_files}
|
@@ -121,11 +116,11 @@ trainer:
|
|
121 |
_target_: pytorch_lightning.Trainer
|
122 |
precision: 32 # Precision used for tensors, default `32`
|
123 |
min_epochs: 0
|
124 |
-
|
125 |
enable_model_summary: False
|
126 |
log_every_n_steps: 1 # Logs metrics every N batches
|
127 |
accumulate_grad_batches: 1
|
128 |
accelerator: ${accelerator}
|
129 |
devices: 1
|
130 |
gradient_clip_val: 10.0
|
131 |
-
|
|
|
14 |
log_audio: True
|
15 |
|
16 |
# Effects
|
17 |
+
num_kept_effects: [2,2] # [min, max]
|
18 |
+
num_removed_effects: [2,2] # [min, max]
|
19 |
shuffle_kept_effects: True
|
20 |
shuffle_removed_effects: False
|
21 |
num_classes: 5
|
22 |
+
effects_to_keep:
|
|
|
|
|
23 |
- reverb
|
24 |
- chorus
|
25 |
- delay
|
26 |
effects_to_remove:
|
27 |
- compressor
|
28 |
- distortion
|
|
|
|
|
|
|
29 |
|
30 |
callbacks:
|
31 |
model_checkpoint:
|
|
|
57 |
chunk_size: ${chunk_size}
|
58 |
mode: "train"
|
59 |
effect_modules: ${effects}
|
60 |
+
effects_to_keep: ${effects_to_keep}
|
61 |
effects_to_remove: ${effects_to_remove}
|
62 |
+
num_kept_effects: ${num_kept_effects}
|
63 |
+
num_removed_effects: ${num_removed_effects}
|
64 |
shuffle_kept_effects: ${shuffle_kept_effects}
|
65 |
shuffle_removed_effects: ${shuffle_removed_effects}
|
66 |
render_files: ${render_files}
|
|
|
73 |
chunk_size: ${chunk_size}
|
74 |
mode: "val"
|
75 |
effect_modules: ${effects}
|
76 |
+
effects_to_keep: ${effects_to_keep}
|
77 |
effects_to_remove: ${effects_to_remove}
|
78 |
+
num_kept_effects: ${num_kept_effects}
|
79 |
+
num_removed_effects: ${num_removed_effects}
|
80 |
shuffle_kept_effects: ${shuffle_kept_effects}
|
81 |
shuffle_removed_effects: ${shuffle_removed_effects}
|
82 |
render_files: ${render_files}
|
|
|
89 |
chunk_size: ${chunk_size}
|
90 |
mode: "test"
|
91 |
effect_modules: ${effects}
|
92 |
+
effects_to_keep: ${effects_to_keep}
|
93 |
effects_to_remove: ${effects_to_remove}
|
94 |
+
num_kept_effects: ${num_kept_effects}
|
95 |
+
num_removed_effects: ${num_removed_effects}
|
96 |
shuffle_kept_effects: ${shuffle_kept_effects}
|
97 |
shuffle_removed_effects: ${shuffle_removed_effects}
|
98 |
render_files: ${render_files}
|
|
|
116 |
_target_: pytorch_lightning.Trainer
|
117 |
precision: 32 # Precision used for tensors, default `32`
|
118 |
min_epochs: 0
|
119 |
+
num_epochs: -1
|
120 |
enable_model_summary: False
|
121 |
log_every_n_steps: 1 # Logs metrics every N batches
|
122 |
accumulate_grad_batches: 1
|
123 |
accelerator: ${accelerator}
|
124 |
devices: 1
|
125 |
gradient_clip_val: 10.0
|
126 |
+
num_steps: 50000
|
cfg/exp/default.yaml
CHANGED
@@ -11,23 +11,18 @@ render_root: "./data"
|
|
11 |
accelerator: null
|
12 |
log_audio: True
|
13 |
# Effects
|
14 |
-
|
15 |
-
|
16 |
shuffle_kept_effects: True
|
17 |
shuffle_removed_effects: False
|
18 |
num_classes: 5
|
19 |
-
|
20 |
-
- compressor
|
21 |
-
- distortion
|
22 |
-
- reverb
|
23 |
-
- chorus
|
24 |
-
- delay
|
25 |
effects_to_remove:
|
26 |
- compressor
|
27 |
-
- distortion
|
28 |
- reverb
|
29 |
- chorus
|
30 |
- delay
|
|
|
31 |
datamodule:
|
32 |
batch_size: 16
|
33 |
num_workers: 8
|
|
|
11 |
accelerator: null
|
12 |
log_audio: True
|
13 |
# Effects
|
14 |
+
num_kept_effects: [0,0] # [min, max]
|
15 |
+
num_removed_effects: [0,5] # [min, max]
|
16 |
shuffle_kept_effects: True
|
17 |
shuffle_removed_effects: False
|
18 |
num_classes: 5
|
19 |
+
effects_to_keep:
|
|
|
|
|
|
|
|
|
|
|
20 |
effects_to_remove:
|
21 |
- compressor
|
|
|
22 |
- reverb
|
23 |
- chorus
|
24 |
- delay
|
25 |
+
- distortion
|
26 |
datamodule:
|
27 |
batch_size: 16
|
28 |
num_workers: 8
|
cfg/exp/dist.yaml
CHANGED
@@ -11,14 +11,13 @@ render_root: "/scratch/EffectSet"
|
|
11 |
accelerator: "gpu"
|
12 |
log_audio: True
|
13 |
# Effects
|
14 |
-
|
15 |
-
|
16 |
shuffle_kept_effects: True
|
17 |
shuffle_removed_effects: False
|
18 |
num_classes: 5
|
19 |
-
|
20 |
- compressor
|
21 |
-
- distortion
|
22 |
- reverb
|
23 |
- chorus
|
24 |
- delay
|
|
|
11 |
accelerator: "gpu"
|
12 |
log_audio: True
|
13 |
# Effects
|
14 |
+
num_kept_effects: [0,4] # [min, max]
|
15 |
+
num_removed_effects: [1,1] # [min, max]
|
16 |
shuffle_kept_effects: True
|
17 |
shuffle_removed_effects: False
|
18 |
num_classes: 5
|
19 |
+
effects_to_keep:
|
20 |
- compressor
|
|
|
21 |
- reverb
|
22 |
- chorus
|
23 |
- delay
|
remfx/datasets.py
CHANGED
@@ -9,8 +9,7 @@ import random
|
|
9 |
from tqdm import tqdm
|
10 |
from pathlib import Path
|
11 |
from remfx import effects
|
12 |
-
from
|
13 |
-
from typing import Any, List, Dict
|
14 |
from torch.utils.data import Dataset, DataLoader
|
15 |
from remfx.utils import select_random_chunk
|
16 |
|
@@ -155,10 +154,10 @@ class EffectDataset(Dataset):
|
|
155 |
chunk_size: int = 262144,
|
156 |
total_chunks: int = 1000,
|
157 |
effect_modules: List[Dict[str, torch.nn.Module]] = None,
|
158 |
-
|
159 |
effects_to_remove: List[str] = None,
|
160 |
-
|
161 |
-
|
162 |
shuffle_kept_effects: bool = True,
|
163 |
shuffle_removed_effects: bool = False,
|
164 |
render_files: bool = True,
|
@@ -174,16 +173,16 @@ class EffectDataset(Dataset):
|
|
174 |
self.total_chunks = total_chunks
|
175 |
self.sample_rate = sample_rate
|
176 |
self.mode = mode
|
177 |
-
self.
|
178 |
-
self.
|
179 |
-
self.
|
180 |
-
self.effects_to_remove = effects_to_remove
|
181 |
self.normalize = effects.LoudnessNormalize(sample_rate, target_lufs_db=-20)
|
182 |
self.effects = effect_modules
|
183 |
self.shuffle_kept_effects = shuffle_kept_effects
|
184 |
self.shuffle_removed_effects = shuffle_removed_effects
|
185 |
-
effects_string = "_".join(self.
|
186 |
-
self.
|
187 |
self.proc_root = self.render_root / "processed" / effects_string / self.mode
|
188 |
|
189 |
self.files = locate_files(self.root, self.mode)
|
@@ -251,7 +250,7 @@ class EffectDataset(Dataset):
|
|
251 |
f"Effect {effect} not found in ALL_EFFECTS. "
|
252 |
f"Please choose from {ALL_EFFECTS}"
|
253 |
)
|
254 |
-
for effect in self.
|
255 |
if effect not in self.effects.keys():
|
256 |
raise ValueError(
|
257 |
f"Effect {effect} not found in self.effects. "
|
@@ -263,27 +262,37 @@ class EffectDataset(Dataset):
|
|
263 |
f"Effect {effect} not found in self.effects. "
|
264 |
f"Please choose from {self.effects.keys()}"
|
265 |
)
|
266 |
-
kept_fx = list(
|
267 |
-
OrderedSet(self.effects_to_use) - OrderedSet(self.effects_to_remove)
|
268 |
-
)
|
269 |
kept_str = "randomly" if self.shuffle_kept_effects else "in order"
|
270 |
-
rem_fx = self.effects_to_remove
|
271 |
rem_str = "randomly" if self.shuffle_removed_effects else "in order"
|
272 |
-
if self.
|
273 |
-
|
|
|
|
|
|
|
|
|
|
|
274 |
else:
|
275 |
-
num_kept_str =
|
276 |
-
|
277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
else:
|
279 |
-
num_rem_str =
|
280 |
-
|
|
|
|
|
|
|
281 |
print(
|
282 |
f"Effect Summary: \n"
|
283 |
f"Apply kept effects: {kept_fx} ({num_kept_str}, chosen {kept_str}) -> Dry\n"
|
284 |
f"Apply remove effects: {rem_fx} ({num_rem_str}, chosen {rem_str}) -> Wet\n"
|
285 |
)
|
286 |
-
return kept_fx
|
287 |
|
288 |
def process_effects(self, dry: torch.Tensor):
|
289 |
# Apply Kept Effects
|
@@ -293,13 +302,10 @@ class EffectDataset(Dataset):
|
|
293 |
else:
|
294 |
effect_indices = torch.arange(len(self.effects_to_keep))
|
295 |
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
else:
|
300 |
-
num_kept_effects = len(self.effects_to_keep)
|
301 |
effect_indices = effect_indices[:num_kept_effects]
|
302 |
-
|
303 |
# Index in effect settings
|
304 |
effect_names_to_apply = [self.effects_to_keep[i] for i in effect_indices]
|
305 |
effects_to_apply = [self.effects[i] for i in effect_names_to_apply]
|
@@ -312,22 +318,19 @@ class EffectDataset(Dataset):
|
|
312 |
|
313 |
# Apply effects_to_remove
|
314 |
# Shuffle effects if specified
|
315 |
-
wet = torch.clone(dry)
|
316 |
if self.shuffle_removed_effects:
|
317 |
effect_indices = torch.randperm(len(self.effects_to_remove))
|
318 |
else:
|
319 |
effect_indices = torch.arange(len(self.effects_to_remove))
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
num_removed_effects = len(self.effects_to_remove)
|
325 |
effect_indices = effect_indices[:num_removed_effects]
|
326 |
# Index in effect settings
|
327 |
effect_names_to_apply = [self.effects_to_remove[i] for i in effect_indices]
|
328 |
effects_to_apply = [self.effects[i] for i in effect_names_to_apply]
|
329 |
# Apply
|
330 |
-
|
331 |
wet_labels = []
|
332 |
for effect in effects_to_apply:
|
333 |
# Normalize in-between effects
|
@@ -346,7 +349,10 @@ class EffectDataset(Dataset):
|
|
346 |
# Normalize
|
347 |
normalized_dry = self.normalize(dry)
|
348 |
normalized_wet = self.normalize(wet)
|
|
|
|
|
349 |
|
|
|
350 |
return normalized_dry, normalized_wet, dry_labels_tensor, wet_labels_tensor
|
351 |
|
352 |
|
|
|
9 |
from tqdm import tqdm
|
10 |
from pathlib import Path
|
11 |
from remfx import effects
|
12 |
+
from typing import Any, List, Dict, Tuple
|
|
|
13 |
from torch.utils.data import Dataset, DataLoader
|
14 |
from remfx.utils import select_random_chunk
|
15 |
|
|
|
154 |
chunk_size: int = 262144,
|
155 |
total_chunks: int = 1000,
|
156 |
effect_modules: List[Dict[str, torch.nn.Module]] = None,
|
157 |
+
effects_to_keep: List[str] = None,
|
158 |
effects_to_remove: List[str] = None,
|
159 |
+
num_kept_effects: List[int] = [1, 5],
|
160 |
+
num_removed_effects: List[int] = [1, 5],
|
161 |
shuffle_kept_effects: bool = True,
|
162 |
shuffle_removed_effects: bool = False,
|
163 |
render_files: bool = True,
|
|
|
173 |
self.total_chunks = total_chunks
|
174 |
self.sample_rate = sample_rate
|
175 |
self.mode = mode
|
176 |
+
self.num_kept_effects = num_kept_effects
|
177 |
+
self.num_removed_effects = num_removed_effects
|
178 |
+
self.effects_to_keep = [] if effects_to_keep == None else effects_to_keep
|
179 |
+
self.effects_to_remove = [] if effects_to_remove == None else effects_to_remove
|
180 |
self.normalize = effects.LoudnessNormalize(sample_rate, target_lufs_db=-20)
|
181 |
self.effects = effect_modules
|
182 |
self.shuffle_kept_effects = shuffle_kept_effects
|
183 |
self.shuffle_removed_effects = shuffle_removed_effects
|
184 |
+
effects_string = "_".join(self.effects_to_keep + ["_"] + self.effects_to_remove)
|
185 |
+
self.validate_effect_input()
|
186 |
self.proc_root = self.render_root / "processed" / effects_string / self.mode
|
187 |
|
188 |
self.files = locate_files(self.root, self.mode)
|
|
|
250 |
f"Effect {effect} not found in ALL_EFFECTS. "
|
251 |
f"Please choose from {ALL_EFFECTS}"
|
252 |
)
|
253 |
+
for effect in self.effects_to_keep:
|
254 |
if effect not in self.effects.keys():
|
255 |
raise ValueError(
|
256 |
f"Effect {effect} not found in self.effects. "
|
|
|
262 |
f"Effect {effect} not found in self.effects. "
|
263 |
f"Please choose from {self.effects.keys()}"
|
264 |
)
|
|
|
|
|
|
|
265 |
kept_str = "randomly" if self.shuffle_kept_effects else "in order"
|
|
|
266 |
rem_str = "randomly" if self.shuffle_removed_effects else "in order"
|
267 |
+
if self.num_kept_effects[0] > self.num_kept_effects[1]:
|
268 |
+
raise ValueError(
|
269 |
+
f"num_kept_effects must be a tuple of (min, max). "
|
270 |
+
f"Got {self.num_kept_effects}"
|
271 |
+
)
|
272 |
+
if self.num_kept_effects[0] == self.num_kept_effects[1]:
|
273 |
+
num_kept_str = f"{self.num_kept_effects[0]}"
|
274 |
else:
|
275 |
+
num_kept_str = (
|
276 |
+
f"Between {self.num_kept_effects[0]}-{self.num_kept_effects[1]}"
|
277 |
+
)
|
278 |
+
if self.num_removed_effects[0] > self.num_removed_effects[1]:
|
279 |
+
raise ValueError(
|
280 |
+
f"num_removed_effects must be a tuple of (min, max). "
|
281 |
+
f"Got {self.num_removed_effects}"
|
282 |
+
)
|
283 |
+
if self.num_removed_effects[0] == self.num_removed_effects[1]:
|
284 |
+
num_rem_str = f"{self.num_removed_effects[0]}"
|
285 |
else:
|
286 |
+
num_rem_str = (
|
287 |
+
f"Between {self.num_removed_effects[0]}-{self.num_removed_effects[1]}"
|
288 |
+
)
|
289 |
+
rem_fx = self.effects_to_remove
|
290 |
+
kept_fx = self.effects_to_keep
|
291 |
print(
|
292 |
f"Effect Summary: \n"
|
293 |
f"Apply kept effects: {kept_fx} ({num_kept_str}, chosen {kept_str}) -> Dry\n"
|
294 |
f"Apply remove effects: {rem_fx} ({num_rem_str}, chosen {rem_str}) -> Wet\n"
|
295 |
)
|
|
|
296 |
|
297 |
def process_effects(self, dry: torch.Tensor):
|
298 |
# Apply Kept Effects
|
|
|
302 |
else:
|
303 |
effect_indices = torch.arange(len(self.effects_to_keep))
|
304 |
|
305 |
+
r1 = self.num_kept_effects[0]
|
306 |
+
r2 = self.num_kept_effects[1]
|
307 |
+
num_kept_effects = torch.round((r1 - r2) * torch.rand(1) + r2).int()
|
|
|
|
|
308 |
effect_indices = effect_indices[:num_kept_effects]
|
|
|
309 |
# Index in effect settings
|
310 |
effect_names_to_apply = [self.effects_to_keep[i] for i in effect_indices]
|
311 |
effects_to_apply = [self.effects[i] for i in effect_names_to_apply]
|
|
|
318 |
|
319 |
# Apply effects_to_remove
|
320 |
# Shuffle effects if specified
|
|
|
321 |
if self.shuffle_removed_effects:
|
322 |
effect_indices = torch.randperm(len(self.effects_to_remove))
|
323 |
else:
|
324 |
effect_indices = torch.arange(len(self.effects_to_remove))
|
325 |
+
wet = torch.clone(dry)
|
326 |
+
r1 = self.num_removed_effects[0]
|
327 |
+
r2 = self.num_removed_effects[1]
|
328 |
+
num_removed_effects = torch.round((r1 - r2) * torch.rand(1) + r2).int()
|
|
|
329 |
effect_indices = effect_indices[:num_removed_effects]
|
330 |
# Index in effect settings
|
331 |
effect_names_to_apply = [self.effects_to_remove[i] for i in effect_indices]
|
332 |
effects_to_apply = [self.effects[i] for i in effect_names_to_apply]
|
333 |
# Apply
|
|
|
334 |
wet_labels = []
|
335 |
for effect in effects_to_apply:
|
336 |
# Normalize in-between effects
|
|
|
349 |
# Normalize
|
350 |
normalized_dry = self.normalize(dry)
|
351 |
normalized_wet = self.normalize(wet)
|
352 |
+
print(dry_labels_tensor, wet_labels_tensor)
|
353 |
+
import pdb
|
354 |
|
355 |
+
pdb.set_trace()
|
356 |
return normalized_dry, normalized_wet, dry_labels_tensor, wet_labels_tensor
|
357 |
|
358 |
|
setup.py
CHANGED
@@ -47,7 +47,6 @@ setup(
|
|
47 |
"pyloudnorm",
|
48 |
"pedalboard",
|
49 |
"frechet_audio_distance",
|
50 |
-
"ordered-set",
|
51 |
"asteroid",
|
52 |
],
|
53 |
include_package_data=True,
|
|
|
47 |
"pyloudnorm",
|
48 |
"pedalboard",
|
49 |
"frechet_audio_distance",
|
|
|
50 |
"asteroid",
|
51 |
],
|
52 |
include_package_data=True,
|