Initial commit: InkFlow — EPUB vers livre audio local (MLX/Kokoro)
This commit is contained in:
20
backend/inkflow/tts/factory.py
Normal file
20
backend/inkflow/tts/factory.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""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)})")
|
||||
Reference in New Issue
Block a user