Politrees commited on
Commit
6f1eb2d
·
verified ·
1 Parent(s): 59e7cde

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -3
app.py CHANGED
@@ -1,7 +1,9 @@
1
  import os
 
2
  import torch
3
  import shutil
4
  import logging
 
5
  import gradio as gr
6
 
7
  from PolUVR.separator import Separator
@@ -179,7 +181,23 @@ def rename_stems(audio, vocals_stem, instrumental_stem, other_stem, drums_stem,
179
  }
180
  return stems
181
 
182
- # Обновленные функции для сепарации
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  def roformer_separator(audio, model_key, seg_size, override_seg_size, overlap, pitch_shift, model_dir, out_dir, out_format, norm_thresh, amp_thresh, batch_size, vocals_stem, instrumental_stem, other_stem, drums_stem, bass_stem, guitar_stem, piano_stem, progress=gr.Progress(track_tqdm=True)):
184
  """Separate audio using Roformer model."""
185
  stemname = rename_stems(audio, vocals_stem, instrumental_stem, other_stem, drums_stem, bass_stem, guitar_stem, piano_stem, model_key)
@@ -508,7 +526,16 @@ with gr.Blocks(
508
  with gr.Row():
509
  guitar_stem = gr.Textbox(value="NAME_(STEM)_MODEL", label="Guitar Stem", info="Output example: Music_(Guitar)_BS-Roformer-Viperx-1297", placeholder="NAME_(STEM)_MODEL")
510
  piano_stem = gr.Textbox(value="NAME_(STEM)_MODEL", label="Piano Stem", info="Output example: Music_(Piano)_BS-Roformer-Viperx-1297", placeholder="NAME_(STEM)_MODEL")
511
-
 
 
 
 
 
 
 
 
 
512
  with gr.Tab("Credits"):
513
  gr.Markdown(
514
  """
@@ -517,9 +544,11 @@ with gr.Blocks(
517
  * Thanks to **[Hev832](https://huggingface.co/Hev832)** for the help with the code.
518
  """
519
  )
520
-
521
  demucs_model.change(update_stems, inputs=[demucs_model], outputs=stem6)
522
 
 
 
523
  roformer_button.click(
524
  roformer_separator,
525
  inputs=[
 
1
  import os
2
+ import re
3
  import torch
4
  import shutil
5
  import logging
6
+ import subprocess
7
  import gradio as gr
8
 
9
  from PolUVR.separator import Separator
 
181
  }
182
  return stems
183
 
184
+ def leaderboard(list_filter, list_limit):
185
+ result = subprocess.run(
186
+ ["PolUVR", "-l", f"--list_filter={list_filter}", f"--list_limit={list_limit}"],
187
+ capture_output=True,
188
+ text=True,
189
+ shell=True,
190
+ )
191
+ if result.returncode != 0:
192
+ return f"Error: {result.stderr}"
193
+
194
+ return "<table border='1'>" + "".join(
195
+ f"<tr style='{'font-weight: bold; font-size: 1.2em;' if i == 0 else ''}'>" +
196
+ "".join(f"<td>{cell}</td>" for cell in re.split(r"\s{2,}", line.strip())) +
197
+ "</tr>"
198
+ for i, line in enumerate(re.findall(r"^(?!-+)(.+)$", result.stdout.strip(), re.MULTILINE))
199
+ ) + "</table>"
200
+
201
  def roformer_separator(audio, model_key, seg_size, override_seg_size, overlap, pitch_shift, model_dir, out_dir, out_format, norm_thresh, amp_thresh, batch_size, vocals_stem, instrumental_stem, other_stem, drums_stem, bass_stem, guitar_stem, piano_stem, progress=gr.Progress(track_tqdm=True)):
202
  """Separate audio using Roformer model."""
203
  stemname = rename_stems(audio, vocals_stem, instrumental_stem, other_stem, drums_stem, bass_stem, guitar_stem, piano_stem, model_key)
 
526
  with gr.Row():
527
  guitar_stem = gr.Textbox(value="NAME_(STEM)_MODEL", label="Guitar Stem", info="Output example: Music_(Guitar)_BS-Roformer-Viperx-1297", placeholder="NAME_(STEM)_MODEL")
528
  piano_stem = gr.Textbox(value="NAME_(STEM)_MODEL", label="Piano Stem", info="Output example: Music_(Piano)_BS-Roformer-Viperx-1297", placeholder="NAME_(STEM)_MODEL")
529
+
530
+ with gr.Tab("Leaderboard"):
531
+ with gr.Group():
532
+ with gr.Row(equal_height=True):
533
+ list_filter = gr.Dropdown(value="vocals", choices=["vocals", "instrumental", "drums", "bass", "guitar", "piano", "other"], label="List filter", info="Filter and sort the model list by 'stem'")
534
+ list_limit = gr.Slider(minimum=1, maximum=10, step=1, value=5, label="List limit", info="Limit the number of models shown.")
535
+ list_button = gr.Button("Show list", variant="primary")
536
+
537
+ output_list = gr.HTML(label="Leaderboard")
538
+
539
  with gr.Tab("Credits"):
540
  gr.Markdown(
541
  """
 
544
  * Thanks to **[Hev832](https://huggingface.co/Hev832)** for the help with the code.
545
  """
546
  )
547
+
548
  demucs_model.change(update_stems, inputs=[demucs_model], outputs=stem6)
549
 
550
+ list_button.click(leaderboard, inputs=[list_filter, list_limit], outputs=output_list)
551
+
552
  roformer_button.click(
553
  roformer_separator,
554
  inputs=[