Generic Voice is a text-to-speech integrator for Linux. It unifies three engines behind one CLI, an interactive terminal menu, and an optional Flet GUI: Piper (offline neural), Edge TTS (online neural), and eSpeak (offline formant).
We integrate, we don't invent. Each engine keeps its own strengths; Generic Voice provides one validated parameter surface, WAV export, optional Edge effects/melody stems, and playback helpers.
Official project page · Security · Contributing · User guide
Generic Voice 1.1 — feature-complete. The MVP is finished and stable for its intended local Linux use (CLI-first, text-to-speech). There is no schedule of regular feature updates. Obvious bugs may still be fixed case by case. Further product context lives on the official project page.
CLI Piper · voix FR · multi-paramètres → WAV → VLC |
Flet web · localhost:port · options GUI → commande à copier |
Requirements: Linux (Ubuntu/Debian recommended), Python 3.10+, disk space for Core Piper voices, and network only if you use Edge TTS.
git clone https://github.com/JeanSebastienBash/GenericVoice.git
cd GenericVoice
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 py/gvcorevoices.py
python3 py/gv.py --list-enginesIf system packages are missing, install them with your OS tools, then run dependency checks as a normal user:
python3 py/gv.py --auto-fix
python3 py/gv.py --auto-fix --system-os ubuntuDo not run the whole application under sudo.
# Piper (offline)
python3 py/gv.py --tts piper --voice fr_FR-siwis-medium --text "Hello world"
# Edge (online — text leaves the machine)
python3 py/gv.py --tts edge --voice fr-FR-DeniseNeural --text "Bonjour"
# eSpeak (offline, lightweight)
python3 py/gv.py --tts espeak --text "Quick test"
# Edge effects / melody stems
python3 py/gv.py --tts edge --text "Welcome" --voice-effect echo
python3 py/gv.py --tts edge --text "Intro" --melody --duration 15
# Interactive menu / GUI
python3 py/gv.py
python3 py/gvflet.py
python3 py/gvflet.py --web --port 8555Generated files land under output/ as YYYYMMDD_HHMMSS_<type>.wav (or your --output basename with _voice / _mix suffixes).
| Engine | Connection | Typical rate | Notes |
|---|---|---|---|
| Piper | Offline | 22 kHz | Core ships 5 voices (FR, EN, DE, ES, IT) |
| Edge | Online | 48 kHz | Best quality; effects + melody; text is transmitted remotely |
| eSpeak | Offline | 22 kHz | Fast formant fallback; many languages |
- CLI —
py/gv.pywith validated parameters. - Interactive menu — same process when launched without synthesis args.
- GUI —
py/gvflet.py(Flet 0.84), six tabs mirroring the CLI.
This README is the public entry point only (status, install, quick usage, engines). The full product surface is documented elsewhere:
| Audience | Document | Covers |
|---|---|---|
| End users | User guide | Installation, engines, CLI examples, GUI, outputs, troubleshooting |
| Integrators / maintainers | Technical documentation | Architecture, modules, parameter matrix, audio pipeline, tests, dependencies |
Also: Third-party notices · Security · Contributing
Need more than this README? Start with the user guide for day-to-day usage (command reference, Flet GUI, Core voices). Open the technical documentation for the CLI parameter matrix, synthesis pipeline, and module map. Nothing essential is “missing” here — it lives in those two guides on purpose.
- Edge TTS is a cloud path: treat prompts as leaving the host.
--auto-fixmay attempt package installs; prefer explicit OS package management and a non-root shell.- Bundled eSpeak NG components are GPLv3 — see THIRD_PARTY_NOTICES.md.
- The repository includes Core voice ZIP archives and Piper runtime binaries; keep extracted
.onnxfiles andoutput/audio out of accidental commits (already covered by.gitignore). - This line has automated unit/integration tests; GUI and live engine availability still depend on the local machine.
Generic Voice application code: MIT.
Third-party components retain their own licenses — see THIRD_PARTY_NOTICES.md.
Publisher: DreamprojectAI · Project sheet: genericvoice

