Files
2026-07-13 13:03:09 +08:00

24 lines
886 B
Python

from typing import Any
from lib.classes.tts_registry import TTSRegistry
class TTSManager:
def __init__(self, session:Any)->None:
self.session = session
engine_name = session.get("tts_engine")
if engine_name is None:
raise ValueError("session['tts_engine'] is missing")
try:
engine_cls = TTSRegistry.ENGINES[engine_name]
except KeyError:
raise ValueError(
f"Invalid tts_engine '{engine_name}'. "
f"Expected one of: {', '.join(TTSRegistry.ENGINES)}"
)
self.engine = engine_cls(session)
def set_voice(self, block_voice:str|None)->tuple:
return self.engine._set_voice(block_voice)
def convert_sentence2audio(self, sentence_file:str, sentence:str, **kwargs)->tuple:
return self.engine.convert(sentence_file, sentence, **kwargs)