---
title: @synapxlab/voice — Synthèse vocale neuronale locale
source: https://synapx.fr/sdk/Voice/
site: SynapxLab
---

# Synapx Voice — synthèse vocale neuronale Markdown

Micro-service de synthèse vocale neuronale qui transforme un document Markdown structuré en fichier audio MP3.

## Présentation

`@synapxlab/voice` convertit un document Markdown en voix de synthèse locale. Le service ne lit pas seulement une suite de caractères : il interprète la structure éditoriale du document pour guider le rythme, les pauses et la prosodie.

Les titres, paragraphes, listes et citations deviennent des blocs de lecture distincts. Cette approche permet à la forme du document d'influencer le rendu vocal.

## Architecture

```text
Document Markdown
    → Rendu HTML
    → Parcours des blocs
    → Synthèse Piper
    → Assemblage MP3
```

Le service repose sur Python, FastAPI et Uvicorn. La génération vocale est assurée par Piper avec des modèles vocaux ONNX.

Le Markdown est d'abord rendu en HTML, puis parcouru bloc par bloc. Chaque bloc est synthétisé séparément avant assemblage dans un fichier audio final.

## Pourquoi Piper reste le moteur de production

Le choix de Piper ne repose pas sur l'absence d'alternatives exécutables localement. Le 15 juillet 2026, quatre chaînes ont été exécutées sur le serveur réel — Intel Xeon Silver 4114, 10 cœurs / 20 threads, sans GPU — avec les trois mêmes textes français : une phrase neutre, une question et un court récit.

Le facteur temps réel, ou **RTF**, mesure le nombre de secondes de calcul nécessaires pour produire une seconde d'audio. Une valeur inférieure à `1` signifie que la génération est plus rapide que la lecture.

| Chaîne testée | Modèles | Calcul | Audio | RTF CPU | Temps de calcul / Piper | Décision |
|---|---:|---:|---:|---:|---:|---|
| Piper + couche Locme | ≈ 61 Mio | 5,594 s | 16,474 s | **0,340** | **1,00×** | Production |
| MeloTTS français | ≈ 624 Mio | 9,987 s | 14,488 s | 0,689 | 1,79× | Laboratoire CPU |
| Qwen3-TTS 0.6B | ≈ 2,4 Gio | 85,075 s | 12,400 s | 6,861 | 15,21× | Worker GPU |
| Chatterbox Multilingual V3 | ≈ 3,0 Gio | 126,646 s | 15,000 s | 8,443 | 22,64× | Worker GPU |

Chaque ligne cumule les trois générations. Les chargements de modèles, la préparation du prompt vocal et les téléchargements sont exclus lorsque le moteur permet de les isoler. MeloTTS reste viable sur CPU, tandis que Qwen3-TTS et Chatterbox demandent ici entre 6,9 et 8,4 secondes de calcul par seconde d'audio.

### Différences observées dans les rendus

Une sonde prosodique locale a mesuré la durée des silences et les variations mélodiques. Ces indicateurs décrivent le comportement des fichiers produits ; ils ne remplacent pas un test d'écoute en aveugle.

| Moteur | Comportement observé | Première orientation |
|---|---|---|
| Piper + Locme | Lectures les plus longues, avec 14 à 19 % de silence. La couche Locme structure les pauses et les groupes de souffle. | Meilleur équilibre opérationnel. |
| MeloTTS | Lecture plus continue, avec 5 à 15 % de silence et une voix française standard non clonée. | Alternative viable pour le laboratoire CPU. |
| Qwen3-TTS | Sorties les plus courtes, avec 7 à 10 % de silence et clonage d'une même référence vocale interne. | Recherche sur le clonage, à reprendre sur GPU. |
| Chatterbox | Lecture plus aérée, avec 18 à 22 % de silence et une variation mélodique mesurée plus large, à confirmer à l'oreille. | Premier candidat à réévaluer sur un worker GPU. |

### Premières conclusions

1. **Piper + Locme reste en production.** Le moteur est compact et la couche de mise en voix apporte les pauses, la respiration, la prononciation et le pilotage SSM nécessaires au service.
2. **MeloTTS reste le plan B sur CPU.** Il est propre et plus rapide que la durée de l'audio, mais n'apporte pas encore un gain produit suffisant pour remplacer la chaîne actuelle.
3. **Chatterbox devient le test GPU prioritaire.** Son rendu mesuré paraît plus aéré et plus variable, mais son coût CPU interdit une exposition dans l'API actuelle.
4. **Qwen3-TTS reste une piste de recherche.** Le clonage est intéressant, mais il faudra un accélérateur avant d'évaluer sérieusement son intégration.

Ce relevé mesure la capacité de ce serveur ; ce n'est pas un classement universel de naturalité. Les voix et les modes de synthèse diffèrent. Les WAV clonés, leur transcription et la référence vocale restent dans l'environnement interne et ne sont pas publiés.

La latence visible d'un service cloud ne révèle pas le coût réel du modèle. Une plateforme peut placer des moteurs lourds derrière des GPU, des files de travaux et une infrastructure dimensionnée pour absorber plusieurs demandes. Ce test ne décrit pas l'architecture interne d'ElevenLabs ; il montre seulement que ces mêmes familles de modèles ne sont pas adaptées au CPU actuel sans accélération.

Piper reste donc le meilleur équilibre opérationnel : modèle compact, génération plus rapide que le temps réel et intégration complète avec SSM, la prononciation, le cache et les jobs asynchrones. La décision est opérationnelle, pas juridique : les autres moteurs restent évaluables en interne, mais leur coût de calcul et leur intégration ne permettent pas encore de les exposer dans l'API publique.

## Voix et humanisation

Deux voix françaises sont disponibles : `tom`, utilisée par défaut, et `upmc`. La vitesse standard est fixée à `1.2x`, soit 20 % plus rapide que le débit par défaut.

La lecture adapte sa vitesse selon la structure du document. Les titres ralentissent davantage selon leur niveau, les silences reçoivent un léger jitter aléatoire, et des pauses sont ajoutées après la ponctuation.

```text
h1
    → rythme plus posé
h2-h6
    → ralentissement progressif
paragraphes et listes
    → débit standard humanisé
```

Le service inclut aussi des fonctions avancées : studio, table de mixage et grammaire de prononciation SSM.

## API

L'API est asynchrone : on soumet le Markdown, on suit l'avancement du travail, puis on récupère le MP3 généré.

```http
POST /tts
Content-Type: text/markdown

# Titre
Le contenu à synthétiser.
```

```text
POST /tts            → 202 { "job_id": "…" }
GET  /tts/{job_id}   → { "status": "done", "key": "…" }
GET  /audio/{key}.mp3 → fichier audio MP3
GET  /voices         → ["tom", "upmc"]
GET  /health         → { "status": "ok" }
```

## Souveraineté

Synapx Voice fonctionne localement. Aucun texte, document ou fichier audio n'est envoyé à une API tierce.

Cette architecture offre une alternative souveraine aux services TTS cloud comme Google, Amazon ou ElevenLabs, tout en conservant le contrôle sur les documents sources et les fichiers générés.

## Ressources

- [Démonstration HTML](https://synapx.fr/sdk/Voice/)
- [Catalogue des SDK](https://synapx.fr/sdk/)
- [Index de toutes les documentations Markdown](https://synapx.fr/markdown/)
