Politrees commited on
Commit
143d4fb
·
verified ·
1 Parent(s): 6e1fe35

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -8
app.py CHANGED
@@ -4,7 +4,7 @@ import shutil
4
  import logging
5
  import gradio as gr
6
 
7
- from audio_separator.separator import Separator
8
 
9
  device = "cuda" if torch.cuda.is_available() else "cpu"
10
  use_autocast = device == "cuda"
@@ -18,11 +18,13 @@ ROFORMER_MODELS = {
18
  'BS-Roformer-Viperx-1297': 'model_bs_roformer_ep_317_sdr_12.9755.ckpt',
19
  'BS-Roformer-De-Reverb': 'deverb_bs_roformer_8_384dim_10depth.ckpt',
20
  'Mel-Roformer-Viperx-1143': 'model_mel_band_roformer_ep_3005_sdr_11.4360.ckpt',
 
21
  'Mel-Roformer-Crowd-Aufr33-Viperx': 'mel_band_roformer_crowd_aufr33_viperx_sdr_8.7144.ckpt',
22
  'Mel-Roformer-Karaoke-Aufr33-Viperx': 'mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt',
23
  'Mel-Roformer-Denoise-Aufr33': 'denoise_mel_band_roformer_aufr33_sdr_27.9959.ckpt',
24
  'Mel-Roformer-Denoise-Aufr33-Aggr': 'denoise_mel_band_roformer_aufr33_aggr_sdr_27.9768.ckpt',
25
  'MelBand Roformer Kim | Inst V1 by Unwa': 'melband_roformer_inst_v1.ckpt',
 
26
  'MelBand Roformer Kim | Inst V2 by Unwa': 'melband_roformer_inst_v2.ckpt',
27
  'MelBand Roformer Kim | InstVoc Duality V1 by Unwa': 'melband_roformer_instvoc_duality_v1.ckpt',
28
  'MelBand Roformer Kim | InstVoc Duality V2 by Unwa': 'melband_roformer_instvox_duality_v2.ckpt',
@@ -124,7 +126,7 @@ def print_message(input_file, model_name):
124
  """Prints information about the audio separation process."""
125
  base_name = os.path.splitext(os.path.basename(input_file))[0]
126
  print("\n")
127
- print("🎵 Audio Separator 🎵")
128
  print("Input audio:", base_name)
129
  print("Separation Model:", model_name)
130
  print("Audio Separation Process...")
@@ -344,14 +346,14 @@ def update_stems(model):
344
  return gr.update(visible=False)
345
 
346
  with gr.Blocks(
347
- title="🎵 Audio Separator 🎵",
348
  css="footer{display:none !important}",
349
  theme=gr.themes.Default(
350
  spacing_size="sm",
351
  radius_size="lg",
352
  )
353
  ) as app:
354
- gr.HTML("<h1> 🎵 Audio Separator 🎵 </h1>")
355
 
356
  with gr.Tab("Roformer"):
357
  with gr.Group():
@@ -361,7 +363,7 @@ with gr.Blocks(
361
  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.")
362
  roformer_override_seg_size = gr.Checkbox(value=False, label="Override segment size", info="Override model default segment size instead of using the model default value.")
363
  roformer_overlap = gr.Slider(minimum=2, maximum=10, step=1, value=8, label="Overlap", info="Amount of overlap between prediction windows. Lower is better but slower.")
364
- roformer_pitch_shift = gr.Slider(minimum=-12, maximum=12, step=1, value=0, label="Pitch shift", info="Shift audio pitch by a number of semitones while processing. may improve output for deep/high vocals.")
365
  with gr.Row():
366
  roformer_audio = gr.Audio(label="Input Audio", type="filepath")
367
  with gr.Row():
@@ -378,7 +380,7 @@ with gr.Blocks(
378
  mdx23c_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.")
379
  mdx23c_override_seg_size = gr.Checkbox(value=False, label="Override segment size", info="Override model default segment size instead of using the model default value.")
380
  mdx23c_overlap = gr.Slider(minimum=2, maximum=50, step=1, value=8, label="Overlap", info="Amount of overlap between prediction windows. Higher is better but slower.")
381
- mdx23c_pitch_shift = gr.Slider(minimum=-12, maximum=12, step=1, value=0, label="Pitch shift", info="Shift audio pitch by a number of semitones while processing. may improve output for deep/high vocals.")
382
  with gr.Row():
383
  mdx23c_audio = gr.Audio(label="Input Audio", type="filepath")
384
  with gr.Row():
@@ -410,7 +412,7 @@ with gr.Blocks(
410
  vr_model = gr.Dropdown(label="Select the Model", choices=VR_ARCH_MODELS)
411
  with gr.Row():
412
  vr_window_size = gr.Slider(minimum=320, maximum=1024, step=32, value=512, label="Window Size", info="Balance quality and speed. 1024 = fast but lower, 320 = slower but better quality.")
413
- vr_aggression = gr.Slider(minimum=1, maximum=50, step=1, value=5, label="Agression", info="Intensity of primary stem extraction.")
414
  vr_tta = gr.Checkbox(value=False, label="TTA", info="Enable Test-Time-Augmentation; slow but improves quality.")
415
  vr_post_process = gr.Checkbox(value=False, label="Post Process", info="Identify leftover artifacts within vocal output; may improve separation for some songs.")
416
  vr_post_process_threshold = gr.Slider(minimum=0.1, maximum=0.3, step=0.1, value=0.2, label="Post Process Threshold", info="Threshold for post-processing.")
@@ -468,7 +470,6 @@ with gr.Blocks(
468
  * **NAME** - Input File Name
469
  * **STEM** - Stem Name (e.g., Vocals, Instrumental)
470
  * **MODEL** - Model Name (e.g., BS-Roformer-Viperx-1297)
471
-
472
  Example:
473
  * Usage: NAME_(STEM)_MODEL
474
  * Output File Name: Music_(Vocals)_BS-Roformer-Viperx-1297
 
4
  import logging
5
  import gradio as gr
6
 
7
+ from PolUVR.separator import Separator
8
 
9
  device = "cuda" if torch.cuda.is_available() else "cpu"
10
  use_autocast = device == "cuda"
 
18
  'BS-Roformer-Viperx-1297': 'model_bs_roformer_ep_317_sdr_12.9755.ckpt',
19
  'BS-Roformer-De-Reverb': 'deverb_bs_roformer_8_384dim_10depth.ckpt',
20
  'Mel-Roformer-Viperx-1143': 'model_mel_band_roformer_ep_3005_sdr_11.4360.ckpt',
21
+ 'Mel-Roformer-Vocals-Kim': 'vocals_mel_band_roformer.ckpt',
22
  'Mel-Roformer-Crowd-Aufr33-Viperx': 'mel_band_roformer_crowd_aufr33_viperx_sdr_8.7144.ckpt',
23
  'Mel-Roformer-Karaoke-Aufr33-Viperx': 'mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt',
24
  'Mel-Roformer-Denoise-Aufr33': 'denoise_mel_band_roformer_aufr33_sdr_27.9959.ckpt',
25
  'Mel-Roformer-Denoise-Aufr33-Aggr': 'denoise_mel_band_roformer_aufr33_aggr_sdr_27.9768.ckpt',
26
  'MelBand Roformer Kim | Inst V1 by Unwa': 'melband_roformer_inst_v1.ckpt',
27
+ 'MelBand Roformer Kim | Inst V1 (E) by Unwa': 'melband_roformer_inst_v1e.ckpt',
28
  'MelBand Roformer Kim | Inst V2 by Unwa': 'melband_roformer_inst_v2.ckpt',
29
  'MelBand Roformer Kim | InstVoc Duality V1 by Unwa': 'melband_roformer_instvoc_duality_v1.ckpt',
30
  'MelBand Roformer Kim | InstVoc Duality V2 by Unwa': 'melband_roformer_instvox_duality_v2.ckpt',
 
126
  """Prints information about the audio separation process."""
127
  base_name = os.path.splitext(os.path.basename(input_file))[0]
128
  print("\n")
129
+ print("🎵 PolUVR 🎵")
130
  print("Input audio:", base_name)
131
  print("Separation Model:", model_name)
132
  print("Audio Separation Process...")
 
346
  return gr.update(visible=False)
347
 
348
  with gr.Blocks(
349
+ title="🎵 PolUVR 🎵",
350
  css="footer{display:none !important}",
351
  theme=gr.themes.Default(
352
  spacing_size="sm",
353
  radius_size="lg",
354
  )
355
  ) as app:
356
+ gr.HTML("<h1> 🎵 PolUVR 🎵 </h1>")
357
 
358
  with gr.Tab("Roformer"):
359
  with gr.Group():
 
363
  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.")
364
  roformer_override_seg_size = gr.Checkbox(value=False, label="Override segment size", info="Override model default segment size instead of using the model default value.")
365
  roformer_overlap = gr.Slider(minimum=2, maximum=10, step=1, value=8, label="Overlap", info="Amount of overlap between prediction windows. Lower is better but slower.")
366
+ roformer_pitch_shift = gr.Slider(minimum=-24, maximum=24, step=1, value=0, label="Pitch shift", info="Shift audio pitch by a number of semitones while processing. may improve output for deep/high vocals.")
367
  with gr.Row():
368
  roformer_audio = gr.Audio(label="Input Audio", type="filepath")
369
  with gr.Row():
 
380
  mdx23c_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.")
381
  mdx23c_override_seg_size = gr.Checkbox(value=False, label="Override segment size", info="Override model default segment size instead of using the model default value.")
382
  mdx23c_overlap = gr.Slider(minimum=2, maximum=50, step=1, value=8, label="Overlap", info="Amount of overlap between prediction windows. Higher is better but slower.")
383
+ mdx23c_pitch_shift = gr.Slider(minimum=-24, maximum=24, step=1, value=0, label="Pitch shift", info="Shift audio pitch by a number of semitones while processing. may improve output for deep/high vocals.")
384
  with gr.Row():
385
  mdx23c_audio = gr.Audio(label="Input Audio", type="filepath")
386
  with gr.Row():
 
412
  vr_model = gr.Dropdown(label="Select the Model", choices=VR_ARCH_MODELS)
413
  with gr.Row():
414
  vr_window_size = gr.Slider(minimum=320, maximum=1024, step=32, value=512, label="Window Size", info="Balance quality and speed. 1024 = fast but lower, 320 = slower but better quality.")
415
+ vr_aggression = gr.Slider(minimum=1, maximum=100, step=1, value=5, label="Agression", info="Intensity of primary stem extraction.")
416
  vr_tta = gr.Checkbox(value=False, label="TTA", info="Enable Test-Time-Augmentation; slow but improves quality.")
417
  vr_post_process = gr.Checkbox(value=False, label="Post Process", info="Identify leftover artifacts within vocal output; may improve separation for some songs.")
418
  vr_post_process_threshold = gr.Slider(minimum=0.1, maximum=0.3, step=0.1, value=0.2, label="Post Process Threshold", info="Threshold for post-processing.")
 
470
  * **NAME** - Input File Name
471
  * **STEM** - Stem Name (e.g., Vocals, Instrumental)
472
  * **MODEL** - Model Name (e.g., BS-Roformer-Viperx-1297)
 
473
  Example:
474
  * Usage: NAME_(STEM)_MODEL
475
  * Output File Name: Music_(Vocals)_BS-Roformer-Viperx-1297