Vozia. TTS con IA
  • Python 81.3%
  • Shell 11.3%
  • Batchfile 5.6%
  • Inno Setup 1.8%
Find a file
2026-08-06 21:30:35 +02:00
.gitignore Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
app.py Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
backend.py Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
build_appimage.sh Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
build_windows_installer.bat Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
build_windows_installer.sh Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
README-standalone.md Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
README.md Añadir README 2026-07-28 23:00:04 +02:00
SUMMARY.md Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
vozia.spec Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
vozia_installer.iss Refactor UI and add standalone build scripts for Windows and Linux 2026-08-06 21:30:35 +02:00
xtts_runner.py Añadir descripciones de voces XTTS y controles de velocidad/expresividad 2026-07-28 22:57:33 +02:00

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.
  • pipx para instalar los binarios de Piper y Coqui TTS de forma aislada.
  • ffmpeg (conversión wav → mp3).
  • PySide6 (Qt para Python) — en Arch, paquete pyside6.

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

  1. Pega el texto en el cuadro grande.
  2. Elige pestaña Piper (rápido) o XTTS-v2 (más lento, mejor calidad y voces excéntricas).
  3. 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).
  4. 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 de coqui-tts (pipx) y expone --speed/--temperature vía la API Python de TTS, ya que el CLI oficial tts no 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.