Eddycrack864 commited on
Commit
b779216
·
verified ·
1 Parent(s): 6c3badd

minor update

Browse files

Minor changes to keep it up to date with the original

README.md CHANGED
@@ -6,7 +6,7 @@ colorTo: pink
6
  sdk: gradio
7
  app_file: app.py
8
  pinned: true
9
- sdk_version: 5.10.0
10
  ---
11
 
12
  ![Ilaria AI Suite](./ilariaaisuite.png)
 
6
  sdk: gradio
7
  app_file: app.py
8
  pinned: true
9
+ sdk_version: 5.16.2
10
  ---
11
 
12
  ![Ilaria AI Suite](./ilariaaisuite.png)
app.py CHANGED
@@ -1,18 +1,26 @@
1
  import os
 
2
  import subprocess
3
  import re
4
  import platform
5
  import torch
6
  import logging
7
  import yt_dlp
8
- import spaces
9
  import gradio as gr
 
10
  import assets.themes.loadThemes as loadThemes
11
  from audio_separator.separator import Separator
12
  from assets.i18n.i18n import I18nAuto
 
 
13
 
14
  i18n = I18nAuto()
15
 
 
 
 
 
16
  device = "cuda" if torch.cuda.is_available() else "cpu"
17
  use_autocast = device == "cuda"
18
 
@@ -178,6 +186,17 @@ out_dir = "./outputs"
178
  models_dir = "./models"
179
  extensions = (".wav", ".flac", ".mp3", ".ogg", ".opus", ".m4a", ".aiff", ".ac3")
180
 
 
 
 
 
 
 
 
 
 
 
 
181
  def download_audio(url, output_dir="ytdl"):
182
 
183
  os.makedirs(output_dir, exist_ok=True)
@@ -232,6 +251,7 @@ def leaderboard(list_filter):
232
  except Exception as e:
233
  return f"Error: {e}"
234
 
 
235
  @spaces.GPU(duration=60)
