Synthèse vocale pour LLM locaux et chatbots
Un modèle de langage sur votre propre ordinateur, avec Ollama, llama.cpp ou LM Studio, garde vos conversations privées. Envoyer ses réponses à un service vocal dans le cloud annulerait cet avantage. La voix doit être locale, elle aussi.
Le moteur SuperClonica vocalise le texte hors ligne sur un processeur ordinaire ou une carte graphique NVIDIA, depuis Python ou comme petit service HTTP. Ce guide montre comment le relier à un modèle local, comment garder un délai court et comment rendre les réponses agréables à l’oreille.
Comment s’assemble un assistant vocal local
Chaque élément se remplace séparément : un autre modèle, une autre voix, la même chaîne.
- Une reconnaissance vocale facultative, par exemple un modèle Whisper local, transforme votre voix en texte.
- Le modèle de langage rédige la réponse en local.
- SuperClonica transforme la réponse en parole, en local aussi.
- Rien ne quitte l’ordinateur, et il n’y a aucun frais par caractère ni par requête.
Écouter la voix gratuitement
Avant d’écrire du code, ouvrez la page d’une voix, saisissez une réponse typique de 30 à 100 caractères, choisissez la langue et cliquez sur le bouton de synthèse. En quelques secondes, vous entendez comment sonnera votre assistant, sans compte.
Dire chaque phrase dès qu’elle est prête
Dans nos mesures, une phrase courte a pris en médiane 0,12 s sur une RTX 5070 Ti et 0,43 s sur un Ryzen de bureau avec quatre threads.
- Installez le moteur une fois : python -m pip install superclonica-cpu, ou superclonica-gpu-cuda pour une carte graphique NVIDIA.
- Créez le moteur une fois, tts = Superclonica(), et réutilisez-le : le chargement prend quelques secondes, chaque phrase ensuite une fraction de seconde.
- Pendant que le modèle diffuse sa réponse, coupez-la à la fin de chaque phrase et vocalisez-la : audio, rate = tts.synthesize(sentence, voice="F1", lang="fr").
- Jouez chaque phrase pendant que la suivante est générée, avec une bibliothèque audio comme sounddevice ou en enregistrant puis en lisant le fichier.
Des réponses qui sonnent bien
Les modèles aiment répondre en Markdown : astérisques, listes, tableaux et code sonnent étrangement à voix haute. Demandez au modèle, dans son prompt système, de répondre par des phrases parlées courtes et simples, sans listes ni mise en forme, et retirez ce qui reste avant la synthèse. Le moteur lit les nombres en toutes lettres dans la plupart des langues et nettoie tout seul les émojis et symboles inconnus. Pour un programme qui n’est pas en Python, faites tourner le moteur comme service HTTP local, docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu, et envoyez chaque phrase à POST /synthesize ; les outils qui attendent un point d’accès vocal compatible OpenAI ont besoin d’un petit adaptateur.
Choisir la voix
Les dix voix de base du modèle, M1 à M5 et F1 à F5, sont fournies avec le moteur gratuit et ne demandent aucun fichier supplémentaire. Pour un assistant personnel qui a du caractère, choisissez une voix du catalogue, comme l’une des voix de Jarvis, et testez-la d’abord sur une réponse typique. Pour votre propre voix ou celle d’un proche qui a donné son accord, entraînez-la dans le studio sur un ordinateur doté d’une carte graphique NVIDIA ou commandez-la sur la bourse. Toutes les voix parlent les 31 langues de Supertonic 3 ; le chinois n’est pas encore pris en charge.