Voicebank : vraies voix françaises (CML-TTS) + pool anonyme + garde-fou Qwen3
Remplace la voicebank générée par Kokoro (timbre anglais sur français phonémisé -> accent que Qwen3 clonait) par 41 vraies voix FR issues de CML-TTS (livres audio studio) : 1 narrateur dédié, 18F/14M nommées, 4F/4M anonymes réservées. - scripts/import_voices.py : import multi-shards parquet, 1 clip/locuteur (le plus propre via levenshtein), genre estimé par F0 (YIN, anti-octave), filtre débit de parole (ref_text aligné sur l'audio). - VoiceEntry.anonymous + assign_voices : les figurants « anonyme (...) » tirent dans un pool réservé, jamais mélangé avec les voix nommées ; narrateur dédié (fr_narrator remplace fr_f_siwis). - dedup._anon_attrs : genre/âge déduits du nom anonyme (bon genre de voix). - tts/qwen3.py : garde-fou anti-dérive (rejette/réessaie les sorties en boucle ou coupées en estimant la durée plausible du chunk). Limite connue : Qwen3 ne sait pas synthétiser les fragments d'1-2 mots (incises, titres) -> trous ; à traiter (repli Kokoro ou fusion des incises). Inclut aussi du travail en cours antérieur (refacto backend LLM pluggable mlx/lmstudio, benchmark, ajustements frontend/API). Claude-Session: https://claude.ai/code/session_01XSVvcy1mfb4k1xDgib9vVU
This commit is contained in:
@@ -29,8 +29,17 @@ VOICEBANK_DIR = _env_path("INKFLOW_VOICEBANK_DIR", PROJECT_ROOT / "voicebank")
|
||||
# Echantillons fournis
|
||||
SAMPLES_DIR = PROJECT_ROOT / "samples"
|
||||
|
||||
# --- Moteur LLM d'analyse ----------------------------------------------------
|
||||
# Backend par defaut : "mlx" (mlx-lm, Apple Silicon) ou "lmstudio" (API OpenAI
|
||||
# locale de LM Studio, sert GGUF *et* MLX charges via sa GUI).
|
||||
GEMMA_BACKEND = os.environ.get("INKFLOW_GEMMA_BACKEND", "mlx")
|
||||
# Endpoint OpenAI-compatible de LM Studio (onglet Developer > Start Server).
|
||||
LMSTUDIO_BASE_URL = os.environ.get(
|
||||
"INKFLOW_LMSTUDIO_BASE_URL", "http://127.0.0.1:1234/v1"
|
||||
)
|
||||
|
||||
# --- Modeles MLX (HuggingFace mlx-community) ---------------------------------
|
||||
# Analyse de texte : Gemma via mlx-lm.
|
||||
# Analyse de texte : Gemma via mlx-lm (backend "mlx").
|
||||
GEMMA_MODEL = os.environ.get(
|
||||
"INKFLOW_GEMMA_MODEL", "mlx-community/gemma-3-4b-it-4bit"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user