236
  def roformer_separator(audio, model_key, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
237
  base_name = os.path.splitext(os.path.basename(audio))[0]
@@ -270,7 +290,8 @@ def roformer_separator(audio, model_key, out_format, segment_size, override_seg_
270
  except Exception as e:
271
  raise RuntimeError(f"Roformer separation failed: {e}") from e
272
 
273
- @spaces.GPU(duration=60)
 
274
  def mdxc_separator(audio, model, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
275
  base_name = os.path.splitext(os.path.basename(audio))[0]
276
  try:
@@ -307,6 +328,7 @@ def mdxc_separator(audio, model, out_format, segment_size, override_seg_size, ov
307
  except Exception as e:
308
  raise RuntimeError(f"MDX23C separation failed: {e}") from e
309
 
 
310
  @spaces.GPU(duration=60)
311
  def mdxnet_separator(audio, model, out_format, hop_length, segment_size, denoise, overlap, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
312
  base_name = os.path.splitext(os.path.basename(audio))[0]
@@ -345,6 +367,7 @@ def mdxnet_separator(audio, model, out_format, hop_length, segment_size, denoise
345
  except Exception as e:
346
  raise RuntimeError(f"MDX-NET separation failed: {e}") from e
347
 
 
348
  @spaces.GPU(duration=60)
349
  def vrarch_separator(audio, model, out_format, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
350
  base_name = os.path.splitext(os.path.basename(audio))[0]
@@ -385,6 +408,7 @@ def vrarch_separator(audio, model, out_format, window_size, aggression, tta, pos
385
  except Exception as e:
386
  raise RuntimeError(f"VR ARCH separation failed: {e}") from e
387
 
 
388
  @spaces.GPU(duration=60)
389
  def demucs_separator(audio, model, out_format, shifts, segment_size, segments_enabled, overlap, batch_size, norm_thresh, amp_thresh, progress=gr.Progress(track_tqdm=True)):
390
  base_name = os.path.splitext(os.path.basename(audio))[0]
@@ -428,6 +452,7 @@ def update_stems(model):
428
  else:
429
  return gr.update(visible=False)
430
 
 
431
  @spaces.GPU(duration=60)
432
  def roformer_batch(path_input, path_output, model_key, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem):
433
  found_files.clear()
@@ -479,6 +504,7 @@ def roformer_batch(path_input, path_output, model_key, out_format, segment_size,
479
  except Exception as e:
480
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
481
 
 
482
  @spaces.GPU(duration=60)
483
  def mdx23c_batch(path_input, path_output, model, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem):
484
  found_files.clear()
@@ -529,6 +555,7 @@ def mdx23c_batch(path_input, path_output, model, out_format, segment_size, overr
529
  except Exception as e:
530
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
531
 
 
532
  @spaces.GPU(duration=60)
533
  def mdxnet_batch(path_input, path_output, model, out_format, hop_length, segment_size, denoise, overlap, batch_size, norm_thresh, amp_thresh, single_stem):
534
  found_files.clear()
@@ -580,6 +607,7 @@ def mdxnet_batch(path_input, path_output, model, out_format, hop_length, segment
580
  except Exception as e:
581
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
582
 
 
583
  @spaces.GPU(duration=60)
584
  def vrarch_batch(path_input, path_output, model, out_format, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, batch_size, norm_thresh, amp_thresh, single_stem):
585
  found_files.clear()
@@ -633,6 +661,7 @@ def vrarch_batch(path_input, path_output, model, out_format, window_size, aggres
633
  except Exception as e:
634
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
635
 
 
636
  @spaces.GPU(duration=60)
637
  def demucs_batch(path_input, path_output, model, out_format, shifts, segment_size, segments_enabled, overlap, batch_size, norm_thresh, amp_thresh):
638
  found_files.clear()
@@ -1489,10 +1518,10 @@ with gr.Blocks(theme = loadThemes.load_json() or "NoCrypt/miku", title = "🎵 U
1489
  * Separation by link source code and improvements by [Blane187](https://huggingface.co/Blane187).
1490
  * Thanks to [ArisDev](https://github.com/aris-py) for porting UVR5 UI to Kaggle and improvements.
1491
  * Thanks to [Bebra777228](https://github.com/Bebra777228)'s code for guiding me to improve my code.
1492
- * Thanks to Nick088, MrM0dZ, Ryouko-Yamanda65777, lucinamari, perariroswe and Enes for helping translate UVR5 UI.
 
1493
 
1494
- You can donate to the original UVR5 project here:
1495
- [!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/uvr5)
1496
  """
1497
  )
1498
 
 
1
  import os
2
+ import sys
3
  import subprocess
4
  import re
5
  import platform
6
  import torch
7
  import logging
8
  import yt_dlp
9
+ import json
10
  import gradio as gr
11
+ import spaces
12
  import assets.themes.loadThemes as loadThemes
13
  from audio_separator.separator import Separator
14
  from assets.i18n.i18n import I18nAuto
15
+ from argparse import ArgumentParser
16
+ from assets.presence.discord_presence import RPCManager, track_presence
17
 
18
  i18n = I18nAuto()
19
 
20
+ now_dir = os.getcwd()
21
+ sys.path.append(now_dir)
22
+ config_file = os.path.join(now_dir, "assets", "config.json")
23
+
24
  device = "cuda" if torch.cuda.is_available() else "cpu"
25
  use_autocast = device == "cuda"
26
 
 
186
  models_dir = "./models"
187
  extensions = (".wav", ".flac", ".mp3", ".ogg", ".opus", ".m4a", ".aiff", ".ac3")
188
 
189
+ def load_config_presence():
190
+ with open(config_file, "r", encoding="utf8") as file:
191
+ config = json.load(file)
192
+ return config["discord_presence"]
193
+
194
+ def initialize_presence():
195
+ if load_config_presence():
196
+ RPCManager.start_presence()
197
+
198
+ initialize_presence()
199
+
200
  def download_audio(url, output_dir="ytdl"):
201
 
202
  os.makedirs(output_dir, exist_ok=True)
 
251
  except Exception as e:
252
  return f"Error: {e}"
253
 
254
+ @track_presence("Performing BS/Mel Roformer Separation")
255
  @spaces.GPU(duration=60)
256
  def roformer_separator(audio, model_key, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
257
  base_name = os.path.splitext(os.path.basename(audio))[0]
 
290
  except Exception as e:
291
  raise RuntimeError(f"Roformer separation failed: {e}") from e
292
 
293
+ @track_presence("Performing MDXC Separationn")
294
+ @spaces.GPU(duration=60)
295
  def mdxc_separator(audio, model, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
296
  base_name = os.path.splitext(os.path.basename(audio))[0]
297
  try:
 
328
  except Exception as e:
329
  raise RuntimeError(f"MDX23C separation failed: {e}") from e
330
 
331
+ @track_presence("Performing MDX-NET Separation")
332
  @spaces.GPU(duration=60)
333
  def mdxnet_separator(audio, model, out_format, hop_length, segment_size, denoise, overlap, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
334
  base_name = os.path.splitext(os.path.basename(audio))[0]
 
367
  except Exception as e:
368
  raise RuntimeError(f"MDX-NET separation failed: {e}") from e
369
 
370
+ @track_presence("Performing VR Arch Separation")
371
  @spaces.GPU(duration=60)
372
  def vrarch_separator(audio, model, out_format, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, batch_size, norm_thresh, amp_thresh, single_stem, progress=gr.Progress(track_tqdm=True)):
373
  base_name = os.path.splitext(os.path.basename(audio))[0]
 
408
  except Exception as e:
409
  raise RuntimeError(f"VR ARCH separation failed: {e}") from e
410
 
411
+ @track_presence("Performing Demucs Separation")
412
  @spaces.GPU(duration=60)
413
  def demucs_separator(audio, model, out_format, shifts, segment_size, segments_enabled, overlap, batch_size, norm_thresh, amp_thresh, progress=gr.Progress(track_tqdm=True)):
414
  base_name = os.path.splitext(os.path.basename(audio))[0]
 
452
  else:
453
  return gr.update(visible=False)
454
 
455
+ @track_presence("Performing BS/Mel Roformer Batch Separation")
456
  @spaces.GPU(duration=60)
457
  def roformer_batch(path_input, path_output, model_key, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem):
458
  found_files.clear()
 
504
  except Exception as e:
505
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
506
 
507
+ @track_presence("Performing MDXC Batch Separation")
508
  @spaces.GPU(duration=60)
509
  def mdx23c_batch(path_input, path_output, model, out_format, segment_size, override_seg_size, overlap, batch_size, norm_thresh, amp_thresh, single_stem):
510
  found_files.clear()
 
555
  except Exception as e:
556
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
557
 
558
+ @track_presence("Performing MDX-NET Batch Separation")
559
  @spaces.GPU(duration=60)
560
  def mdxnet_batch(path_input, path_output, model, out_format, hop_length, segment_size, denoise, overlap, batch_size, norm_thresh, amp_thresh, single_stem):
561
  found_files.clear()
 
607
  except Exception as e:
608
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
609
 
610
+ @track_presence("Performing VR Arch Batch Separation")
611
  @spaces.GPU(duration=60)
612
  def vrarch_batch(path_input, path_output, model, out_format, window_size, aggression, tta, post_process, post_process_threshold, high_end_process, batch_size, norm_thresh, amp_thresh, single_stem):
613
  found_files.clear()
 
661
  except Exception as e:
662
  raise RuntimeError(f"Roformer batch separation failed: {e}") from e
663
 
664
+ @track_presence("Performing Demucs Batch Separation")
665
  @spaces.GPU(duration=60)
666
  def demucs_batch(path_input, path_output, model, out_format, shifts, segment_size, segments_enabled, overlap, batch_size, norm_thresh, amp_thresh):
667
  found_files.clear()
 
1518
  * Separation by link source code and improvements by [Blane187](https://huggingface.co/Blane187).
1519
  * Thanks to [ArisDev](https://github.com/aris-py) for porting UVR5 UI to Kaggle and improvements.
1520
  * Thanks to [Bebra777228](https://github.com/Bebra777228)'s code for guiding me to improve my code.
1521
+ * Thanks to Nick088, MrM0dZ, Ryouko-Yamanda65777, lucinamari, perariroswe, Enes, Léo and the_undead0 for helping translate UVR5 UI.
1522
+ * Thanks to vadigr123 for creating the images for the Discord Rich Presence.
1523
 
1524
+ You can donate to the original UVR5 project [here](https://www.buymeacoffee.com/uvr5)
 
1525
  """
1526
  )
1527
 
assets/config.json CHANGED
@@ -6,5 +6,6 @@
6
  "lang": {
7
  "override": false,
8
  "selected_lang": "en_US"
9
- }
 
10
  }
 
6
  "lang": {
7
  "override": false,
8
  "selected_lang": "en_US"
9
+ },
10
+ "discord_presence": true
11
  }
assets/favicon.ico ADDED
assets/i18n/languages/ar_AR.json ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "If you like UVR5 UI you can star my repo on [GitHub](https://github.com/Eddycrack864/UVR5-UI)": "نجمةاذا اعجبكUVR5 UI[هنا](https://github.com/Eddycrack864/UVR5-UI)يمكنك اعطاء",
3
+ "Try UVR5 UI on Hugging Face with A100 [here](https://huggingface.co/spaces/TheStinger/UVR5_UI)": "[هنا](https://huggingface.co/spaces/TheStinger/UVR5_UI) A100 مع Hugging Face على UVR5 UI يمكنك تجيرب واجهة ",
4
+ "Select the model": "اختار النموذج",
5
+ "Select the output format":"حدد تنصيق الاخراج ",
6
+ "Overlap": "التداخل",
7
+ "Amount of overlap between prediction windows": "مقدار التداخل بين نوافذ التنبؤ ",
8
+ "Segment size": "حجم القطاع",
9
+ "Larger consumes more resources, but may give better results": "الأكبر يستهلك المزيد من الموارد، ولكنه قد يعطي نتائج أفضل ",
10
+ "Input audio": "إدخال الصوت ",
11
+ "Separation by link": "الفصل عن طريق الراباط ",
12
+ "Link": "الرابط",
13
+ "Paste the link here": "الصق الرابط هنا",
14
+ "You can paste the link to the video/audio from many sites, check the complete list [here](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)": "يمكنك لصق رابط الفيديو/الصوت من العديد من المواقع، وتحقق من القائمة الكاملة ⠀[هنا](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)",
15
+ "Download!": "تحميل!",
16
+ "Batch separation": "فصل الدفعة ",
17
+ "Input path": "مسار الإدخال ",
18
+ "Place the input path here": "ضع مسار الإدخال هنا ",
19
+ "Output path": "مسار الاخراج ",
20
+ "Place the output path here": "مسار الاخراج هنا ضع",
21
+ "Separate!": "افصل!",
22
+ "Output information": "معلومات الإخراج ",
23
+ "Stem 1": " حقن1",
24
+ "Stem 2": " حقن2",
25
+ "Denoise": "تقليل الضوضاء ",
26
+ "Enable denoising during separation": "تمكين تقليل الضوضاء أثناء الفصل",
27
+ "Window size": "حجم النافذة",
28
+ "Agression": "قوة تاثيرالحقن ",
29
+ "Intensity of primary stem extraction": "شدة استخراج الحقن الأولي ",
30
+ "TTA": "TTA",
31
+ "Enable Test-Time-Augmentation; slow but improves quality": " تمكين زيادة وقت الاختبار؛ بطيء ولكنه يحسن الجودة ",
32
+ "High end process": "عملية عالية الجودة ",
33
+ "Mirror the missing frequency range of the output": "عكس نطاق التردد المفقود للإخراج ",
34
+ "Shifts": "المناوبات ",
35
+ "Number of predictions with random shifts, higher = slower but better quality": "عدد التنبؤات ذات التحولات العشوائية، أعلى = أبطأ ولكن بجودة أفضل ",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "التداخل بين نوافذ التنبؤ. أعلى = أبطأ ولكن بجودة أفضل",
37
+ "Stem 3": "حقن3",
38
+ "Stem 4": "حقن4",
39
+ "Themes": "السمات ",
40
+ "Theme": "السمات ",
41
+ "Select the theme you want to use. (Requires restarting the App)": "حدد السمة التي تريد استخدامها. (يتطلب إعادة تشغيل البرنامج)",
42
+ "Credits": "شكر خاص ل",
43
+ "Language": "اللغة",
44
+ "Advanced settings": "الاعدادات المتقدمة",
45
+ "Override model default segment size instead of using the model default value": "تجاوز الحجم الافتراضي للمقطع الافتراضي للنموذج بدلاً من استخدام القيمة الافتراضية للنموذج ",
46
+ "Override segment size": "جاوز حجم المقطع ",
47
+ "Batch size": "حجم الدُفعات ",
48
+ "Larger consumes more RAM but may process slightly faster": " أكثر استهلاك لالذاكرة العشوائي ولكنها قد تعالج أسرع قليلاً ",
49
+ "Normalization threshold": "عتبة التسوية ",
50
+ "The threshold for audio normalization": "عتبة التسوية لالصوت ",
51
+ "Amplification threshold": "عتبة التضخيم ",
52
+ "The threshold for audio amplification": "عتبة تضخيم الصوت ",
53
+ "Hop length": "طول قفزة ",
54
+ "Usually called stride in neural networks; only change if you know what you're doing": "تسمى عادةً الخطوة في الشبكات العصبية؛ لا تيغيرها إلا إذا كنت تعرف ما تفعله ",
55
+ "Balance quality and speed. 1024 = fast but lower, 320 = slower but better quality":"موازنة بين الجودة والسرعة. 1024 = سريع ولكن أقل، 320 = أبطأ ولكن بجودة أفضل ",
56
+ "Identify leftover artifacts within vocal output; may improve separation for some songs": "تحديد الآثار المتبقية داخل الإخراج ال��وتي؛ قد يحسن الفصل لبعض الأغاني ",
57
+ "Post process": "معالجة بعدية",
58
+ "Post process threshold": "عتبة المعالجة البعدية ",
59
+ "Threshold for post-processing": "عتبة مرحلة ما بعد المعالجة ",
60
+ "Size of segments into which the audio is split. Higher = slower but better quality": "حجم المقاطع التي يتم تقسيم الصوت إليها. أعلى = أبطأ ولكن بجودة أفضل ",
61
+ "Enable segment-wise processing": "تمكين المعالجة حسب القطاع ",
62
+ "Segment-wise processing": "المعالجة حسب القطاع ",
63
+ "Stem 5": " حقن5",
64
+ "Stem 6": " حقن4",
65
+ "Output only single stem": "إخراج حقن واحد فقط ",
66
+ "Write the stem you want, check the stems of each model on Leaderboard. e.g. Instrumental": "اكتب الحقن الذي تريده، وتحقق من حقن كل نموذج على لوحة المتصدرين على سبيل المثال ",
67
+ "Leaderboard": "لوحة المتصدرين ",
68
+ "List filter": "مرشح القائمة ",
69
+ "Filter and sort the model list by stem": "تصفية قائمة النماذج وفرزها حسب الحقن ",
70
+ "Show list!": "اضهار القائمة!"
71
+ }
assets/i18n/languages/de_DE.json ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "If you like UVR5 UI you can star my repo on [GitHub](https://github.com/Eddycrack864/UVR5-UI)": "Wenn Ihnen die UVR5-Benutzeroberfläche gefällt, können Sie meinem Repo auf [GitHub](https://github.com/Eddycrack864/UVR5-UI) einen Stern geben",
3
+ "Try UVR5 UI on Hugging Face with A100 [here](https://huggingface.co/spaces/TheStinger/UVR5_UI)": "Probieren Sie die UVR5-Benutzeroberfläche auf Hugging Face mit einer A100 [hier](https://huggingface.co/spaces/TheStinger/UVR5_UI) aus",
4
+ "Select the model": "Modell auswählen",
5
+ "Select the output format": "Ausgabeformat auswählen",
6
+ "Overlap": "Überlappung",
7
+ "Amount of overlap between prediction windows": "Überlappungsgrad zwischen Vorhersagefenstern",
8
+ "Segment size": "Segmentgröße",
9
+ "Larger consumes more resources, but may give better results": "Größere verbrauchen mehr Ressourcen, können aber bessere Ergebnisse liefern",
10
+ "Input audio": "Eingabeaudio",
11
+ "Separation by link": "Trennung nach Link",
12
+ "Link": "Link",
13
+ "Paste the link here": "Link hier einfügen",
14
+ "You can paste the link to the video/audio from many sites, check the complete list [here](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)": "Sie können den Link zum Video/Audio von vielen Seiten einfügen, überprüfen Sie die vollständige Liste [hier](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)",
15
+ "Download!": "Herunterladen!",
16
+ "Batch separation": "Stapelverarbeitung",
17
+ "Input path": "Eingabepfad",
18
+ "Place the input path here": "Eingabepfad hier einfügen",
19
+ "Output path": "Ausgabepfad",
20
+ "Place the output path here": "Ausgabepfad hier einfügen",
21
+ "Separate!": "Trennen!",
22
+ "Output information": "Ausgabeinformationen",
23
+ "Stem 1": "Spur 1",
24
+ "Stem 2": "Spur 2",
25
+ "Denoise": "Entrauschen",
26
+ "Enable denoising during separation": "Entrauschen während der Trennung aktivieren",
27
+ "Window size": "Fenstergröße",
28
+ "Agression": "Aggression",
29
+ "Intensity of primary stem extraction": "Intensität der Extraktion der primären Spur",
30
+ "TTA": "TTA",
31
+ "Enable Test-Time-Augmentation; slow but improves quality": "Testzeit-Augmentierung aktivieren; langsam, verbessert aber die Qualität",
32
+ "High end process": "High-End-Prozess",
33
+ "Mirror the missing frequency range of the output": "Den fehlenden Frequenzbereich des Ausgangs spiegeln",
34
+ "Shifts": "Temporale Verschiebungen",
35
+ "Number of predictions with random shifts, higher = slower but better quality": "Anzahl der Vorhersagen mit zufälligen Verschiebungen, höher = langsamer, aber bessere Qualität",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Überlappung zwischen Vorhersagefenstern. Höher = langsamer, aber bessere Qualität",
37
+ "Stem 3": "Spur 3",
38
+ "Stem 4": "Spur 4",
39
+ "Themes": "Themen",
40
+ "Theme": "Thema",
41
+ "Select the theme you want to use. (Requires restarting the App)": "Wählen Sie das Thema aus, das Sie verwenden möchten. (Neustart der App erforderlich)",
42
+ "Credits": "Credits",
43
+ "Language": "Sprache",
44
+ "Advanced settings": "Erweiterte Einstellungen",
45
+ "Override model default segment size instead of using the model default value": "Standardsegmentgröße des Modells überschreiben, anstatt den Standardwert des Modells zu verwenden",
46
+ "Override segment size": "Segmentgröße überschreiben",
47
+ "Batch size": "Batch-Größe",
48
+ "Larger consumes more RAM but may process slightly faster": "Größerer Verbrauch mehr RAM, kann aber etwas schneller verarbeiten",
49
+ "Normalization threshold": "Normalisierungsschwelle",
50
+ "The threshold for audio normalization": "Die Schwelle für die Audio-Normalisierung",
51
+ "Amplification threshold": "Verstärkungsschwelle",
52
+ "The threshold for audio amplification": "Die Schwelle für die Audioverstärkung",
53
+ "Hop length": "Sprunglänge",
54
+ "Usually called stride in neural networks; only change if you know what you're doing" : "In neuronalen Netzen обычно шаг genannt; Ändern Sie dies nur, wenn Sie wissen, was Sie tun",
55
+ "Balance quality and speed. 1024 = fast but lower, 320 = slower but better quality": "Gleichgewicht zwischen Qualität und Geschwindigkeit. 1024 = schnell, aber geringere Qualität, 320 = langsamer, aber bessere Qualität",
56
+ "Identify leftover artifacts within vocal output; may improve separation for some songs": "Identifizieren Sie verbleibende Artefakte in der Gesangsausgabe; kann die Trennung für einige Lieder verbessern",
57
+ "Post process": "Nachbearbeitung",
58
+ "Post process threshold": "Nachbearbeitungsschwelle",
59
+ "Threshold for post-processing": "Schwelle für die Nachbearbeitung",
60
+ "Size of segments into which the audio is split. Higher = slower but better quality": "Größe der Segmente, in die das Audio aufgeteilt wird. Höher = langsamer, aber bessere Qualität",
61
+ "Enable segment-wise processing": "Segmentweise Verarbeitung aktivieren",
62
+ "Segment-wise processing": "Segmentweise Verarbeitung",
63
+ "Stem 5": "Spur 5",
64
+ "Stem 6": "Spur 6",
65
+ "Output only single stem": "Nur einzelne Spur ausgeben",
66
+ "Write the stem you want, check the stems of each model on Leaderboard. e.g. Instrumental": "Schreiben Sie die gewünschte Spur, überprüfen Sie die Spuren jedes Modells auf der Bestenliste. z. B. Instrumental",
67
+ "Leaderboard": "Bestenliste",
68
+ "List filter": "Listenfilter",
69
+ "Filter and sort the model list by stem": "Filtern und sortieren Sie die Modellliste nach Spur",
70
+ "Show list!": "Liste anzeigen!"
71
+ }
assets/i18n/languages/en_US.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Mirror the missing frequency range of the output",
34
  "Shifts": "Shifts",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Number of predictions with random shifts, higher = slower but better quality",
 
36
  "Stem 3": "Stem 3",
37
  "Stem 4": "Stem 4",
38
  "Themes": "Themes",
 
33
  "Mirror the missing frequency range of the output": "Mirror the missing frequency range of the output",
34
  "Shifts": "Shifts",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Number of predictions with random shifts, higher = slower but better quality",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Overlap between prediction windows. Higher = slower but better quality",
37
  "Stem 3": "Stem 3",
38
  "Stem 4": "Stem 4",
39
  "Themes": "Themes",
assets/i18n/languages/es_ES.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Reflejar el rango de frecuencia faltante de la salida",
34
  "Shifts": "Desplazamientos temporales",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Número de predicciones con desplazamientos temporales, mayor = más lento pero mejor calidad",
 
36
  "Stem 3": "Pista 3",
37
  "Stem 4": "Pista 4",
38
  "Themes": "Temas",
 
33
  "Mirror the missing frequency range of the output": "Reflejar el rango de frecuencia faltante de la salida",
34
  "Shifts": "Desplazamientos temporales",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Número de predicciones con desplazamientos temporales, mayor = más lento pero mejor calidad",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Superposición entre ventanas de predicción. Cuanto más alta, más lenta pero de mejor calidad",
37
  "Stem 3": "Pista 3",
38
  "Stem 4": "Pista 4",
39
  "Themes": "Temas",
assets/i18n/languages/fr-FR.json ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "If you like UVR5 UI you can star my repo on [GitHub](https://github.com/Eddycrack864/UVR5-UI)": "Si vous aimez UVR5 UI, vous pouvez donner une étoile à mon repo sur [GitHub](https://github.com/Eddycrack864/UVR5-UI)",
3
+ "Try UVR5 UI on Hugging Face with A100 [here](https://huggingface.co/spaces/TheStinger/UVR5_UI)": "Essayez UVR5 UI sur Hugging Face avec une A100 [ici](https://huggingface.co/spaces/TheStinger/UVR5_UI)",
4
+ "Select the model": "Sélectionnez le modèle",
5
+ "Select the output format": "Sélectionnez le format de sortie",
6
+ "Overlap": "Superposition",
7
+ "Amount of overlap between prediction windows": "Quantité de superposition entre les fenêtres de prédiction",
8
+ "Segment size": "Taille du segment",
9
+ "Larger consumes more resources, but may give better results": "Plus grand consomme plus de ressources, mais peut donner de meilleurs résultats",
10
+ "Input audio": "Entrée",
11
+ "Separation by link": "Séparer avec un lien",
12
+ "Link": "Lien",
13
+ "Paste the link here": "Collez le lien ici",
14
+ "You can paste the link to the video/audio from many sites, check the complete list [here](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)": "Vous pouvez coller le lien vers la vidéo/audio de nombreux sites, consultez la liste complète [ici](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)",
15
+ "Download!": "Télécharger !",
16
+ "Batch separation": "Traitement par lots",
17
+ "Input path": "Chemin d'entrée",
18
+ "Place the input path here": "Indiquez le chemin d'entrée ici",
19
+ "Output path": "Chemin de sortie",
20
+ "Place the output path here": "Indiquez le chemin de sortie ici",
21
+ "Separate!": "Séparer !",
22
+ "Output information": "Informations de sortie",
23
+ "Stem 1": "Piste 1",
24
+ "Stem 2": "Piste 2",
25
+ "Denoise": "Suppression du bruit",
26
+ "Enable denoising during separation": "Activer la suppression du bruit pendant l'execution",
27
+ "Window size": "Taille de la fenêtre",
28
+ "Agression": "Agressivité",
29
+ "Intensity of primary stem extraction": "Intensité d'extraction de la piste principale",
30
+ "TTA": "TTA",
31
+ "Enable Test-Time-Augmentation; slow but improves quality": "Activer l'augmentation du temps de test; lent mais améliore la qualité",
32
+ "High end process": "Processus haut de gamme",
33
+ "Mirror the missing frequency range of the output": "Refléter la plage de fréquences manquante de la sortie",
34
+ "Shifts": "Décalages temporels",
35
+ "Number of predictions with random shifts, higher = slower but better quality": "Nombre de prédictions avec décalages aléatoires, plus élevé = plus lent mais meilleure qualité",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Superposition entre les fenêtres de prédiction. Plus élevée = plus lent mais meilleure qualité",
37
+ "Stem 3": "Piste 3",
38
+ "Stem 4": "Piste 4",
39
+ "Themes": "Thèmes",
40
+ "Theme": "Thème",
41
+ "Select the theme you want to use. (Requires restarting the App)": "Sélectionnez le thème que vous souhaitez utiliser. (Nécessite de redémarrer l'application)",
42
+ "Credits": "Crédits",
43
+ "Language": "Langue",
44
+ "Advanced settings": "Paramètres avancés",
45
+ "Override model default segment size instead of using the model default value": "Remplacer la taille de segment par défaut du modèle au lieu d'utiliser la valeur par défaut",
46
+ "Override segment size": "Remplacer la taille du segment",
47
+ "Batch size": "Taille du lot",
48
+ "Larger consumes more RAM but may process slightly faster": "Plus grand consomme plus de RAM mais peut traiter légèrement plus vite",
49
+ "Normalization threshold": "Seuil de normalisation",
50
+ "The threshold for audio normalization": "Le seuil pour la normalisation audio",
51
+ "Amplification threshold": "Seuil d'amplification",
52
+ "The threshold for audio amplification": "Le seuil pour l'amplification audio",
53
+ "Hop length": "Longueur du saut",
54
+ "Usually called stride in neural networks; only change if you know what you're doing": "Généralement appelé pas dans les réseaux neuronaux ; ne changez que si vous savez ce que vous faites",
55
+ "Balance quality and speed. 1024 = fast but lower, 320 = slower but better quality": "Équilibre qualité et vitesse. 1024 = rapide mais inférieur, 320 = lent mais meilleure qualité",
56
+ "Identify leftover artifacts within vocal output; may improve separation for some songs": "Identifier les artefacts résiduels dans la sortie vocale ; peut améliorer la séparation pour certaines chansons",
57
+ "Post process": "Post-traitement",
58
+ "Post process threshold": "Seuil de post-traitement",
59
+ "Threshold for post-processing": "Seuil pour le post-traitement",
60
+ "Size of segments into which the audio is split. Higher = slower but better quality": "Taille des segments en lesquels l'audio est divisé. Plus grand = plus lent mais meilleure qualité",
61
+ "Enable segment-wise processing": "Activer le traitement par segments",
62
+ "Segment-wise processing": "Traitement par segments",
63
+ "Stem 5": "Piste 5",
64
+ "Stem 6": "Piste 6",
65
+ "Output only single stem": "Sortir une seule piste",
66
+ "Write the stem you want, check the stems of each model on Leaderboard. e.g. Instrumental": "Écrivez la piste souhaitée, vérifiez les pistes de chaque modèle sur le tableau de classement. Par exemple, Instrumental",
67
+ "Leaderboard": "Tableau de classement",
68
+ "List filter": "Filtre de liste",
69
+ "Filter and sort the model list by stem": "Filtrer et trier la liste des modèles par piste",
70
+ "Show list!": "Afficher la liste !"
71
+ }
assets/i18n/languages/hi_IN.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "आउटपुट की गायब फ्रीक्वेंसी रेंज को मिरर करें",
34
  "Shifts": "शिफ्ट्स",
35
  "Number of predictions with random shifts, higher = slower but better quality": "रैंडम शिफ्ट्स के साथ पूर्वानुमानों की संख्या, अधिक = धीमा लेकिन बेहतर गुणवत्ता",
 
36
  "Stem 3": "स्टेम 3",
37
  "Stem 4": "स्टेम 4",
38
  "Themes": "थीम्स",
 
33
  "Mirror the missing frequency range of the output": "आउटपुट की गायब फ्रीक्वेंसी रेंज को मिरर करें",
34
  "Shifts": "शिफ्ट्स",
35
  "Number of predictions with random shifts, higher = slower but better quality": "रैंडम शिफ्ट्स के साथ पूर्वानुमानों की संख्या, अधिक = धीमा लेकिन बेहतर गुणवत्ता",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "पूर्वानुमान विंडो के बीच ओवरलैप. अधिक = धीमा लेकिन बेहतर गुणवत्ता",
37
  "Stem 3": "स्टेम 3",
38
  "Stem 4": "स्टेम 4",
39
  "Themes": "थीम्स",
assets/i18n/languages/id_ID.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Cerminkan rentang frekuensi yang hilang dari output",
34
  "Shifts": "Pergeseran",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Jumlah prediksi dengan pergeseran acak, lebih tinggi = lebih lambat tetapi kualitas lebih baik",
 
36
  "Stem 3": "Stem 3",
37
  "Stem 4": "Stem 4",
38
  "Themes": "Tema",
 
33
  "Mirror the missing frequency range of the output": "Cerminkan rentang frekuensi yang hilang dari output",
34
  "Shifts": "Pergeseran",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Jumlah prediksi dengan pergeseran acak, lebih tinggi = lebih lambat tetapi kualitas lebih baik",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Tumpang tindih antara jendela prediksi. Lebih tinggi = lebih lambat tetapi kualitas lebih baik",
37
  "Stem 3": "Stem 3",
38
  "Stem 4": "Stem 4",
39
  "Themes": "Tema",
assets/i18n/languages/it_IT.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Rifletti l'intervallo di frequenze mancante dell'output",
34
  "Shifts": "Spostamenti",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Numero di predizioni con spostamenti casuali, maggiore = più lento ma qualità migliore",
 
36
  "Stem 3": "Traccia 3",
37
  "Stem 4": "Traccia 4",
38
  "Themes": "Temi",
 
33
  "Mirror the missing frequency range of the output": "Rifletti l'intervallo di frequenze mancante dell'output",
34
  "Shifts": "Spostamenti",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Numero di predizioni con spostamenti casuali, maggiore = più lento ma qualità migliore",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Sovrapposizione tra le finestre di predizione. Maggiore = più lento ma qualità migliore",
37
  "Stem 3": "Traccia 3",
38
  "Stem 4": "Traccia 4",
39
  "Themes": "Temi",
assets/i18n/languages/ja_JP.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "出力の欠落した周波数範囲をミラーリングする",
34
  "Shifts": "シフト",
35
  "Number of predictions with random shifts, higher = slower but better quality": "ランダムシフトによる予測の数、高いほど遅いが品質が向上する",
 
36
  "Stem 3": "ステム 3",
37
  "Stem 4": "ステム 4",
38
  "Themes": "テーマ",
 
33
  "Mirror the missing frequency range of the output": "出力の欠落した周波数範囲をミラーリングする",
34
  "Shifts": "シフト",
35
  "Number of predictions with random shifts, higher = slower but better quality": "ランダムシフトによる予測の数、高いほど遅いが品質が向上する",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "予測ウィンドウ間の重複. 高いほど遅いが品質が向上する",
37
  "Stem 3": "ステム 3",
38
  "Stem 4": "ステム 4",
39
  "Themes": "テーマ",
assets/i18n/languages/ko_KR.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "출력의 누락된 주파수 범위를 보정합니다",
34
  "Shifts": "시프트",
35
  "Number of predictions with random shifts, higher = slower but better quality": "랜덤 시프트 사용 예측 횟수; 높을수록 느리지만 품질 향상",
 
36
  "Stem 3": "스템 3",
37
  "Stem 4": "스템 4",
38
  "Themes": "테마 목록",
 
33
  "Mirror the missing frequency range of the output": "출력의 누락된 주파수 범위를 보정합니다",
34
  "Shifts": "시프트",
35
  "Number of predictions with random shifts, higher = slower but better quality": "랜덤 시프트 사용 예측 횟수; 높을수록 느리지만 품질 향상",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "예측 기간 간의 오버랩. 높을수록 느리지만 품질 향상",
37
  "Stem 3": "스템 3",
38
  "Stem 4": "스템 4",
39
  "Themes": "테마 목록",
assets/i18n/languages/ms_MY.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Cerminkan julat frekuensi yang hilang pada output",
34
  "Shifts": "Peralihan",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Bilangan ramalan dengan peralihan rawak, lebih tinggi = lebih perlahan tetapi kualiti lebih baik",
 
36
  "Stem 3": "Lapis 3",
37
  "Stem 4": "Lapis 4",
38
  "Themes": "Tema",
 
33
  "Mirror the missing frequency range of the output": "Cerminkan julat frekuensi yang hilang pada output",
34
  "Shifts": "Peralihan",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Bilangan ramalan dengan peralihan rawak, lebih tinggi = lebih perlahan tetapi kualiti lebih baik",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Pertindihan antara tetingkap ramalan. Lebih tinggi = lebih perlahan tetapi kualiti lebih baik",
37
  "Stem 3": "Lapis 3",
38
  "Stem 4": "Lapis 4",
39
  "Themes": "Tema",
assets/i18n/languages/pt_BR.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Espelhar a frequência faltante de saida",
34
  "Shifts": "Turnos",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Numero de previsões com turnos aleatorios, maior = mais lento porem mais qualidade",
 
36
  "Stem 3": "Stem 3",
37
  "Stem 4": "Stem 4",
38
  "Themes": "Temas",
 
33
  "Mirror the missing frequency range of the output": "Espelhar a frequência faltante de saida",
34
  "Shifts": "Turnos",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Numero de previsões com turnos aleatorios, maior = mais lento porem mais qualidade",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Sobreposição entre janelas de previsão. Maior = mais lento porem mais qualidade",
37
  "Stem 3": "Stem 3",
38
  "Stem 4": "Stem 4",
39
  "Themes": "Temas",
assets/i18n/languages/ru_RU.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Зеркальное отображение недостающего диапазона частот на выходе",
34
  "Shifts": "Сдвиги",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Количество прогнозов со случайными сдвигами, больше = медленнее, но качественнее",
 
36
  "Stem 3": "Трек 3",
37
  "Stem 4": "Трек 4",
38
  "Themes": "Темы",
 
33
  "Mirror the missing frequency range of the output": "Зеркальное отображение недостающего диапазона частот на выходе",
34
  "Shifts": "Сдвиги",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Количество прогнозов со случайными сдвигами, больше = медленнее, но качественнее",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Пересечения между окнами прогнозов. больше = медленнее, но качественнее",
37
  "Stem 3": "Трек 3",
38
  "Stem 4": "Трек 4",
39
  "Themes": "Темы",
assets/i18n/languages/th_TH.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "สะท้อนช่วงความถี่ที่หายไปของเอาต์พุต",
34
  "Shifts": "การกะระยะ",
35
  "Number of predictions with random shifts, higher = slower but better quality": "จำนวนการทำนายที่มีการกะระยะแบบสุ่ม, สูงมาก = ช้าแต่มีคุณภาพที่ดีกว่า",
 
36
  "Stem 3": "สเต็มที่ 3",
37
  "Stem 4": "สเต็มที่ 4",
38
  "Themes": "ธีม",
 
33
  "Mirror the missing frequency range of the output": "สะท้อนช่วงความถี่ที่หายไปของเอาต์พุต",
34
  "Shifts": "การกะระยะ",
35
  "Number of predictions with random shifts, higher = slower but better quality": "จำนวนการทำนายที่มีการกะระยะแบบสุ่ม, สูงมาก = ช้าแต่มีคุณภาพที่ดีกว่า",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "ความทับซ้อนระหว่างช่วงเวลาของหน้าต่าง. สูงมาก = ช้าแต่มีคุณภาพที่ดีกว่า",
37
  "Stem 3": "สเต็มที่ 3",
38
  "Stem 4": "สเต็มที่ 4",
39
  "Themes": "ธีม",
assets/i18n/languages/tr_TR.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Eksik frekans aralığını çıktıda yansıt",
34
  "Shifts": "Kaymalar",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Rastgele kaymalarla tahmin sayısı, yüksek = daha yavaş ama daha iyi kalite",
 
36
  "Stem 3": "Kanal 3",
37
  "Stem 4": "Kanal 4",
38
  "Themes": "Temalar",
 
33
  "Mirror the missing frequency range of the output": "Eksik frekans aralığını çıktıda yansıt",
34
  "Shifts": "Kaymalar",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Rastgele kaymalarla tahmin sayısı, yüksek = daha yavaş ama daha iyi kalite",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Pencereleri arasındaki örtüşme miktarı. Yüksek = daha yavaş ama daha iyi kalite",
37
  "Stem 3": "Kanal 3",
38
  "Stem 4": "Kanal 4",
39
  "Themes": "Temalar",
assets/i18n/languages/uk_UA.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "Дзеркальне відображення відсутнього діапазону частот на виході",
34
  "Shifts": "Здвиги",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Кількість прогнозів із випадковими зсувами, більше = повільніше, але якісніше",
 
36
  "Stem 3": "Трек 3",
37
  "Stem 4": "Трек 4",
38
  "Themes": "Теми",
 
33
  "Mirror the missing frequency range of the output": "Дзеркальне відображення відсутнього діапазону частот на виході",
34
  "Shifts": "Здвиги",
35
  "Number of predictions with random shifts, higher = slower but better quality": "Кількість прогнозів із випадковими зсувами, більше = повільніше, але якісніше",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Перетину між вікнами прогнозів. більше = повільніше, але якісніше",
37
  "Stem 3": "Трек 3",
38
  "Stem 4": "Трек 4",
39
  "Themes": "Теми",
assets/i18n/languages/vi_VN.json ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "If you like UVR5 UI you can star my repo on [GitHub](https://github.com/Eddycrack864/UVR5-UI)": "Nếu bạn thích UVR5 UI, hãy đánh dấu sao kho lưu trữ của tôi trên [GitHub](https://github.com/Eddycrack864/UVR5-UI)",
3
+ "Try UVR5 UI on Hugging Face with A100 [here](https://huggingface.co/spaces/TheStinger/UVR5_UI)": "Dùng thử UVR5 UI trên Hugging Face với A100 [tại đây](https://huggingface.co/spaces/TheStinger/UVR5_UI)",
4
+ "Select the model": "Chọn mô hình",
5
+ "Select the output format": "Chọn định dạng đầu ra",
6
+ "Overlap": "Độ chồng lấp",
7
+ "Amount of overlap between prediction windows": "Mức độ chồng lấp giữa các cửa sổ dự đoán",
8
+ "Segment size": "Kích thước phân đoạn",
9
+ "Larger consumes more resources, but may give better results": "Lớn hơn sẽ tốn nhiều tài nguyên hơn nhưng có thể cho kết quả tốt hơn",
10
+ "Input audio": "Âm thanh đầu vào",
11
+ "Separation by link": "Tách bằng liên kết",
12
+ "Link": "Liên kết",
13
+ "Paste the link here": "Dán liên kết vào đây",
14
+ "You can paste the link to the video/audio from many sites, check the complete list [here](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)": "Bạn có thể dán liên kết video/audio từ nhiều trang, xem danh sách đầy đủ [tại đây](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)",
15
+ "Download!": "Tải xuống!",
16
+ "Batch separation": "Xử lý hàng loạt",
17
+ "Input path": "Đường dẫn đầu vào",
18
+ "Place the input path here": "Nhập đường dẫn đầu vào tại đây",
19
+ "Output path": "Đường dẫn đầu ra",
20
+ "Place the output path here": "Nhập đường dẫn đầu ra tại đây",
21
+ "Separate!": "Tách!",
22
+ "Output information": "Thông tin đầu ra",
23
+ "Stem 1": "Luồng 1",
24
+ "Stem 2": "Luồng 2",
25
+ "Denoise": "Khử nhiễu",
26
+ "Enable denoising during separation": "Bật khử nhiễu trong quá trình tách",
27
+ "Window size": "Kích thước cửa sổ",
28
+ "Agression": "Mức độ mạnh",
29
+ "Intensity of primary stem extraction": "Cường độ trích xuất luồng chính",
30
+ "TTA": "TTA",
31
+ "Enable Test-Time-Augmentation; slow but improves quality": "Bật Tăng cường Thời gian Kiểm tra; chậm nhưng cải thiện chất lượng",
32
+ "High end process": "Quy trình cao cấp",
33
+ "Mirror the missing frequency range of the output": "Phản chiếu dải tần số thiếu của đầu ra",
34
+ "Shifts": "Dịch chuyển thời gian",
35
+ "Number of predictions with random shifts, higher = slower but better quality": "Số lần dự đoán với dịch chuyển ngẫu nhiên, cao hơn = chậm hơn nhưng chất lượng tốt hơn",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "Độ chồng lấp giữa các cửa sổ dự đoán. Cao hơn = chậm hơn nhưng chất lượng tốt hơn",
37
+ "Stem 3": "Luồng 3",
38
+ "Stem 4": "Luồng 4",
39
+ "Themes": "Chủ đề",
40
+ "Theme": "Chủ đề",
41
+ "Select the theme you want to use. (Requires restarting the App)": "Chọn chủ đề bạn muốn sử dụng. (Yêu cầu khởi động lại ứng dụng)",
42
+ "Credits": "Ghi nhận",
43
+ "Language": "Ngôn ngữ",
44
+ "Advanced settings": "Cài đặt nâng cao",
45
+ "Override model default segment size instead of using the model default value": "Ghi đè kích thước phân đoạn mặc định của mô hình",
46
+ "Override segment size": "Ghi đè kích thước phân đoạn",
47
+ "Batch size": "Kích thước lô",
48
+ "Larger consumes more RAM but may process slightly faster": "Lớn hơn tốn nhiều RAM hơn nhưng có thể xử lý nhanh hơn chút",
49
+ "Normalization threshold": "Ngưỡng chuẩn hóa",
50
+ "The threshold for audio normalization": "Ngưỡng cho chuẩn hóa âm thanh",
51
+ "Amplification threshold": "Ngưỡng khuếch đại",
52
+ "The threshold for audio amplification": "Ngưỡng cho khuếch đại âm thanh",
53
+ "Hop length": "Độ dài bước nhảy",
54
+ "Usually called stride in neural networks; only change if you know what you're doing": "Thường gọi là bước trong mạng nơ-ron; chỉ thay đổi nếu bạn hiểu rõ",
55
+ "Balance quality and speed. 1024 = fast but lower, 320 = slower but better quality": "Cân bằng chất lượng và tốc độ. 1024 = nhanh nhưng kém, 320 = chậm nhưng tốt hơn",
56
+ "Identify leftover artifacts within vocal output; may improve separation for some songs": "Nhận diện nhiễu còn sót trong âm thanh giọng hát; có thể cải thiện tách nhạc cho một số bài",
57
+ "Post process": "Hậu xử lý",
58
+ "Post process threshold": "Ngưỡng hậu xử lý",
59
+ "Threshold for post-processing": "Ngưỡng cho hậu xử lý",
60
+ "Size of segments into which the audio is split. Higher = slower but better quality": "Kích thước phân đoạn âm thanh. Lớn hơn = chậm hơn nhưng chất lượng tốt hơn",
61
+ "Enable segment-wise processing": "Bật xử lý theo phân đoạn",
62
+ "Segment-wise processing": "Xử lý theo phân đoạn",
63
+ "Stem 5": "Luồng 5",
64
+ "Stem 6": "Luồng 6",
65
+ "Output only single stem": "Chỉ xuất một luồng duy nhất",
66
+ "Write the stem you want, check the stems of each model on Leaderboard. e.g. Instrumental": "Viết tên luồng bạn muốn, kiểm tra các luồng của từng mô hình trên Bảng xếp hạng. Ví dụ: Nhạc đệm",
67
+ "Leaderboard": "Bảng xếp hạng",
68
+ "List filter": "Bộ lọc danh sách",
69
+ "Filter and sort the model list by stem": "Lọc và sắp xếp danh sách mô hình theo luồng",
70
+ "Show list!": "Hiện danh sách!"
71
+ }
assets/i18n/languages/zh_CN.json CHANGED
@@ -33,6 +33,7 @@
33
  "Mirror the missing frequency range of the output": "镜像输出中缺失的频率范围",
34
  "Shifts": "偏移",
35
  "Number of predictions with random shifts, higher = slower but better quality": "随机偏移预测次数,越高越慢但质量越好",
 
36
  "Stem 3": "干声 3",
37
  "Stem 4": "干声 4",
38
  "Themes": "主题",
 
33
  "Mirror the missing frequency range of the output": "镜像输出中缺失的频率范围",
34
  "Shifts": "偏移",
35
  "Number of predictions with random shifts, higher = slower but better quality": "随机偏移预测次数,越高越慢但质量越好",
36
+ "Overlap between prediction windows. Higher = slower but better quality": "预测窗口之间的重叠. 越高越慢但质量越好",
37
  "Stem 3": "干声 3",
38
  "Stem 4": "干声 4",
39
  "Themes": "主题",
assets/presence/discord_presence.py ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pypresence import Presence
2
+ from pypresence.exceptions import DiscordNotFound, InvalidPipe
3
+ import datetime as dt
4
+ import threading
5
+ import functools
6
+
7
+ class RichPresenceManager:
8
+ def __init__(self):
9
+ self.client_id = "1339001292319621181"
10
+ self.rpc = None
11
+ self.running = False
12
+ self.current_state = "Idling"
13
+ self.lock = threading.Lock()
14
+ self.discord_available = True
15
+
16
+ self.presence_configs = {
17
+ # Roformer
18
+ "Performing BS/Mel Roformer Separation": {
19
+ "small_image": "roformer",
20
+ "small_text": "BS/Mel Roformer"
21
+ },
22
+ "Performing BS/Mel Roformer Batch Separation": {
23
+ "small_image": "roformer",
24
+ "small_text": "BS/Mel Roformer"
25
+ },
26
+ # MDXC
27
+ "Performing MDXC Separationn": {
28
+ "small_image": "mdxc",
29
+ "small_text": "MDXC"
30
+ },
31
+ "Performing MDXC Batch Separation": {
32
+ "small_image": "mdxc",
33
+ "small_text": "MDXC"
34
+ },
35
+ # MDX-NET
36
+ "Performing MDX-NET Separation": {
37
+ "small_image": "mdxnet",
38
+ "small_text": "MDX-NET"
39
+ },
40
+ "Performing MDX-NET Batch Separation": {
41
+ "small_image": "mdxnet",
42
+ "small_text": "MDX-NET"
43
+ },
44
+ # VR Arch
45
+ "Performing VR Arch Separation": {
46
+ "small_image": "vrarch",
47
+ "small_text": "VR Arch"
48
+ },
49
+ "Performing VR Arch Batch Separation": {
50
+ "small_image": "vrarch",
51
+ "small_text": "VR Arch"
52
+ },
53
+ # Demucs
54
+ "Performing Demucs Separation": {
55
+ "small_image": "demucs",
56
+ "small_text": "Demucs"
57
+ },
58
+ "Performing Demucs Batch Separation": {
59
+ "small_image": "demucs",
60
+ "small_text": "Demucs"
61
+ },
62
+ # Idling
63
+ "Idling": {
64
+ "small_image": "idling",
65
+ "small_text": "Idling"
66
+ }
67
+ }
68
+
69
+ def get_presence_config(self, state):
70
+ return self.presence_configs.get(state, self.presence_configs["Idling"])
71
+
72
+ def start_presence(self):
73
+ try:
74
+ if not self.running:
75
+ self.rpc = Presence(self.client_id)
76
+ try:
77
+ self.rpc.connect()
78
+ self.running = True
79
+ self.discord_available = True
80
+ self.update_presence()
81
+ print("Discord Rich Presence connected successfully")
82
+ except (DiscordNotFound, InvalidPipe):
83
+ print("Discord is not running. Rich Presence will be disabled.")
84
+ self.discord_available = False
85
+ self.running = False
86
+ self.rpc = None
87
+ except Exception as error:
88
+ print(f"An error occurred connecting to Discord: {error}")
89
+ self.discord_available = False
90
+ self.running = False
91
+ self.rpc = None
92
+ except Exception as e:
93
+ print(f"Unexpected error in start_presence: {e}")
94
+ self.discord_available = False
95
+ self.running = False
96
+ self.rpc = None
97
+
98
+ def update_presence(self):
99
+ if self.rpc and self.running and self.discord_available:
100
+ try:
101
+ config = self.get_presence_config(self.current_state)
102
+ self.rpc.update(
103
+ state=self.current_state,
104
+ details="Ultimate Vocal Remover 5 Gradio UI",
105
+ buttons=[{"label": "Download", "url": "https://github.com/Eddycrack864/UVR5-UI"}],
106
+ large_image="logo",
107
+ large_text="Separating tracks with UVR5 UI",
108
+ small_image=config["small_image"],
109
+ small_text=config["small_text"],
110
+ start=dt.datetime.now().timestamp(),
111
+ )
112
+ except Exception as e:
113
+ print(f"Error updating Discord presence: {e}")
114
+ self.discord_available = False
115
+ self.cleanup()
116
+
117
+ def set_state(self, state):
118
+ if self.discord_available:
119
+ with self.lock:
120
+ self.current_state = state
121
+ if self.running:
122
+ self.update_presence()
123
+
124
+ def cleanup(self):
125
+ self.running = False
126
+ if self.rpc and self.discord_available:
127
+ try:
128
+ self.rpc.close()
129
+ except:
130
+ pass
131
+ self.rpc = None
132
+ self.discord_available = False
133
+
134
+ def stop_presence(self):
135
+ self.cleanup()
136
+
137
+ RPCManager = RichPresenceManager()
138
+
139
+ def track_presence(state_message):
140
+ def decorator(func):
141
+ @functools.wraps(func)
142
+ def wrapper(*args, **kwargs):
143
+ if RPCManager.running and RPCManager.discord_available:
144
+ RPCManager.set_state(state_message)
145
+ try:
146
+ result = func(*args, **kwargs)
147
+ return result
148
+ finally:
149
+ if RPCManager.running and RPCManager.discord_available:
150
+ RPCManager.set_state("Idling")
151
+ return wrapper
152
+ return decorator
assets/themes/themes_list.json CHANGED
@@ -1,24 +1,83 @@
1
  [
2
- {"id": "freddyaboulton/dracula_revamped"},
3
- {"id": "freddyaboulton/bad-theme-space"},
4
- {"id": "gradio/dracula_revamped"},
5
- {"id": "abidlabs/dracula_revamped"},
6
- {"id": "gradio/seafoam"},
7
- {"id": "gradio/monochrome"},
8
- {"id": "gradio/soft"},
9
- {"id": "gradio/default"},
10
- {"id": "dawood/microsoft_windows"},
11
- {"id": "ysharma/steampunk"},
12
- {"id": "ysharma/huggingface"},
13
- {"id": "gstaff/xkcd"},
14
- {"id": "JohnSmith9982/small_and_pretty"},
15
- {"id": "abidlabs/Lime"},
16
- {"id": "bethecloud/storj_theme"},
17
- {"id": "sudeepshouche/minimalist"},
18
- {"id": "knotdgaf/gradiotest"},
19
- {"id": "ParityError/Interstellar"},
20
- {"id": "ParityError/Anime"},
21
- {"id": "Ajaxon6255/Emerald_Isle"},
22
- {"id": "NoCrypt/miku"},
23
- {"id": "Hev832/Applio"}
24
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  [
2
+ {"id": "freddyaboulton/dracula_revamped"},
3
+ {"id": "freddyaboulton/bad-theme-space"},
4
+ {"id": "gradio/dracula_revamped"},
5
+ {"id": "abidlabs/dracula_revamped"},
6
+ {"id": "gradio/dracula_test"},
7
+ {"id": "abidlabs/dracula_test"},
8
+ {"id": "gradio/seafoam"},
9
+ {"id": "gradio/glass"},
10
+ {"id": "gradio/monochrome"},
11
+ {"id": "gradio/soft"},
12
+ {"id": "gradio/default"},
13
+ {"id": "gradio/base"},
14
+ {"id": "abidlabs/pakistan"},
15
+ {"id": "dawood/microsoft_windows"},
16
+ {"id": "ysharma/steampunk"},
17
+ {"id": "ysharma/huggingface"},
18
+ {"id": "gstaff/xkcd"},
19
+ {"id": "JohnSmith9982/small_and_pretty"},
20
+ {"id": "abidlabs/Lime"},
21
+ {"id": "freddyaboulton/this-theme-does-not-exist-2"},
22
+ {"id": "aliabid94/new-theme"},
23
+ {"id": "aliabid94/test2"},
24
+ {"id": "aliabid94/test3"},
25
+ {"id": "aliabid94/test4"},
26
+ {"id": "abidlabs/banana"},
27
+ {"id": "freddyaboulton/test-blue"},
28
+ {"id": "gstaff/sketch"},
29
+ {"id": "gstaff/whiteboard"},
30
+ {"id": "ysharma/llamas"},
31
+ {"id": "abidlabs/font-test"},
32
+ {"id": "YenLai/Superhuman"},
33
+ {"id": "bethecloud/storj_theme"},
34
+ {"id": "sudeepshouche/minimalist"},
35
+ {"id": "knotdgaf/gradiotest"},
36
+ {"id": "ParityError/Interstellar"},
37
+ {"id": "ParityError/Anime"},
38
+ {"id": "Ajaxon6255/Emerald_Isle"},
39
+ {"id": "ParityError/LimeFace"},
40
+ {"id": "finlaymacklon/smooth_slate"},
41
+ {"id": "finlaymacklon/boxy_violet"},
42
+ {"id": "derekzen/stardust"},
43
+ {"id": "EveryPizza/Cartoony-Gradio-Theme"},
44
+ {"id": "Ifeanyi/Cyanister"},
45
+ {"id": "Tshackelton/IBMPlex-DenseReadable"},
46
+ {"id": "snehilsanyal/scikit-learn"},
47
+ {"id": "Himhimhim/xkcd"},
48
+ {"id": "shivi/calm_seafoam"},
49
+ {"id": "nota-ai/theme"},
50
+ {"id": "rawrsor1/Everforest"},
51
+ {"id": "SebastianBravo/simci_css"},
52
+ {"id": "rottenlittlecreature/Moon_Goblin"},
53
+ {"id": "abidlabs/test-yellow"},
54
+ {"id": "abidlabs/test-yellow3"},
55
+ {"id": "idspicQstitho/dracula_revamped"},
56
+ {"id": "kfahn/AnimalPose"},
57
+ {"id": "HaleyCH/HaleyCH_Theme"},
58
+ {"id": "simulKitke/dracula_test"},
59
+ {"id": "braintacles/CrimsonNight"},
60
+ {"id": "wentaohe/whiteboardv2"},
61
+ {"id": "reilnuud/polite"},
62
+ {"id": "remilia/Ghostly"},
63
+ {"id": "Franklisi/darkmode"},
64
+ {"id": "coding-alt/soft"},
65
+ {"id": "xiaobaiyuan/theme_land"},
66
+ {"id": "step-3-profit/Midnight-Deep"},
67
+ {"id": "xiaobaiyuan/theme_demo"},
68
+ {"id": "Taithrah/Minimal"},
69
+ {"id": "Insuz/SimpleIndigo"},
70
+ {"id": "zkunn/Alipay_Gradio_theme"},
71
+ {"id": "Insuz/Mocha"},
72
+ {"id": "xiaobaiyuan/theme_brief"},
73
+ {"id": "Ama434/434-base-Barlow"},
74
+ {"id": "Ama434/def_barlow"},
75
+ {"id": "Ama434/neutral-barlow"},
76
+ {"id": "dawood/dracula_test"},
77
+ {"id": "nuttea/Softblue"},
78
+ {"id": "BlueDancer/Alien_Diffusion"},
79
+ {"id": "naughtondale/monochrome"},
80
+ {"id": "Dagfinn1962/standard"},
81
+ {"id": "NoCrypt/miku"},
82
+ {"id": "Hev832/Applio"}
83
+ ]
requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
  audio-separator[gpu]==0.28.5
2
  scipy
3
- gradio==5.9.1
4
- yt_dlp
 
 
1
  audio-separator[gpu]==0.28.5
2
  scipy
3
+ gradio==5.16.0
4
+ yt_dlp
5
+ pypresence