# Piper — synthèse vocale locale, légère et rapide

Piper : convertir du texte en voix naturelle en local, sans GPU ni cloud. Installation pip, voix françaises, licence GPL-3.0 du moteur et précautions éthiques.

URL canonique : https://www.osfria.fr/piper-tts.html

---

OSIALab · Voix & synthèse

## Piper — transformer du texte en voix, en local

Piper est un moteur de synthèse vocale (text-to-speech) **neuronal** qui tourne **entièrement hors ligne**. Léger et rapide — il génère une voix naturelle en quelques millisecondes, jusque sur un Raspberry Pi — c'est le TTS local de référence des assistants vocaux libres.

### Fiabilité & transparence

🟡 **Utilisable, avec points d'attention**

- **Maintenance** : version 1.4.2 publiée sur PyPI en avril 2026 via OHF-Voice/piper1-gpl (Open Home Foundation) ; le dépôt historique rhasspy/piper est archivé depuis octobre 2025 — l'Open Home Foundation cherche activement des mainteneurs supplémentaires.
- **Adoption** : TTS local de référence de Home Assistant ; utilisé dans de nombreux projets de domotique et d'assistants vocaux libres ; communauté active avec de nouvelles voix publiées régulièrement.
- **Sécurité** : synthèse 100 % locale, aucun réseau sollicité ; aucune faille majeure connue — attention au changement de licence (MIT → GPL-3.0) lors d'une intégration dans un produit propriétaire.
- **Verdict** : référence pour une voix locale rapide et stable, particulièrement adapté à la domotique et aux assistants offline ; vérifiez la licence de chaque voix avant diffusion commerciale.

> Page informative, sans valeur de conseil. Téléchargez depuis la **source officielle**, vérifiez la **licence** du logiciel *et* de chaque voix, et indiquez toujours qu'une voix est **générée par IA** lorsque vous la diffusez.

### À quoi ça sert

