Aplicación de escritorio para generación de voz sintetizada usando los modelos Qwen3-TTS y Qwen3-ASR de Alibaba. Soporta voces predefinidas en inglés, clonación de voz, voces permanentes creadas desde audio real y transcripción automática.
✅ Voces Predefinidas (Inglés): Genera audio con las voces Ryan o Aiden ✅ Voces Diseñadas: Crea tu propia voz describiendo sus características en inglés — sin audio de referencia ✅ Clonación de Voz: Clona cualquier voz a partir de un audio de referencia (mínimo 3 segundos) ✅ Voces Clonadas Permanentes: Crea una voz permanente desde un audio real — queda guardada en "Mis Voces" y se puede usar sin necesitar el audio de referencia original ✅ Transcripción Automática (ASR): Transcribe el audio de referencia automáticamente con Qwen3-ASR-1.7B ✅ Idiomas: Español, Inglés y otros idiomas soportados por Qwen3-TTS / Qwen3-ASR ✅ GPU Acelerada: Usa CUDA para generación rápida en tarjetas NVIDIA ✅ Interfaz Intuitiva: Aplicación Windows con interfaz gráfica fácil de usar
| Componente | Mínimo | Recomendado |
|---|---|---|
| RAM | 16 GB | 32 GB o más |
| GPU NVIDIA | 6 GB VRAM | 8 GB VRAM o más |
| Almacenamiento | 10 GB libres | 20 GB libres |
| CPU | 4 núcleos | 8 núcleos o más |
- RAM: 64 GB
- GPU: NVIDIA RTX 5080 (16 GB VRAM)
- Modelos: ~4 GB en VRAM por modelo TTS con bfloat16 → ~14 GB con todos los modelos activos
- Sistema Operativo: Windows 10/11 (64-bit)
- Python: No requiere instalación — se usa Python 3.11 embeddable incluido en el proyecto
- Controladores NVIDIA: Actualizados (driver 550+ recomendado)
Nota sobre CUDA: No es necesario tener CUDA instalado en el sistema. PyTorch incluye su propio runtime de CUDA. Solo se requiere el driver de NVIDIA actualizado.
Copia la carpeta completa de la aplicación a la PC destino.
Tip de Portabilidad: Si ya tienes los modelos descargados (carpeta Models/), cópialos también para evitar descargarlos nuevamente (~7 GB).
La estructura debe ser:
Qwen3-TTS/
├── Qwen3TTS.exe # Ejecutable principal
├── setup_venv.bat # Script de instalacion (ejecutar una vez)
├── reinstall_pytorch.bat # Script para reinstalar PyTorch si hay problemas
├── config.ini # Configuracion (se crea automaticamente)
├── Python/
│ ├── qwen3_tts.py # Script de generacion (modo directo)
│ ├── qwen3_tts_server.py # Servidor con modelos en VRAM
│ └── embed/ # Python 3.11 embeddable (se crea con setup_venv.bat)
├── Models/ # Modelos de IA (se descargan automaticamente aqui)
├── Audio/ # Carpeta de salida de audios
├── VoiceProfiles/ # Perfiles de voces (JSON + archivos .pt de voces clonadas)
└── VoiceReferences/ # Audios de referencia para clonacion
Nota: La carpeta Python\embed\ y Models\ se crean automáticamente en el proceso de instalación.
Ejecuta una sola vez el script de instalación haciendo doble clic en:
setup_venv.bat
Este script realiza automáticamente:
- Descarga Python 3.11.9 embeddable (~25 MB) en
Python\embed\— sin instalarlo en el sistema - Configura pip dentro del Python embeddable
- Instala PyTorch con soporte CUDA 12.8
- Instala qwen-tts, soundfile, librosa y flask
- Instala qwen-asr para transcripción automática de voz
- Actualiza
config.inipara que la aplicación use el Python embeddable
Al terminar verás una confirmación con la versión de PyTorch y si CUDA está disponible.
¿Por qué Python embeddable? Es un ZIP con Python 3.11 que se extrae dentro de la carpeta del proyecto. No requiere instalar Python en el sistema, no modifica el PATH y no genera conflictos con otras versiones de Python instaladas.
Importante: La aplicación usa cuatro modelos independientes que se descargan automáticamente bajo demanda:
| Función | Modelo | Tamaño | Cuándo se descarga |
|---|---|---|---|
| Voces Predefinidas (Ryan/Aiden) | CustomVoice | ~3.5 GB | Primera generación con voces predefinidas |
| Voces Diseñadas (Mis Voces) | VoiceDesign | ~3.5 GB | Primera generación con una voz diseñada |
| Clonación de Voz / Nueva Voz desde Audio | Base | ~3.5 GB | Primera clonación o creación de voz permanente |
| Transcripción Automática | ASR | ~1.7 GB | Primera vez que se usa "Obtener Transcripción" |
Total si usas las cuatro funciones: ~12.2 GB de descarga
Los modelos se descargan desde HuggingFace solo la primera vez que usas cada función y quedan guardados permanentemente en la carpeta de la aplicación.
Ubicación de los modelos: Qwen3-TTS\Models\
Tiempo de descarga estimado:
- Con conexión rápida (100 Mbps): 5-10 minutos por modelo
- Con conexión media (50 Mbps): 10-15 minutos por modelo
- Con conexión lenta (10 Mbps): 30-60 minutos por modelo
Los modelos se descargan SOLO UNA VEZ desde internet y quedan guardados permanentemente en la carpeta de la aplicación:
Qwen3-TTS/Models/
Esta carpeta se crea automáticamente la primera vez que usas la aplicación.
- Abres la aplicación
- Generas audio → DESCARGA desde internet (3.5 GB) + Carga en VRAM + Genera audio
- Cierras la aplicación → El modelo queda en disco, se libera la VRAM
- Abres la aplicación
- Generas audio → LEE desde tu disco (0 GB de internet) + Carga en VRAM + Genera audio
- Cierras la aplicación → El modelo sigue en disco, se libera la VRAM
Analogía: Es como un videojuego:
- Lo instalas una vez (descarga)
- Cada vez que lo abres, carga los recursos en memoria (VRAM)
- Al cerrar, libera la memoria pero el juego sigue instalado
Resumen:
✅ Descarga desde internet: Solo la primera vez por modelo ✅ Los modelos quedan guardados permanentemente en disco ✅ Cada uso: Solo carga desde disco a VRAM (5-60 segundos) ❌ NO se vuelven a descargar de internet nunca más
Para generar audio con voces predefinidas o con tus voces diseñadas:
- Selecciona la Voz del combo:
- Ryan o Aiden → voces fijas del modelo (inglés)
- Tus voces creadas → aparecen debajo, usan el modelo VoiceDesign
- (Opcional, solo voces fijas) Escribe una Instrucción de estilo (ej: "Speak with excitement")
- Escribe el texto en el idioma correspondiente a la voz seleccionada
- Haz clic en Generar Audio
- Usa Reproducir para escuchar el resultado
- Usa Guardar Como... para guardar el audio
Gestiona dos tipos de voces personalizadas: diseñadas (descritas con texto) y clonadas (creadas desde un audio real).
La lista muestra todas tus voces con su tipo (Diseñada / Clonada), descripción e idioma. Todas aparecen automáticamente en el combo de selección de la pestaña Voces Predefinidas.
Crea una voz describiendo sus características en texto, sin necesitar ningún audio:
- Haz clic en Nueva Voz Diseñada
- En el formulario:
- Nombre: cómo llamarás a esta voz (ej: "Narradora", "Locutor Formal")
- Idioma: idioma del texto que generarás con esta voz
- Descripción de la voz (en inglés): describe las características de la voz
- Ej:
Female, 35 years old, warm and professional voice, neutral accent, moderate pace - Ej:
Male, 45 years old, deep authoritative voice, slow and clear speech
- Ej:
- Haz clic en Aceptar para guardar
Nota: La descripción debe escribirse en inglés para mejores resultados. El texto que generes puede estar en cualquier idioma soportado.
Crea una voz permanente a partir de un audio real. A diferencia de la Clonación de Voz, esta voz queda guardada en la aplicación y puede usarse en cualquier momento sin necesitar el audio de referencia original.
- Haz clic en Nueva Voz desde Audio
- En el formulario:
- Nombre: cómo llamarás a esta voz
- Idioma: idioma del texto que generarás con esta voz
- Audio de Referencia: selecciona el archivo WAV/MP3/FLAC con la voz a capturar
- Transcripción (opcional): escribe o transcribe automáticamente lo que dice el audio
- Haz clic en Obtener con Qwen3-ASR para transcribir automáticamente
- Proporcionar la transcripción mejora la calidad de la voz capturada
- Haz clic en Crear Voz
- La aplicación procesa el audio y extrae las características de la voz (~10-30 segundos)
- La voz aparece en la lista con tipo Clonada y queda lista para usar
¿Qué pasa internamente?
- El modelo Base extrae un
voice_clone_promptdel audio de referencia - Ese prompt se guarda en
VoiceProfiles\{id}.pt(~pocos MB) - Al generar audio, carga el
.ptdesde disco — el audio original ya no es necesario
Ventaja frente a la Clonación de Voz directa:
| Clonación de Voz (pestaña) | Nueva Voz desde Audio (Mis Voces) |
|---|---|
| Requiere el audio de referencia cada vez | El audio solo se usa una vez al crear la voz |
| No queda guardada como voz del sistema | Queda permanentemente en "Mis Voces" |
| Ideal para uso ocasional | Ideal para una voz que usarás frecuentemente |
Para clonar una voz:
-
Haz clic en Seleccionar Audio... y elige un archivo de referencia
- El audio debe tener al menos 3 segundos de duración
- Formatos soportados: WAV, MP3, FLAC
- Mejor calidad con audio limpio sin ruido de fondo
-
(Opcional) Obtén la Transcripción del audio de referencia:
- Haz clic en Obtener Transcripción para transcribir automáticamente con Qwen3-ASR
- O escríbela manualmente en el campo de transcripción
- La primera vez descarga el modelo ASR (~1.7 GB)
- Puedes marcar "Modo rápido" para omitir la transcripción completamente
-
Selecciona el Idioma del texto a generar (Español o English)
-
Escribe el texto que deseas sintetizar con la voz clonada
-
Haz clic en Clonar Voz
-
Espera a que se complete (la primera vez carga el modelo)
-
Reproduce y guarda el resultado
El botón Obtener Transcripción usa el modelo Qwen3-ASR-1.7B para transcribir automáticamente el audio de referencia seleccionado. El texto resultante se coloca directamente en el campo de transcripción para mejorar la calidad de la clonación.
Características de Qwen3-ASR:
✅ Reconoce 30 idiomas incluyendo Español e Inglés ✅ Detecta automáticamente el idioma si no se especifica ✅ Superior a Whisper-large-v3 en benchmarks multilingüe (WER 4.90 vs 5.27 en Fleurs) ✅ Velocidad ~2× más rápida que Whisper
Cómo funciona:
- Selecciona el audio de referencia con Seleccionar Audio...
- El botón Obtener Transcripción se activa automáticamente
- Haz clic — el modelo transcribe el audio en segundos
- El texto aparece en el campo de transcripción, listo para usar en la clonación
Primera vez:
- Descarga el modelo Qwen3-ASR-1.7B (~1.7 GB desde HuggingFace)
- Queda guardado en
Qwen3-TTS\Models\para usos posteriores - Los usos siguientes son instantáneos (modelo ya en disco)
Nota: El modelo ASR se carga en VRAM bajo demanda (~2 GB adicionales). Con RTX 5080 (16 GB) hay margen suficiente junto con los modelos TTS.
| Opción | Descripción | Valor por Defecto |
|---|---|---|
| Usar GPU (CUDA) | Acelera la generación usando la GPU | Activado |
| Usar BFloat16 | Reduce uso de VRAM (recomendado) | Activado |
| Flash Attention | Mejora rendimiento (requiere instalación adicional) | Activado* |
*Flash Attention se desactiva automáticamente si no está instalado.
| Parámetro | Descripción | Valor por Defecto |
|---|---|---|
| Max Tokens | Límite de tokens a generar (8192 = ~11 min de audio) | 8192 |
| Temperatura | Variabilidad de la generación (solo clonación) | 0.9 |
Este error ocurre cuando PyTorch no tiene kernels compilados para la arquitectura de tu GPU.
Ejecuta reinstall_pytorch.bat para reinstalar PyTorch con CUDA 12.8, compatible con GPUs
modernas incluyendo la serie RTX 40xx (Ada Lovelace) y RTX 50xx (Blackwell).
Ejecuta setup_venv.bat nuevamente para reinstalar las dependencias.
- Verifica que tienes una GPU NVIDIA
- Actualiza los controladores de NVIDIA (driver 550 o superior recomendado)
- Ejecuta
reinstall_pytorch.batpara reinstalar PyTorch
Ejecuta setup_venv.bat para configurar el Python embeddable. Verifica que
config.ini tenga PythonPath apuntando a Python\embed\python.exe.
Primera vez (con descarga):
- Descarga del modelo: ~3.5 GB por modelo (puede tardar 5-60 minutos según conexión)
- Solo ocurre una vez por modelo
Ejecuciones normales:
- Carga del modelo en VRAM: 5-60 segundos (según si está en cache o no)
- Generación de audio: 5-15 segundos por frase corta
- Textos muy largos (varios párrafos): Varios minutos
Nota: Cada vez que ejecutas la aplicación, debe cargar el modelo en VRAM nuevamente (no hay servidor persistente).
✅ Usa audios de referencia de alta calidad (para clonación y voces desde audio) ✅ Asegúrate de que el audio de referencia tenga al menos 3 segundos ✅ Usa Obtener Transcripción para generar la transcripción automáticamente, o escríbela manualmente ✅ Evita ruido de fondo en el audio de referencia
- Verifica que el servidor esté activo (barra de estado verde)
- Comprueba que el archivo de audio existe y tiene al menos 3 segundos
- El proceso puede tardar hasta 30 segundos — espera a que termine
- Si el error persiste, reinicia la aplicación e inténtalo de nuevo
- El archivo
.ptde la voz fue movido, eliminado o está en otra PC - Solución: elimina la voz desde Mis Voces y vuelve a crearla con Nueva Voz desde Audio
- Al copiar la app a otra PC, incluye también la carpeta
VoiceProfiles\para conservar las voces clonadas
- Verifica que el servidor esté activo (barra de estado verde en la parte inferior)
- Asegúrate de haber ejecutado
setup_venv.batpara instalarqwen-asr - La primera vez puede tardar varios minutos mientras descarga el modelo (~1.7 GB)
- Si el error persiste, reinicia la aplicación e inténtalo de nuevo
La aplicación usa cuatro modelos independientes:
| Modelo | Uso | Tamaño en Disco | VRAM Ocupada | Archivo HuggingFace |
|---|---|---|---|---|
| CustomVoice | Voces predefinidas (Ryan, Aiden) | ~3.5 GB | ~4 GB | Qwen3-TTS-12Hz-1.7B-CustomVoice |
| VoiceDesign | Voces diseñadas por descripción (Mis Voces) | ~3.5 GB | ~4 GB | Qwen3-TTS-12Hz-1.7B-VoiceDesign |
| Base | Clonación de voz y Nueva Voz desde Audio | ~3.5 GB | ~4 GB | Qwen3-TTS-12Hz-1.7B-Base |
| ASR | Transcripción automática de voz | ~1.7 GB | ~2 GB | Qwen3-ASR-1.7B |
- Servidor interno: Al abrir la aplicación se inicia un servidor Python local que precarga CustomVoice + Base en VRAM (~60 segundos). El modelo VoiceDesign se carga bajo demanda la primera vez que se usa una voz diseñada
- Generación instantánea: Una vez cargados, las generaciones no tienen espera adicional de carga de modelo
- Ubicación de modelos:
Qwen3-TTS\Models\(en la misma carpeta de la aplicación) - Voces diseñadas: Perfiles guardados en
Qwen3-TTS\VoiceProfiles\profiles.json - Voces clonadas permanentes: Prompt guardado en
Qwen3-TTS\VoiceProfiles\{id}.pt(pocos MB por voz). Al generar, se carga el.ptdesde disco — el audio original no es necesario - Modelo ASR: Se carga bajo demanda al usar "Obtener Transcripción" (~2 GB VRAM adicionales)
- Al cerrar la app: El servidor se detiene y la VRAM queda libre
- Formato de salida: WAV 24000 Hz (24 kHz)
- Portabilidad: Copia toda la carpeta
Qwen3-TTS(incluidoModelsyVoiceProfiles) a otra PC — tanto los modelos como las voces clonadas se preservan
- Al iniciar: CustomVoice + Base se precargan simultáneamente (~8 GB con BFloat16)
- VoiceDesign carga bajo demanda al usar la pestaña "Mis Voces" (~4 GB adicionales)
- ASR carga bajo demanda al usar "Obtener Transcripción" (~2 GB adicionales)
- Con BFloat16 activo (TTS): ~4 GB × 3 modelos TTS + ~2 GB ASR = ~14 GB máximo (todos activos)
- Sin BFloat16: ~8 GB por modelo TTS × 3 = ~26 GB (no recomendado)
- La RTX 5080 (16 GB VRAM) soporta los 4 modelos simultáneamente con margen cómodo
| Arquitectura | Ejemplos | CUDA requerido |
|---|---|---|
| Turing (RTX 20xx) | RTX 2060, 2070, 2080 | cu121 o superior |
| Ampere (RTX 30xx) | RTX 3060, 3070, 3080, 3090 | cu121 o superior |
| Ada Lovelace (RTX 40xx) | RTX 4060, 4070, 4080, 4090 | cu121 o superior |
| Blackwell (RTX 50xx) | RTX 5070, 5080, 5090 | cu128 requerido |
El setup_venv.bat instala PyTorch cu128, compatible con todas las arquitecturas de la tabla.
La aplicación guarda los modelos en Qwen3-TTS\Models\ en lugar del cache del sistema. Esto ofrece:
| Ventaja | Descripción |
|---|---|
| 🚀 Portabilidad | Copia toda la carpeta a otra PC sin re-descargar los modelos |
| 💾 Respaldo fácil | Haz backup de la carpeta completa con modelos incluidos |
| 🎯 Control total | Sabes exactamente dónde están y cuánto espacio ocupan |
| 🔧 Múltiples instalaciones | Puedes tener varias copias independientes con sus propios modelos |
| 🧹 Sin contaminar cache | No usa el cache de HuggingFace del sistema |
| 📦 Instalación completa | Todo en un solo lugar, fácil de mover o eliminar |
Ejemplo de uso portátil:
- Descarga los modelos una vez (~12 GB)
- Crea tus voces clonadas permanentes
- Copia la carpeta
Qwen3-TTScompleta a un USB (incluyeModels\yVoiceProfiles\) - En otra PC ejecuta
setup_venv.baty luego la app — modelos y voces clonadas disponibles sin re-descargar
| Voz | Género | Idioma | Descripción |
|---|---|---|---|
| Ryan | Masculino | Inglés | Voz dinámica con ritmo fuerte |
| Aiden | Masculino | Inglés | Voz americana clara y neutral |
Crea voces ilimitadas desde la pestaña Mis Voces describiendo sus características en inglés. Ejemplos de descripciones:
| Tipo de voz | Descripción de ejemplo |
|---|---|
| Narradora profesional | Female, 35 years old, warm and clear voice, neutral accent, steady pace |
| Locutor de radio | Male, 45 years old, deep resonant voice, energetic and confident, fast pace |
| Voz de niña | Young female, 10 years old, bright and cheerful voice, playful tone |
| Anciano sabio | Male, 70 years old, slow and deliberate speech, gravelly voice, wise tone |
Las voces diseñadas aparecen automáticamente en el combo de selección junto a Ryan y Aiden, y soportan cualquier idioma.
Para clonar cualquier voz real, usa la pestaña Clonación de Voz con un audio de referencia.
Crea voces permanentes desde audio real usando Nueva Voz desde Audio en la pestaña Mis Voces. La voz queda guardada en el sistema y puede usarse como cualquier otra voz sin el audio de referencia.
| Característica | Detalle |
|---|---|
| Audio de referencia | Solo necesario al crear la voz (una vez) |
| Archivo guardado | VoiceProfiles\{id}.pt (~pocos MB) |
| Idiomas | Cualquiera soportado por Qwen3-TTS |
| Generación | Tan rápida como clonación directa |
| Portabilidad | Copia VoiceProfiles\ para llevarte las voces a otra PC |
- Modelos TTS: Qwen3-TTS por Alibaba — CustomVoice, VoiceDesign y Base
- Modelo ASR: Qwen3-ASR por Alibaba — Qwen3-ASR-1.7B
- Interfaz: Desarrollada con Delphi 13.1 Florence y DevExpress VCL
Esta aplicación es para uso personal y educativo. Los modelos Qwen3-TTS y Qwen3-ASR tienen sus propias licencias que deben ser respetadas.
Desarrollado con ❤️ en Delphi 13.1 Florence