Fix: a bug that prevented speech synthesis in app.py

This commit is contained in:
tsukumi
2024-03-08 22:09:47 +00:00
parent 30ea08d6ea
commit d22a11ebb2
5 changed files with 46 additions and 5 deletions

View File

@@ -34,11 +34,28 @@ from style_bert_vits2.constants import (
Languages,
)
from style_bert_vits2.logging import logger
from style_bert_vits2.nlp import bert_models
from style_bert_vits2.nlp.japanese import pyopenjtalk_worker as pyopenjtalk
from style_bert_vits2.tts_model import Model, ModelHolder
ln = config.server_config.language
# pyopenjtalk_worker を起動
## Gradio はマルチスレッドだが、initialize() 内部で利用されている signal はマルチスレッドから設定できない
## さらに起動には若干時間がかかるため、事前に起動しておいた方が体験が良い
pyopenjtalk.initialize()
# 事前に BERT モデル/トークナイザーをロードしておく
## ここでロードしなくても必要になった際に自動ロードされるが、時間がかかるため事前にロードしておいた方が体験が良い
bert_models.load_model(Languages.JP)
bert_models.load_tokenizer(Languages.JP)
bert_models.load_model(Languages.EN)
bert_models.load_tokenizer(Languages.EN)
bert_models.load_model(Languages.ZH)
bert_models.load_tokenizer(Languages.ZH)
def raise_validation_error(msg: str, param: str):
logger.warning(f"Validation error: {msg}")
raise HTTPException(