Spaces:
Running
Running
Update main/app/app.py
Browse files- main/app/app.py +118 -116
main/app/app.py
CHANGED
@@ -68,7 +68,7 @@ with gr.Blocks(title=" Ultimate RVC Maker ⚡", theme=theme) as app:
|
|
68 |
overlap = gr.Radio(label=translations["overlap"], info=translations["overlap_info"], choices=["0.25", "0.5", "0.75", "0.99"], value="0.25", interactive=True)
|
69 |
with gr.Row():
|
70 |
mdx_hop_length = gr.Slider(label="Hop length", info=translations["hop_length_info"], minimum=1, maximum=8192, value=1024, step=1, interactive=True, visible=backing.value or reverb.value or separator_model.value in mdx_model)
|
71 |
-
|
72 |
with gr.Column():
|
73 |
input = gr.File(label=translations["drop_audio"], file_types=[".wav", ".mp3", ".flac", ".ogg", ".opus", ".m4a", ".mp4", ".aac", ".alac", ".wma", ".aiff", ".webm", ".ac3"])
|
74 |
with gr.Accordion(translations["use_url"], open=False):
|
@@ -434,118 +434,16 @@ with gr.Blocks(title=" Ultimate RVC Maker ⚡", theme=theme) as app:
|
|
434 |
api_name="convert_audio"
|
435 |
)
|
436 |
|
437 |
-
|
438 |
-
with gr.TabItem(translations["downloads"], visible=configs.get("downloads_tab", True)):
|
439 |
-
gr.Markdown(translations["download_markdown"])
|
440 |
-
with gr.Row():
|
441 |
-
gr.Markdown(translations["download_markdown_2"])
|
442 |
-
with gr.Row():
|
443 |
-
with gr.Accordion(translations["model_download"], open=True):
|
444 |
-
with gr.Row():
|
445 |
-
downloadmodel = gr.Radio(label=translations["model_download_select"], choices=[translations["download_url"], translations["download_from_csv"], translations["search_models"], translations["upload"]], interactive=True, value=translations["download_url"])
|
446 |
-
with gr.Row():
|
447 |
-
gr.Markdown("___")
|
448 |
-
with gr.Column():
|
449 |
-
with gr.Row():
|
450 |
-
url_input = gr.Textbox(label=translations["model_url"], value="", placeholder="https://...", scale=6)
|
451 |
-
download_model_name = gr.Textbox(label=translations["modelname"], value="", placeholder=translations["modelname"], scale=2)
|
452 |
-
url_download = gr.Button(value=translations["downloads"], scale=2)
|
453 |
-
with gr.Column():
|
454 |
-
model_browser = gr.Dropdown(choices=models.keys(), label=translations["model_warehouse"], scale=8, allow_custom_value=True, visible=False)
|
455 |
-
download_from_browser = gr.Button(value=translations["get_model"], scale=2, variant="primary", visible=False)
|
456 |
-
with gr.Column():
|
457 |
-
search_name = gr.Textbox(label=translations["name_to_search"], placeholder=translations["modelname"], interactive=True, scale=8, visible=False)
|
458 |
-
search = gr.Button(translations["search_2"], scale=2, visible=False)
|
459 |
-
search_dropdown = gr.Dropdown(label=translations["select_download_model"], value="", choices=[], allow_custom_value=True, interactive=False, visible=False)
|
460 |
-
download = gr.Button(translations["downloads"], variant="primary", visible=False)
|
461 |
-
with gr.Column():
|
462 |
-
model_upload = gr.File(label=translations["drop_model"], file_types=[".pth", ".onnx", ".index", ".zip"], visible=False)
|
463 |
-
with gr.Row():
|
464 |
-
with gr.Accordion(translations["download_pretrained_2"], open=False):
|
465 |
-
with gr.Row():
|
466 |
-
pretrain_download_choices = gr.Radio(label=translations["model_download_select"], choices=[translations["download_url"], translations["list_model"], translations["upload"]], value=translations["download_url"], interactive=True)
|
467 |
-
with gr.Row():
|
468 |
-
gr.Markdown("___")
|
469 |
-
with gr.Column():
|
470 |
-
with gr.Row():
|
471 |
-
pretrainD = gr.Textbox(label=translations["pretrained_url"].format(dg="D"), value="", info=translations["only_huggingface"], placeholder="https://...", interactive=True, scale=4)
|
472 |
-
pretrainG = gr.Textbox(label=translations["pretrained_url"].format(dg="G"), value="", info=translations["only_huggingface"], placeholder="https://...", interactive=True, scale=4)
|
473 |
-
download_pretrain_button = gr.Button(translations["downloads"], scale=2)
|
474 |
-
with gr.Column():
|
475 |
-
with gr.Row():
|
476 |
-
pretrain_choices = gr.Dropdown(label=translations["select_pretrain"], info=translations["select_pretrain_info"], choices=list(fetch_pretrained_data().keys()), value="Titan_Medium", allow_custom_value=True, interactive=True, scale=6, visible=False)
|
477 |
-
sample_rate_pretrain = gr.Dropdown(label=translations["pretrain_sr"], info=translations["pretrain_sr"], choices=["48k", "40k", "32k"], value="48k", interactive=True, visible=False)
|
478 |
-
download_pretrain_choices_button = gr.Button(translations["downloads"], scale=2, variant="primary", visible=False)
|
479 |
-
with gr.Row():
|
480 |
-
pretrain_upload_g = gr.File(label=translations["drop_pretrain"].format(dg="G"), file_types=[".pth"], visible=False)
|
481 |
-
pretrain_upload_d = gr.File(label=translations["drop_pretrain"].format(dg="D"), file_types=[".pth"], visible=False)
|
482 |
-
with gr.Row():
|
483 |
-
url_download.click(
|
484 |
-
fn=download_model,
|
485 |
-
inputs=[
|
486 |
-
url_input,
|
487 |
-
download_model_name
|
488 |
-
],
|
489 |
-
outputs=[url_input],
|
490 |
-
api_name="download_model"
|
491 |
-
)
|
492 |
-
download_from_browser.click(
|
493 |
-
fn=lambda model: download_model(models[model], model),
|
494 |
-
inputs=[model_browser],
|
495 |
-
outputs=[model_browser],
|
496 |
-
api_name="download_browser"
|
497 |
-
)
|
498 |
-
with gr.Row():
|
499 |
-
downloadmodel.change(fn=change_download_choices, inputs=[downloadmodel], outputs=[url_input, download_model_name, url_download, model_browser, download_from_browser, search_name, search, search_dropdown, download, model_upload])
|
500 |
-
search.click(fn=search_models, inputs=[search_name], outputs=[search_dropdown, download])
|
501 |
-
model_upload.upload(fn=save_drop_model, inputs=[model_upload], outputs=[model_upload])
|
502 |
-
download.click(
|
503 |
-
fn=lambda model: download_model(model_options[model], model),
|
504 |
-
inputs=[search_dropdown],
|
505 |
-
outputs=[search_dropdown],
|
506 |
-
api_name="search_models"
|
507 |
-
)
|
508 |
-
with gr.Row():
|
509 |
-
pretrain_download_choices.change(fn=change_download_pretrained_choices, inputs=[pretrain_download_choices], outputs=[pretrainD, pretrainG, download_pretrain_button, pretrain_choices, sample_rate_pretrain, download_pretrain_choices_button, pretrain_upload_d, pretrain_upload_g])
|
510 |
-
pretrain_choices.change(fn=update_sample_rate_dropdown, inputs=[pretrain_choices], outputs=[sample_rate_pretrain])
|
511 |
-
with gr.Row():
|
512 |
-
download_pretrain_button.click(
|
513 |
-
fn=download_pretrained_model,
|
514 |
-
inputs=[
|
515 |
-
pretrain_download_choices,
|
516 |
-
pretrainD,
|
517 |
-
pretrainG
|
518 |
-
],
|
519 |
-
outputs=[pretrainD],
|
520 |
-
api_name="download_pretrain_link"
|
521 |
-
)
|
522 |
-
download_pretrain_choices_button.click(
|
523 |
-
fn=download_pretrained_model,
|
524 |
-
inputs=[
|
525 |
-
pretrain_download_choices,
|
526 |
-
pretrain_choices,
|
527 |
-
sample_rate_pretrain
|
528 |
-
],
|
529 |
-
outputs=[pretrain_choices],
|
530 |
-
api_name="download_pretrain_choices"
|
531 |
-
)
|
532 |
-
pretrain_upload_g.upload(
|
533 |
-
fn=lambda pretrain_upload_g: shutil.move(pretrain_upload_g.name, os.path.join("assets", "models", "pretrained_custom")),
|
534 |
-
inputs=[pretrain_upload_g],
|
535 |
-
outputs=[],
|
536 |
-
api_name="upload_pretrain_g"
|
537 |
-
)
|
538 |
-
pretrain_upload_d.upload(
|
539 |
-
fn=lambda pretrain_upload_d: shutil.move(pretrain_upload_d.name, os.path.join("assets", "models", "pretrained_custom")),
|
540 |
-
inputs=[pretrain_upload_d],
|
541 |
-
outputs=[],
|
542 |
-
api_name="upload_pretrain_d"
|
543 |
-
)
|
544 |
|
545 |
with gr.TabItem(translations["convert_text"], visible=configs.get("tts_tab", True)):
|
546 |
gr.Markdown(translations["convert_text_markdown"])
|
547 |
with gr.Row():
|
548 |
gr.Markdown(translations["convert_text_markdown_2"])
|
|
|
|
|
|
|
|
|
|
|
549 |
with gr.Row():
|
550 |
with gr.Column():
|
551 |
with gr.Group():
|
@@ -565,14 +463,9 @@ with gr.Blocks(title=" Ultimate RVC Maker ⚡", theme=theme) as app:
|
|
565 |
tts_voice = gr.Dropdown(label=translations["voice"], choices=edgetts, interactive=True, value="vi-VN-NamMinhNeural")
|
566 |
tts_pitch = gr.Slider(minimum=-20, maximum=20, step=1, info=translations["pitch_info_2"], label=translations["pitch"], value=0, interactive=True)
|
567 |
with gr.Column():
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
model_index0 = gr.Dropdown(label=translations["index_path"], choices=index_path, value=index_path[0] if len(index_path) >= 1 else "", interactive=True, allow_custom_value=True)
|
572 |
-
with gr.Row():
|
573 |
-
refesh1 = gr.Button(translations["refesh"])
|
574 |
-
with gr.Row():
|
575 |
-
index_strength0 = gr.Slider(label=translations["index_strength"], info=translations["index_strength_info"], minimum=0, maximum=1, value=0.5, step=0.01, interactive=True, visible=model_index0.value != "")
|
576 |
with gr.Accordion(translations["output_path"], open=False):
|
577 |
export_format0 = gr.Radio(label=translations["export_format"], info=translations["export_info"], choices=["wav", "mp3", "flac", "ogg", "opus", "m4a", "mp4", "aac", "alac", "wma", "aiff", "webm", "ac3"], value="wav", interactive=True)
|
578 |
output_audio0 = gr.Textbox(label=translations["output_tts"], value="audios/tts.wav", placeholder="audios/tts.wav", info=translations["tts_output"], interactive=True)
|
@@ -689,6 +582,115 @@ with gr.Blocks(title=" Ultimate RVC Maker ⚡", theme=theme) as app:
|
|
689 |
)
|
690 |
|
691 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
692 |
with gr.TabItem(translations["training_model"], visible=configs.get("training_tab", True)):
|
693 |
gr.Markdown(f"## {translations['training_model']}")
|
694 |
with gr.Row():
|
|
|
68 |
overlap = gr.Radio(label=translations["overlap"], info=translations["overlap_info"], choices=["0.25", "0.5", "0.75", "0.99"], value="0.25", interactive=True)
|
69 |
with gr.Row():
|
70 |
mdx_hop_length = gr.Slider(label="Hop length", info=translations["hop_length_info"], minimum=1, maximum=8192, value=1024, step=1, interactive=True, visible=backing.value or reverb.value or separator_model.value in mdx_model)
|
71 |
+
|
72 |
with gr.Column():
|
73 |
input = gr.File(label=translations["drop_audio"], file_types=[".wav", ".mp3", ".flac", ".ogg", ".opus", ".m4a", ".mp4", ".aac", ".alac", ".wma", ".aiff", ".webm", ".ac3"])
|
74 |
with gr.Accordion(translations["use_url"], open=False):
|
|
|
434 |
api_name="convert_audio"
|
435 |
)
|
436 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
437 |
|
438 |
with gr.TabItem(translations["convert_text"], visible=configs.get("tts_tab", True)):
|
439 |
gr.Markdown(translations["convert_text_markdown"])
|
440 |
with gr.Row():
|
441 |
gr.Markdown(translations["convert_text_markdown_2"])
|
442 |
+
with gr.Accordion(translations["model_accordion"], open=True):
|
443 |
+
with gr.Row():
|
444 |
+
model_pth0 = gr.Dropdown(label=translations["model_name"], choices=model_name, value=model_name[0] if len(model_name) >= 1 else "", interactive=True, allow_custom_value=True)
|
445 |
+
model_index0 = gr.Dropdown(label=translations["index_path"], choices=index_path, value=index_path[0] if len(index_path) >= 1 else "", interactive=True, allow_custom_value=True)
|
446 |
+
|
447 |
with gr.Row():
|
448 |
with gr.Column():
|
449 |
with gr.Group():
|
|
|
463 |
tts_voice = gr.Dropdown(label=translations["voice"], choices=edgetts, interactive=True, value="vi-VN-NamMinhNeural")
|
464 |
tts_pitch = gr.Slider(minimum=-20, maximum=20, step=1, info=translations["pitch_info_2"], label=translations["pitch"], value=0, interactive=True)
|
465 |
with gr.Column():
|
466 |
+
refesh1 = gr.Button(translations["refesh"])
|
467 |
+
with gr.Row():
|
468 |
+
index_strength0 = gr.Slider(label=translations["index_strength"], info=translations["index_strength_info"], minimum=0, maximum=1, value=0.5, step=0.01, interactive=True, visible=model_index0.value != "")
|
|
|
|
|
|
|
|
|
|
|
469 |
with gr.Accordion(translations["output_path"], open=False):
|
470 |
export_format0 = gr.Radio(label=translations["export_format"], info=translations["export_info"], choices=["wav", "mp3", "flac", "ogg", "opus", "m4a", "mp4", "aac", "alac", "wma", "aiff", "webm", "ac3"], value="wav", interactive=True)
|
471 |
output_audio0 = gr.Textbox(label=translations["output_tts"], value="audios/tts.wav", placeholder="audios/tts.wav", info=translations["tts_output"], interactive=True)
|
|
|
582 |
)
|
583 |
|
584 |
|
585 |
+
|
586 |
+
with gr.TabItem(translations["downloads"], visible=configs.get("downloads_tab", True)):
|
587 |
+
gr.Markdown(translations["download_markdown"])
|
588 |
+
with gr.Row():
|
589 |
+
gr.Markdown(translations["download_markdown_2"])
|
590 |
+
with gr.Row():
|
591 |
+
with gr.Accordion(translations["model_download"], open=True):
|
592 |
+
with gr.Row():
|
593 |
+
downloadmodel = gr.Radio(label=translations["model_download_select"], choices=[translations["download_url"], translations["download_from_csv"], translations["search_models"], translations["upload"]], interactive=True, value=translations["download_url"])
|
594 |
+
with gr.Row():
|
595 |
+
gr.Markdown("___")
|
596 |
+
with gr.Column():
|
597 |
+
with gr.Row():
|
598 |
+
url_input = gr.Textbox(label=translations["model_url"], value="", placeholder="https://...", scale=6)
|
599 |
+
download_model_name = gr.Textbox(label=translations["modelname"], value="", placeholder=translations["modelname"], scale=2)
|
600 |
+
url_download = gr.Button(value=translations["downloads"], scale=2)
|
601 |
+
with gr.Column():
|
602 |
+
model_browser = gr.Dropdown(choices=models.keys(), label=translations["model_warehouse"], scale=8, allow_custom_value=True, visible=False)
|
603 |
+
download_from_browser = gr.Button(value=translations["get_model"], scale=2, variant="primary", visible=False)
|
604 |
+
with gr.Column():
|
605 |
+
search_name = gr.Textbox(label=translations["name_to_search"], placeholder=translations["modelname"], interactive=True, scale=8, visible=False)
|
606 |
+
search = gr.Button(translations["search_2"], scale=2, visible=False)
|
607 |
+
search_dropdown = gr.Dropdown(label=translations["select_download_model"], value="", choices=[], allow_custom_value=True, interactive=False, visible=False)
|
608 |
+
download = gr.Button(translations["downloads"], variant="primary", visible=False)
|
609 |
+
with gr.Column():
|
610 |
+
model_upload = gr.File(label=translations["drop_model"], file_types=[".pth", ".onnx", ".index", ".zip"], visible=False)
|
611 |
+
with gr.Row():
|
612 |
+
with gr.Accordion(translations["download_pretrained_2"], open=False):
|
613 |
+
with gr.Row():
|
614 |
+
pretrain_download_choices = gr.Radio(label=translations["model_download_select"], choices=[translations["download_url"], translations["list_model"], translations["upload"]], value=translations["download_url"], interactive=True)
|
615 |
+
with gr.Row():
|
616 |
+
gr.Markdown("___")
|
617 |
+
with gr.Column():
|
618 |
+
with gr.Row():
|
619 |
+
pretrainD = gr.Textbox(label=translations["pretrained_url"].format(dg="D"), value="", info=translations["only_huggingface"], placeholder="https://...", interactive=True, scale=4)
|
620 |
+
pretrainG = gr.Textbox(label=translations["pretrained_url"].format(dg="G"), value="", info=translations["only_huggingface"], placeholder="https://...", interactive=True, scale=4)
|
621 |
+
download_pretrain_button = gr.Button(translations["downloads"], scale=2)
|
622 |
+
with gr.Column():
|
623 |
+
with gr.Row():
|
624 |
+
pretrain_choices = gr.Dropdown(label=translations["select_pretrain"], info=translations["select_pretrain_info"], choices=list(fetch_pretrained_data().keys()), value="Titan_Medium", allow_custom_value=True, interactive=True, scale=6, visible=False)
|
625 |
+
sample_rate_pretrain = gr.Dropdown(label=translations["pretrain_sr"], info=translations["pretrain_sr"], choices=["48k", "40k", "32k"], value="48k", interactive=True, visible=False)
|
626 |
+
download_pretrain_choices_button = gr.Button(translations["downloads"], scale=2, variant="primary", visible=False)
|
627 |
+
with gr.Row():
|
628 |
+
pretrain_upload_g = gr.File(label=translations["drop_pretrain"].format(dg="G"), file_types=[".pth"], visible=False)
|
629 |
+
pretrain_upload_d = gr.File(label=translations["drop_pretrain"].format(dg="D"), file_types=[".pth"], visible=False)
|
630 |
+
with gr.Row():
|
631 |
+
url_download.click(
|
632 |
+
fn=download_model,
|
633 |
+
inputs=[
|
634 |
+
url_input,
|
635 |
+
download_model_name
|
636 |
+
],
|
637 |
+
outputs=[url_input],
|
638 |
+
api_name="download_model"
|
639 |
+
)
|
640 |
+
download_from_browser.click(
|
641 |
+
fn=lambda model: download_model(models[model], model),
|
642 |
+
inputs=[model_browser],
|
643 |
+
outputs=[model_browser],
|
644 |
+
api_name="download_browser"
|
645 |
+
)
|
646 |
+
with gr.Row():
|
647 |
+
downloadmodel.change(fn=change_download_choices, inputs=[downloadmodel], outputs=[url_input, download_model_name, url_download, model_browser, download_from_browser, search_name, search, search_dropdown, download, model_upload])
|
648 |
+
search.click(fn=search_models, inputs=[search_name], outputs=[search_dropdown, download])
|
649 |
+
model_upload.upload(fn=save_drop_model, inputs=[model_upload], outputs=[model_upload])
|
650 |
+
download.click(
|
651 |
+
fn=lambda model: download_model(model_options[model], model),
|
652 |
+
inputs=[search_dropdown],
|
653 |
+
outputs=[search_dropdown],
|
654 |
+
api_name="search_models"
|
655 |
+
)
|
656 |
+
with gr.Row():
|
657 |
+
pretrain_download_choices.change(fn=change_download_pretrained_choices, inputs=[pretrain_download_choices], outputs=[pretrainD, pretrainG, download_pretrain_button, pretrain_choices, sample_rate_pretrain, download_pretrain_choices_button, pretrain_upload_d, pretrain_upload_g])
|
658 |
+
pretrain_choices.change(fn=update_sample_rate_dropdown, inputs=[pretrain_choices], outputs=[sample_rate_pretrain])
|
659 |
+
with gr.Row():
|
660 |
+
download_pretrain_button.click(
|
661 |
+
fn=download_pretrained_model,
|
662 |
+
inputs=[
|
663 |
+
pretrain_download_choices,
|
664 |
+
pretrainD,
|
665 |
+
pretrainG
|
666 |
+
],
|
667 |
+
outputs=[pretrainD],
|
668 |
+
api_name="download_pretrain_link"
|
669 |
+
)
|
670 |
+
download_pretrain_choices_button.click(
|
671 |
+
fn=download_pretrained_model,
|
672 |
+
inputs=[
|
673 |
+
pretrain_download_choices,
|
674 |
+
pretrain_choices,
|
675 |
+
sample_rate_pretrain
|
676 |
+
],
|
677 |
+
outputs=[pretrain_choices],
|
678 |
+
api_name="download_pretrain_choices"
|
679 |
+
)
|
680 |
+
pretrain_upload_g.upload(
|
681 |
+
fn=lambda pretrain_upload_g: shutil.move(pretrain_upload_g.name, os.path.join("assets", "models", "pretrained_custom")),
|
682 |
+
inputs=[pretrain_upload_g],
|
683 |
+
outputs=[],
|
684 |
+
api_name="upload_pretrain_g"
|
685 |
+
)
|
686 |
+
pretrain_upload_d.upload(
|
687 |
+
fn=lambda pretrain_upload_d: shutil.move(pretrain_upload_d.name, os.path.join("assets", "models", "pretrained_custom")),
|
688 |
+
inputs=[pretrain_upload_d],
|
689 |
+
outputs=[],
|
690 |
+
api_name="upload_pretrain_d"
|
691 |
+
)
|
692 |
+
|
693 |
+
|
694 |
with gr.TabItem(translations["training_model"], visible=configs.get("training_tab", True)):
|
695 |
gr.Markdown(f"## {translations['training_model']}")
|
696 |
with gr.Row():
|