Spaces:
Sleeping
Sleeping
Commit
·
fe64756
1
Parent(s):
c7866f1
Add ability to remove all effects
Browse files- remfx/datasets.py +9 -6
remfx/datasets.py
CHANGED
@@ -43,9 +43,9 @@ class VocalSet(Dataset):
|
|
43 |
self.files = sorted(list(mode_path.glob("./**/*.wav")))
|
44 |
self.normalize = effects.LoudnessNormalize(sample_rate, target_lufs_db=-20)
|
45 |
self.applied_effects = applied_effects
|
46 |
-
self.effect_to_remove_name =
|
47 |
|
48 |
-
effect_str = "
|
49 |
effect_str += f"_{self.effect_to_remove_name}"
|
50 |
self.proc_root = self.render_root / "processed" / effect_str / self.mode
|
51 |
|
@@ -108,7 +108,8 @@ class VocalSet(Dataset):
|
|
108 |
if self.max_effects_per_file > 1:
|
109 |
num_effects = torch.randint(self.max_effects_per_file - 1, (1,)).item()
|
110 |
# Remove effect to remove from applied effects if present
|
111 |
-
self.
|
|
|
112 |
|
113 |
# Choose random effects to apply
|
114 |
effect_indices = torch.randperm(len(self.applied_effects.keys()))[
|
@@ -124,9 +125,11 @@ class VocalSet(Dataset):
|
|
124 |
labels.append(ALL_EFFECTS.index(type(effect)))
|
125 |
|
126 |
# Apply effect_to_remove
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
130 |
|
131 |
# Convert labels to one-hot
|
132 |
one_hot = F.one_hot(torch.tensor(labels), num_classes=len(ALL_EFFECTS))
|
|
|
43 |
self.files = sorted(list(mode_path.glob("./**/*.wav")))
|
44 |
self.normalize = effects.LoudnessNormalize(sample_rate, target_lufs_db=-20)
|
45 |
self.applied_effects = applied_effects
|
46 |
+
self.effect_to_remove_name = "_".join([e for e in self.effect_to_remove])
|
47 |
|
48 |
+
effect_str = "__".join([e for e in self.applied_effects])
|
49 |
effect_str += f"_{self.effect_to_remove_name}"
|
50 |
self.proc_root = self.render_root / "processed" / effect_str / self.mode
|
51 |
|
|
|
108 |
if self.max_effects_per_file > 1:
|
109 |
num_effects = torch.randint(self.max_effects_per_file - 1, (1,)).item()
|
110 |
# Remove effect to remove from applied effects if present
|
111 |
+
for effect in self.effect_to_remove:
|
112 |
+
self.applied_effects.pop(effect, None)
|
113 |
|
114 |
# Choose random effects to apply
|
115 |
effect_indices = torch.randperm(len(self.applied_effects.keys()))[
|
|
|
125 |
labels.append(ALL_EFFECTS.index(type(effect)))
|
126 |
|
127 |
# Apply effect_to_remove
|
128 |
+
wet = torch.clone(dry)
|
129 |
+
for effect_name in self.effect_to_remove:
|
130 |
+
effect = self.effect_to_remove[effect_name]
|
131 |
+
wet = effect(dry)
|
132 |
+
labels.append(ALL_EFFECTS.index(type(effect)))
|
133 |
|
134 |
# Convert labels to one-hot
|
135 |
one_hot = F.one_hot(torch.tensor(labels), num_classes=len(ALL_EFFECTS))
|