Piper transforme du texte en parole. Il repose sur l'architecture **VITS** et des modèles exportés au format `ONNX`, ce qui lui donne une inférence très rapide sur processeur, sans GPU ni cloud. On l'utilise pour lire des documents à voix haute, donner une voix à un assistant domotique (c'est le TTS par défaut de Home Assistant), vocaliser des notifications, ou intégrer la parole dans une application. Plusieurs voix françaises sont disponibles.

### Ce qui fait sa force

- **Rapide et sobre.** Grâce à ONNX Runtime, Piper synthétise plus vite que le temps réel sur un CPU modeste. Pas de carte graphique requise, empreinte mémoire minime.
- **Un catalogue de voix multilingue.** Des dizaines de langues et, pour chacune, plusieurs voix déclinées en qualités `low` / `medium` / `high`. On choisit le compromis taille/naturel selon la cible.
- **Voix figées et reproductibles.** Contrairement à un modèle génératif, Piper rend la *même* sortie pour le même texte : indispensable pour un produit, où l'on veut une voix stable et prévisible.
- **Deux poids par voix, c'est tout.** Un fichier `.onnx` (le modèle) et un `.onnx.json` (sa configuration). Facile à embarquer, à versionner, à déployer.
- **Pensé pour l'embarqué et l'intégration.** Binaire autonome, sortie audio brute chaînable, et bibliothèque Python pour l'inclure dans un service.

### Pour qui

Pour qui veut une voix locale rapide et stable dans un projet ou un assistant. Si vous cherchez une expressivité plus marquée (rires, émotions, intonations variables) et acceptez un modèle plus lourd et non déterministe, regardez [Bark](https://www.osfria.fr/bark.html). Pour le chemin inverse — transcrire la parole — voyez [whisper.cpp](https://www.osfria.fr/whisper-cpp.html).

### Installation

#### Point important sur le dépôt

Le dépôt historique `rhasspy/piper` a été **archivé en octobre 2025** ; le développement se poursuit sous **`OHF-Voice/piper1-gpl`**, maintenu par l'Open Home Foundation. C'est cette version qu'installe le paquet pip `piper-tts` aujourd'hui. La distinction a une conséquence concrète sur la licence (voir plus bas).

#### Installer via pip

```
pip install piper-tts
```

#### Télécharger une voix française

Une voix se compose de deux fichiers (`.onnx` et `.onnx.json`). On peut les laisser télécharger automatiquement par leur identifiant :

```
# Récupère la voix « fr_FR-siwis-medium » dans le dossier courant
python -m piper.download_voices fr_FR-siwis-medium
```

#### Synthétiser de la voix

```
# Générer un fichier WAV
echo "Bonjour, ceci est un test de synthese vocale locale." | \
  piper -m fr_FR-siwis-medium -f sortie.wav

# Envoyer directement vers les haut-parleurs (sortie audio brute)
echo "Lecture immediate." | \
  piper -m fr_FR-siwis-medium --output-raw | \
  aplay -r 22050 -f S16_LE -t raw -
```

#### Depuis Python

```
from piper import PiperVoice
import wave

voice = PiperVoice.load("fr_FR-siwis-medium.onnx")
with wave.open("sortie.wav", "wb") as wav:
    voice.synthesize_wav("Texte a vocaliser.", wav)
```

### Bien choisir sa voix

Chaque voix existe en plusieurs qualités : `low` (la plus légère, un peu robotique), `medium` (le meilleur compromis pour la plupart des usages), `high` (la plus naturelle, fichiers plus lourds). Le débit se règle via le paramètre de longueur ; testez quelques voix françaises (siwis, tom, upmc…) pour trouver le timbre qui convient à votre projet.

### Points de vigilance

Piper synthétise localement et n'envoie rien en ligne. Les deux vrais points concernent la **licence** — qui a changé avec le dépôt — et l'**usage** de la voix.

| Point d'attention | Niveau | Ce qu'il faut savoir |
| --- | --- | --- |
| Licence du logiciel : MIT puis GPL-3.0 | 🟡 selon la version | L'ancien `rhasspy/piper` était sous **MIT**. La version actuelle, `OHF-Voice/piper1-gpl` (paquet `piper-tts`), est sous **GPL-3.0** — du fait de l'intégration d'`espeak-ng` pour la phonémisation. À intégrer dans un produit propriétaire, la GPL impose ses obligations : vérifiez la version exacte que vous embarquez. |
| Licence propre à chaque voix | 🟡 selon la voix | Les voix ne suivent pas la licence du moteur : chacune a la sienne (CC0, CC-BY, MIT…) selon le corpus d'entraînement. Lisez la licence de la voix retenue avant toute diffusion ou usage commercial. |
| Mention de l'origine synthétique | 🟡 bonne pratique & obligation émergente | Faire passer une voix de synthèse pour une personne réelle est trompeur. Signalez clairement qu'une voix est générée par IA — l'AI Act européen va dans le sens d'une obligation de transparence. |

### Sécurité

- **Installez depuis les sources officielles** : le paquet PyPI `piper-tts` ou le dépôt `OHF-Voice/piper1-gpl`. Méfiez-vous des binaires non vérifiés.
- **Récupérez les voix depuis le catalogue officiel** (Hugging Face `rhasspy/piper-voices`) et conservez le couple `.onnx` + `.onnx.json` cohérent.
- **Tenez le moteur à jour** pour les correctifs et les améliorations de qualité vocale.

### Aller plus loin

- [whisper.cpp](https://www.osfria.fr/whisper-cpp.html) — le chemin inverse : de la parole vers le texte.
- [Bark](https://www.osfria.fr/bark.html) — synthèse plus expressive, plus lourde et non déterministe.
- [FFmpeg](https://www.osfria.fr/ffmpeg.html) — convertir ou assembler les fichiers audio produits.
- [OSIALab](https://www.osfria.fr/osialab.html) — tous les outils voix.

### Sources

- Dépôt actuel & licence (GPL-3.0) : [github.com/OHF-Voice/piper1-gpl](https://github.com/OHF-Voice/piper1-gpl)
- Dépôt historique (MIT, archivé) : [github.com/rhasspy/piper](https://github.com/rhasspy/piper)
- Catalogue de voix : [huggingface.co/rhasspy/piper-voices](https://huggingface.co/rhasspy/piper-voices)
