Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
import os
|
|
|
|
| 2 |
import gradio as gr
|
| 3 |
|
| 4 |
from audio_separator.separator import Separator
|
|
@@ -103,8 +104,7 @@ def rename_stems(input_file, output_dir, stems, output_format):
|
|
| 103 |
for i, stem in enumerate(stems):
|
| 104 |
new_name = f"{base_name}_(Stem{i+1}).{output_format}"
|
| 105 |
new_path = os.path.join(output_dir, new_name)
|
| 106 |
-
|
| 107 |
-
os.rename(stem, new_path)
|
| 108 |
renamed_stems.append(new_path)
|
| 109 |
return renamed_stems
|
| 110 |
|
|
@@ -112,6 +112,7 @@ def roformer_separator(audio, model_key, seg_size, overlap, model_dir, out_dir,
|
|
| 112 |
"""Separate audio using Roformer model."""
|
| 113 |
model = ROFORMER_MODELS[model_key]
|
| 114 |
separator = Separator(
|
|
|
|
| 115 |
model_file_dir=model_dir,
|
| 116 |
output_dir=out_dir,
|
| 117 |
output_format=out_format,
|
|
@@ -130,8 +131,6 @@ def roformer_separator(audio, model_key, seg_size, overlap, model_dir, out_dir,
|
|
| 130 |
progress(0.7, desc="Audio separated")
|
| 131 |
separation = separator.separate(audio)
|
| 132 |
|
| 133 |
-
print(f"Separation result: {separation}")
|
| 134 |
-
|
| 135 |
progress(0.9, desc="Stems renamed")
|
| 136 |
stems = rename_stems(audio, out_dir, separation, out_format)
|
| 137 |
|
|
@@ -140,6 +139,7 @@ def roformer_separator(audio, model_key, seg_size, overlap, model_dir, out_dir,
|
|
| 140 |
def mdx23c_separator(audio, model, seg_size, overlap, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 141 |
"""Separate audio using MDX23C model."""
|
| 142 |
separator = Separator(
|
|
|
|
| 143 |
model_file_dir=model_dir,
|
| 144 |
output_dir=out_dir,
|
| 145 |
output_format=out_format,
|
|
@@ -166,6 +166,7 @@ def mdx23c_separator(audio, model, seg_size, overlap, model_dir, out_dir, out_fo
|
|
| 166 |
def mdx_separator(audio, model, hop_length, seg_size, overlap, denoise, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 167 |
"""Separate audio using MDX-NET model."""
|
| 168 |
separator = Separator(
|
|
|
|
| 169 |
model_file_dir=model_dir,
|
| 170 |
output_dir=out_dir,
|
| 171 |
output_format=out_format,
|
|
@@ -194,6 +195,7 @@ def mdx_separator(audio, model, hop_length, seg_size, overlap, denoise, model_di
|
|
| 194 |
def vr_separator(audio, model, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 195 |
"""Separate audio using VR ARCH model."""
|
| 196 |
separator = Separator(
|
|
|
|
| 197 |
model_file_dir=model_dir,
|
| 198 |
output_dir=out_dir,
|
| 199 |
output_format=out_format,
|
|
@@ -224,6 +226,7 @@ def vr_separator(audio, model, window_size, aggression, tta, post_process, post_
|
|
| 224 |
def demucs_separator(audio, model, seg_size, shifts, overlap, segments_enabled, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 225 |
"""Separate audio using Demucs model."""
|
| 226 |
separator = Separator(
|
|
|
|
| 227 |
model_file_dir=model_dir,
|
| 228 |
output_dir=out_dir,
|
| 229 |
output_format=out_format,
|
|
@@ -276,7 +279,7 @@ with gr.Blocks(
|
|
| 276 |
roformer_model = gr.Dropdown(label="Select the Model", choices=list(ROFORMER_MODELS.keys()))
|
| 277 |
with gr.Row():
|
| 278 |
roformer_seg_size = gr.Slider(minimum=32, maximum=4000, step=32, value=256, label="Segment Size", info="Larger consumes more resources, but may give better results.")
|
| 279 |
-
roformer_overlap = gr.Slider(minimum=2, maximum=
|
| 280 |
with gr.Row():
|
| 281 |
roformer_audio = gr.Audio(label="Input Audio", type="filepath")
|
| 282 |
with gr.Row():
|
|
@@ -440,4 +443,4 @@ with gr.Blocks(
|
|
| 440 |
outputs=[demucs_stem1, demucs_stem2, demucs_stem3, demucs_stem4],
|
| 441 |
)
|
| 442 |
|
| 443 |
-
app.launch()
|
|
|
|
| 1 |
import os
|
| 2 |
+
import logging
|
| 3 |
import gradio as gr
|
| 4 |
|
| 5 |
from audio_separator.separator import Separator
|
|
|
|
| 104 |
for i, stem in enumerate(stems):
|
| 105 |
new_name = f"{base_name}_(Stem{i+1}).{output_format}"
|
| 106 |
new_path = os.path.join(output_dir, new_name)
|
| 107 |
+
os.rename(os.path.join(output_dir, stem), new_path)
|
|
|
|
| 108 |
renamed_stems.append(new_path)
|
| 109 |
return renamed_stems
|
| 110 |
|
|
|
|
| 112 |
"""Separate audio using Roformer model."""
|
| 113 |
model = ROFORMER_MODELS[model_key]
|
| 114 |
separator = Separator(
|
| 115 |
+
log_level=logging.WARNING,
|
| 116 |
model_file_dir=model_dir,
|
| 117 |
output_dir=out_dir,
|
| 118 |
output_format=out_format,
|
|
|
|
| 131 |
progress(0.7, desc="Audio separated")
|
| 132 |
separation = separator.separate(audio)
|
| 133 |
|
|
|
|
|
|
|
| 134 |
progress(0.9, desc="Stems renamed")
|
| 135 |
stems = rename_stems(audio, out_dir, separation, out_format)
|
| 136 |
|
|
|
|
| 139 |
def mdx23c_separator(audio, model, seg_size, overlap, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 140 |
"""Separate audio using MDX23C model."""
|
| 141 |
separator = Separator(
|
| 142 |
+
log_level=logging.WARNING,
|
| 143 |
model_file_dir=model_dir,
|
| 144 |
output_dir=out_dir,
|
| 145 |
output_format=out_format,
|
|
|
|
| 166 |
def mdx_separator(audio, model, hop_length, seg_size, overlap, denoise, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 167 |
"""Separate audio using MDX-NET model."""
|
| 168 |
separator = Separator(
|
| 169 |
+
log_level=logging.WARNING,
|
| 170 |
model_file_dir=model_dir,
|
| 171 |
output_dir=out_dir,
|
| 172 |
output_format=out_format,
|
|
|
|
| 195 |
def vr_separator(audio, model, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 196 |
"""Separate audio using VR ARCH model."""
|
| 197 |
separator = Separator(
|
| 198 |
+
log_level=logging.WARNING,
|
| 199 |
model_file_dir=model_dir,
|
| 200 |
output_dir=out_dir,
|
| 201 |
output_format=out_format,
|
|
|
|
| 226 |
def demucs_separator(audio, model, seg_size, shifts, overlap, segments_enabled, model_dir, out_dir, out_format, norm_thresh, amp_thresh, progress=gr.Progress()):
|
| 227 |
"""Separate audio using Demucs model."""
|
| 228 |
separator = Separator(
|
| 229 |
+
log_level=logging.WARNING,
|
| 230 |
model_file_dir=model_dir,
|
| 231 |
output_dir=out_dir,
|
| 232 |
output_format=out_format,
|
|
|
|
| 279 |
roformer_model = gr.Dropdown(label="Select the Model", choices=list(ROFORMER_MODELS.keys()))
|
| 280 |
with gr.Row():
|
| 281 |
roformer_seg_size = gr.Slider(minimum=32, maximum=4000, step=32, value=256, label="Segment Size", info="Larger consumes more resources, but may give better results.")
|
| 282 |
+
roformer_overlap = gr.Slider(minimum=2, maximum=10, step=1, value=8, label="Overlap", info="Amount of overlap between prediction windows.")
|
| 283 |
with gr.Row():
|
| 284 |
roformer_audio = gr.Audio(label="Input Audio", type="filepath")
|
| 285 |
with gr.Row():
|
|
|
|
| 443 |
outputs=[demucs_stem1, demucs_stem2, demucs_stem3, demucs_stem4],
|
| 444 |
)
|
| 445 |
|
| 446 |
+
app.launch(share=True)
|