Files
InkFlow/backend/inkflow/tts/factory.py

21 lines
561 B
Python

"""Selection du backend TTS par nom (pluggable)."""
from __future__ import annotations
from functools import lru_cache
from .base import TTSBackend
BACKENDS = ("kokoro", "qwen3")
@lru_cache(maxsize=4)
def get_backend(name: str = "kokoro") -> TTSBackend:
name = name.lower()
if name == "kokoro":
from .kokoro import KokoroBackend
return KokoroBackend()
if name == "qwen3":
from .qwen3 import Qwen3Backend
return Qwen3Backend()
raise ValueError(f"Backend TTS inconnu: {name!r} (dispo: {', '.join(BACKENDS)})")