Sfoglia il codice sorgente

Fix Package BUG (#188)

* Fix button height

* Streaming support

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Convert to 1 channel

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix Conversion bug

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix target path

* Add checkpoint selection

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix gpup decorator

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add link for labeler

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Localize labeler

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add LoRA llama config

* Allow download stream audio

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* asr

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add cache auto recycling

* 多打了一个字母

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Check 'compile' avaliable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add vits-decoder UI support & Fix bugs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Configurable audio length, i18n

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Label Exception

* Add workflow

* Update build-windows-package.yml

* Update build-windows-package.yml

* Fix workflow: models remove

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Push to HF

* Modify Workflow

* Fix

* Free from Zipping

* Remove vits bf16-true & Fix orkflow

* fix env

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Leng Yue <lengyue@lengyue.me>
spicysama 1 anno fa
parent
commit
51fbfbe2c2
2 ha cambiato i file con 72 aggiunte e 9 eliminazioni
  1. 2 0
      start之前修复环境.bat
  2. 70 9
      tools/webui.py

+ 2 - 0
start之前修复环境.bat

@@ -0,0 +1,2 @@
+.\fishenv\python -m pip uninstall torch torchaudio torchvision
+.\fishenv\python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

+ 70 - 9
tools/webui.py

@@ -167,6 +167,54 @@ def inference(
 
 inference_stream = partial(inference, streaming=True)
 
+n_audios = 3
+
+global_audio_list = []
+
+
+def inference_wrapper(
+    text,
+    enable_reference_audio,
+    reference_audio,
+    reference_text,
+    max_new_tokens,
+    chunk_length,
+    top_p,
+    repetition_penalty,
+    temperature,
+    speaker,
+    batch_infer_num,
+):
+    audios = []
+    for _ in range(batch_infer_num):
+        items = inference(
+            text,
+            enable_reference_audio,
+            reference_audio,
+            reference_text,
+            max_new_tokens,
+            chunk_length,
+            top_p,
+            repetition_penalty,
+            temperature,
+            speaker,
+        )
+        try:
+            item = next(items)
+            if item and item[1]:
+                audios.append(
+                    gr.Audio(value=item[1], visible=True),
+                )
+        except StopIteration:
+            print("No more audio data available.")
+
+    for _ in range(n_audios - batch_infer_num):
+        audios.append(
+            gr.Audio(value=None, visible=False),
+        )
+
+    return None, *audios, None
+
 
 def wav_chunk_header(sample_rate=44100, bit_depth=16, channels=1):
     buffer = io.BytesIO()
@@ -263,16 +311,28 @@ def build_app():
                             lines=1,
                             value="在一无所知中,梦里的一天结束了,一个新的「轮回」便会开始。",
                         )
+                    with gr.Tab(label=i18n("Batch Inference")):
+                        batch_infer_num = gr.Slider(
+                            label="Batch infer nums",
+                            minimum=1,
+                            maximum=3,
+                            step=1,
+                            value=1,
+                        )
 
             with gr.Column(scale=3):
                 with gr.Row():
-                    error = gr.HTML(label=i18n("Error Message"))
-                with gr.Row():
-                    audio = gr.Audio(
-                        label=i18n("Generated Audio"),
-                        type="numpy",
-                        interactive=False,
-                    )
+                    error = gr.HTML(label=i18n("Error Message"), visible=False)
+                for _ in range(n_audios):
+                    with gr.Row():
+                        audio = gr.Audio(
+                            label=i18n("Generated Audio"),
+                            type="numpy",
+                            interactive=False,
+                            visible=False,
+                        )
+                        global_audio_list.append(audio)
+
                 with gr.Row():
                     stream_audio = gr.Audio(
                         label=i18n("Streaming Audio"),
@@ -291,7 +351,7 @@ def build_app():
                         )
         # # Submit
         generate.click(
-            inference,
+            inference_wrapper,
             [
                 text,
                 enable_reference_audio,
@@ -303,8 +363,9 @@ def build_app():
                 repetition_penalty,
                 temperature,
                 speaker,
+                batch_infer_num,
             ],
-            [stream_audio, audio, error],
+            [stream_audio, *global_audio_list, error],
             concurrency_limit=1,
         )