|
@@ -27,7 +27,7 @@ from pydantic import BaseModel, field_validator
|
|
|
# 配置
|
|
# 配置
|
|
|
# ============================================================
|
|
# ============================================================
|
|
|
|
|
|
|
|
-DEFAULT_MODEL_NAME = os.getenv("TTS_ONNX_MODEL_NAME", "model.onnx")
|
|
|
|
|
|
|
+DEFAULT_MODEL_NAME = os.getenv("TTS_ONNX_MODEL_NAME", "model_quantized.onnx")
|
|
|
MODEL_DIR = os.getenv("TTS_ONNX_MODEL_DIR", "/home/tts-server/onnx")
|
|
MODEL_DIR = os.getenv("TTS_ONNX_MODEL_DIR", "/home/tts-server/onnx")
|
|
|
HF_MODEL_ID = os.getenv("TTS_ONNX_HF_MODEL_ID", "onnx-community/Kokoro-82M-ONNX")
|
|
HF_MODEL_ID = os.getenv("TTS_ONNX_HF_MODEL_ID", "onnx-community/Kokoro-82M-ONNX")
|
|
|
TOKENIZER_PATH = os.getenv("TTS_ONNX_TOKENIZER_PATH", str(Path(MODEL_DIR) / "tokenizer.json"))
|
|
TOKENIZER_PATH = os.getenv("TTS_ONNX_TOKENIZER_PATH", str(Path(MODEL_DIR) / "tokenizer.json"))
|
|
@@ -45,6 +45,14 @@ VOICE_ALIASES = {}
|
|
|
logging.basicConfig(level=getattr(logging, LOG_LEVEL, logging.INFO))
|
|
logging.basicConfig(level=getattr(logging, LOG_LEVEL, logging.INFO))
|
|
|
logger = logging.getLogger("speech_tts_onnx")
|
|
logger = logging.getLogger("speech_tts_onnx")
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+class _PhonemizerWordCountMismatchFilter(logging.Filter):
|
|
|
|
|
+ def filter(self, record: logging.LogRecord) -> bool:
|
|
|
|
|
+ return "words count mismatch" not in record.getMessage()
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+logging.getLogger("phonemizer").addFilter(_PhonemizerWordCountMismatchFilter())
|
|
|
|
|
+
|
|
|
Path(CACHE_DIR).mkdir(parents=True, exist_ok=True)
|
|
Path(CACHE_DIR).mkdir(parents=True, exist_ok=True)
|
|
|
SENT_SPLIT_RE = re.compile(r"(?<=[.!?,:])\s+")
|
|
SENT_SPLIT_RE = re.compile(r"(?<=[.!?,:])\s+")
|
|
|
_TOKENIZER_CACHE = None
|
|
_TOKENIZER_CACHE = None
|