litagin02 / Style-Bert-VITS2

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.
GNU Affero General Public License v3.0
680 stars 82 forks source link

Error #109

Closed OzoneAsai closed 5 months ago

OzoneAsai commented 5 months ago
C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\pyannote\audio\core\io.py:43: UserWarning: torchaudio._backend.set_audio_backend has been deprecated. With dispatcher enabled, this function is no-op. You can remove the function call.
  torchaudio.set_audio_backend("soundfile")
03-29 01:37:20 | DEBUG  | __init__.py:92 | try starting pyopenjtalk worker server
03-29 01:37:21 | DEBUG  | __init__.py:130 | pyopenjtalk worker server started
Running on local URL:  http://127.0.0.1:7860
Running on public URL: https://93c071a3d88b730685.gradio.live

This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\responses.py", line 264, in __call__
    await wrap(partial(self.listen_for_disconnect, receive))
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\responses.py", line 260, in wrap
    await func()
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\responses.py", line 237, in listen_for_disconnect
    message = await receive()
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 535, in receive
    await self.message_event.wait()
  File "asyncio\locks.py", line 214, in wait
asyncio.exceptions.CancelledError: Cancelled by cancel scope 1e4dcebe650

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 407, in run_asgi
  |     result = await app(  # type: ignore[func-returns-value]
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 69, in __call__
  |     return await self.app(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\fastapi\applications.py", line 1054, in __call__
  |     await super().__call__(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\applications.py", line 123, in __call__
  |     await self.middleware_stack(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
  |     raise exc
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
  |     await self.app(scope, receive, _send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\route_utils.py", line 680, in __call__
  |     await self.app(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
  |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
  |     raise exc
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
  |     await app(scope, receive, sender)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\routing.py", line 758, in __call__
  |     await self.middleware_stack(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\routing.py", line 778, in app
  |     await route.handle(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\routing.py", line 299, in handle
  |     await self.app(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\routing.py", line 79, in app
  |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
  |     raise exc
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
  |     await app(scope, receive, sender)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\routing.py", line 77, in app
  |     await response(scope, receive, send)
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\responses.py", line 257, in __call__
  |     async with anyio.create_task_group() as task_group:
  |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 678, in __aexit__
  |     raise BaseExceptionGroup(
  | exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\responses.py", line 260, in wrap
    |     await func()
    |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\starlette\responses.py", line 249, in stream_response
    |     async for chunk in self.body_iterator:
    |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\routes.py", line 811, in sse_stream
    |     raise e
    |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\routes.py", line 775, in sse_stream
    |     response = process_msg(message)
    |   File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\routes.py", line 723, in process_msg
    |     return f"data: {orjson.dumps(message.model_dump()).decode('utf-8')}\n\n"
    | TypeError: Type is not JSON serializable: WindowsPath
    +------------------------------------
Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\queueing.py", line 522, in process_events
    response = await route_utils.call_process_api(
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\route_utils.py", line 260, in call_process_api
    output = await app.get_blocks().process_api(
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\blocks.py", line 1689, in process_api
    result = await self.call_function(
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\blocks.py", line 1255, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 2144, in run_sync_in_worker_thread
    return await future
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 851, in run
    result = context.run(func, *args)
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\venv\lib\site-packages\gradio\utils.py", line 750, in wrapper
    response = f(*args, **kwargs)
  File "C:\WorkSpace\Style-Bert-VITS2\sbv2\Style-Bert-VITS2\style_bert_vits2\tts_model.py", line 387, in get_model_for_gradio
    raise ValueError(f"Model file `{model_path}` is not found")
ValueError: Model file `model_assets\jvnv-F1-jp\jvnv-F1-jp_e160_s14000.safetensors` is not found
OzoneAsai commented 5 months ago

特定のモデルを選択したときに発生します。特定のモデルとは、最新版でトレーニングしたモデルで、ZHとENのBertを凍結したJP_Extraモデルです。

OzoneAsai commented 5 months ago
{
  "model_name": "Test-ura-1",
  "train": {
    "log_interval": 200,
    "eval_interval": 700,
    "seed": 42,
    "epochs": 100,
    "learning_rate": 0.0001,
    "betas": [
      0.8,
      0.99
    ],
    "eps": 1e-09,
    "batch_size": 1,
    "bf16_run": false,
    "fp16_run": false,
    "lr_decay": 0.99996,
    "segment_size": 16384,
    "init_lr_ratio": 1,
    "warmup_epochs": 0,
    "c_mel": 45,
    "c_kl": 1.0,
    "c_commit": 100,
    "skip_optimizer": false,
    "freeze_ZH_bert": true,
    "freeze_JP_bert": false,
    "freeze_EN_bert": true,
    "freeze_emo": false,
    "freeze_style": false,
    "freeze_decoder": false
  },
  "data": {
    "use_jp_extra": true,
    "training_files": "Data\\Test-ura-1\\train.list",
    "validation_files": "Data\\Test-ura-1\\val.list",
    "max_wav_value": 32768.0,
    "sampling_rate": 44100,
    "filter_length": 2048,
    "hop_length": 512,
    "win_length": 2048,
    "n_mel_channels": 128,
    "mel_fmin": 0.0,
    "mel_fmax": null,
    "add_blank": true,
    "n_speakers": 1,
    "cleaned_text": true,
    "spk2id": {
      "Test-ura-1": 0
    },
    "num_styles": 1,
    "style2id": {
      "Neutral": 0
    }
  },
  "model": {
    "use_spk_conditioned_encoder": true,
    "use_noise_scaled_mas": true,
    "use_mel_posterior_encoder": false,
    "use_duration_discriminator": false,
    "use_wavlm_discriminator": true,
    "inter_channels": 192,
    "hidden_channels": 192,
    "filter_channels": 768,
    "n_heads": 2,
    "n_layers": 6,
    "kernel_size": 3,
    "p_dropout": 0.1,
    "resblock": "1",
    "resblock_kernel_sizes": [
      3,
      7,
      11
    ],
    "resblock_dilation_sizes": [
      [
        1,
        3,
        5
      ],
      [
        1,
        3,
        5
      ],
      [
        1,
        3,
        5
      ]
    ],
    "upsample_rates": [
      8,
      8,
      2,
      2,
      2
    ],
    "upsample_initial_channel": 512,
    "upsample_kernel_sizes": [
      16,
      16,
      8,
      2,
      2
    ],
    "n_layers_q": 3,
    "use_spectral_norm": false,
    "gin_channels": 512,
    "slm": {
      "model": "./slm/wavlm-base-plus",
      "sr": 16000,
      "hidden": 768,
      "nlayers": 13,
      "initial_channel": 64
    }
  },
  "version": "2.4.1-JP-Extra"
}
litagin02 commented 5 months ago

詳しいことは分かっていませんが、同様の報告が多くあり(モデルの更新や読み込みを行うとJSON Serializationエラーが出る)、おそらくgradioのバージョンアップによるバグが原因のようです。 バージョン指定を固定したので、アップデートして試していただけると助かります。

OzoneAsai commented 5 months ago

解決しました。

azulika commented 3 months ago

最新バージョンでも発生するようです。起きるのはApp.batからのエディタだけで、Editor.batからの新しいエディタでは起きないようです。

kash203 commented 3 months ago

良いツールをありがとうございます。 以下のようにstyle_bert_vits2/tts_model.pyを変更したところ、音声合成とマージ機能はWindows上で動作することを確認しました。

litagin02 commented 3 months ago

最近のGradioのアプデでPath型のものをgradio componentへ渡せなくなったのが原因のようで、 最近の修正でおそらくこれ関連のエラーは解決しました。