- Python 81.3%
- Shell 11.3%
- Batchfile 5.6%
- Inno Setup 1.8%
| .gitignore | ||
| app.py | ||
| backend.py | ||
| build_appimage.sh | ||
| build_windows_installer.bat | ||
| build_windows_installer.sh | ||
| README-standalone.md | ||
| README.md | ||
| SUMMARY.md | ||
| vozia.spec | ||
| vozia_installer.iss | ||
| xtts_runner.py | ||
Vozia
Texto a voz local, 100% open source, para Linux. Pega texto, elige una voz, genera un mp3. Pensado para narración de lore y diálogos con carácter, al estilo del viejo Loquendo pero con voces IA.
Dos motores, según lo que necesites:
- Piper — rápido, corre en CPU, ~170 voces en más de 50 idiomas (incluye
es_ES,es_MX,es_AR). - Coqui XTTS-v2 — multilingüe, acelerado por GPU, 58 voces preconstruidas (con descripción de registro/timbre) más clonación de voz zero-shot desde un audio de referencia.
Interfaz en PySide6 (Qt) con estilo Material 3.
Capturas
(pendiente)
Requisitos
- Linux, con GPU AMD (ROCm) si quieres XTTS-v2 acelerado — sin GPU también funciona, solo más lento en CPU.
- Python 3.
pipxpara instalar los binarios de Piper y Coqui TTS de forma aislada.ffmpeg(conversión wav → mp3).PySide6(Qt para Python) — en Arch, paquetepyside6.
En Arch:
sudo pacman -S ffmpeg pyside6
Instalación
1. Piper
pipx install piper-tts
Las voces (.onnx + .onnx.json) se descargan automáticamente la primera vez que las usas, desde el índice de rhasspy/piper-voices.
2. Coqui XTTS-v2
Si tienes una GPU AMD con PyTorch+ROCm ya instalado a nivel de sistema (paquete python-pytorch-rocm en Arch), reutilízalo en vez de descargar otro build de PyTorch:
pipx install coqui-tts --system-site-packages
Con GPU AMD (gfx1030 o similar) puede hacer falta ajustar algunas dependencias que el sistema no trae exactamente en la versión que coqui-tts espera:
pipx runpip coqui-tts install "transformers>=4.57,<5.0" "tokenizers" "huggingface-hub" --upgrade
pipx runpip coqui-tts install "numpy<2.5"
pipx runpip coqui-tts install torchcodec --no-deps --force-reinstall --index-url https://download.pytorch.org/whl/cpu
También hacen falta, como paquetes del sistema (Arch):
sudo pacman -S python-aotriton
yay -S python-torchaudio-rocm # compila contra el PyTorch ya instalado
La primera vez que generes con XTTS tendrás que aceptar la licencia del modelo (Vozia ya pone COQUI_TOS_AGREED=1 automáticamente).
3. Vozia
No tiene dependencias propias más allá de PySide6 (del sistema). Solo clona/copia esta carpeta y ejecuta:
python3 app.py
Lanzador de escritorio (opcional)
~/.local/share/applications/vozia.desktop
[Desktop Entry]
Type=Application
Name=Vozia
Comment=Texto a voz local con Piper y Coqui XTTS-v2
Exec=python3 /ruta/a/vozia/app.py
Path=/ruta/a/vozia
Icon=audio-speakers
Terminal=false
Categories=AudioVideo;Utility;
Uso
- Pega el texto en el cuadro grande.
- Elige pestaña Piper (rápido) o XTTS-v2 (más lento, mejor calidad y voces excéntricas).
- Elige idioma y voz. En XTTS-v2 puedes:
- usar una de las 58 voces preconstruidas (cada una con su descripción: registro, brillo, timbre),
- o clonar una voz nueva desde un audio de 6-30s con el botón "+ Clonar voz desde wav/mp3...".
- ajustar Velocidad (0.5x-2.0x) y Expresividad/temperature (0.3-1.0).
- Generar mp3. El resultado queda en el historial de la sesión (con el texto de origen al lado, para saber qué es cada uno) y se puede reproducir, abrir la carpeta, o borrar.
Los mp3 generados se guardan en ~/.local/share/vozia/out/.
Notas sobre acentos en español
- Piper tiene voces reales por locale —
es_ES,es_MX,es_AR— visibles como opciones distintas. - XTTS-v2 solo tiene un código de idioma genérico
es, sin distinción de acento entre las 58 voces preconstruidas. Para conseguir acento castellano con XTTS, clona una voz a partir de un audio con ese acento.
Estructura del proyecto
app.py— interfaz gráfica (PySide6).backend.py— síntesis con Piper y XTTS-v2, descarga de voces, conversión a mp3.xtts_runner.py— script que corre dentro del venv decoqui-tts(pipx) y expone--speed/--temperaturevía la API Python deTTS, ya que el CLI oficialttsno los soporta.
Licencia
Todo el software usado (Piper, Coqui XTTS-v2) es open source. Revisa las licencias de cada modelo antes de un uso comercial.