# Clonación de voz Qwen3-TTS

Qwen3-TTS de Alibaba es un modelo de texto a voz de última generación que admite **más de 10 idiomas** con clonación de voz a partir de solo 3 segundos de audio. Presenta control de emoción en lenguaje natural ("hablar felizmente", "susurrar suavemente"), transmisión con 97 ms de latencia y dos tamaños de modelo (0.6B y 1.7B). Lanzado bajo Apache 2.0, es uno de los sistemas TTS de código abierto más capaces disponibles.

## Características clave

* **más de 10 idiomas**: inglés, chino, japonés, coreano, francés, alemán, español y más
* **Clonación de voz en 3 segundos**: Clona cualquier voz a partir de una muestra de audio corta
* **Control de emoción natural**: Controla el estilo con instrucciones en texto plano
* **Soporte de transmisión**: 97 ms de latencia para el primer token — ideal para aplicaciones en tiempo real
* **Dos tamaños**: 0.6B (4GB VRAM) y 1.7B (8GB VRAM)
* **Ajustable (fine-tunable)**: Modelos base disponibles para entrenamiento personalizado
* **Licencia Apache 2.0**: Uso comercial completo

## Variantes de modelo

| Modelo                  | Parámetros | VRAM | Calidad | Velocidad | Mejor para                   |
| ----------------------- | ---------- | ---- | ------- | --------- | ---------------------------- |
| Qwen3-TTS-0.6B-Instruct | 0.6B       | 4GB  | Bueno   | Rápido    | Tiempo real, GPUs económicas |
| Qwen3-TTS-1.7B-Instruct | 1.7B       | 8GB  | Mejor   | Medio     | Calidad de producción        |
| Qwen3-TTS-0.6B-Base     | 0.6B       | 4GB  | —       | —         | Ajuste fino                  |
| Qwen3-TTS-1.7B-Base     | 1.7B       | 8GB  | —       | —         | Ajuste fino                  |

## Requisitos

| Componente | 0.6B         | 1.7B          |
| ---------- | ------------ | ------------- |
| GPU        | RTX 3060 6GB | RTX 3080 10GB |
| VRAM       | 4GB          | 8GB           |
| RAM        | 8GB          | 16GB          |
| Disco      | 5GB          | 10GB          |
| Python     | 3.10+        | 3.10+         |

**GPU recomendada de Clore.ai**: RTX 3060 ($0.15–0.3/día) para 0.6B, RTX 3080 ($0.2–0.5/día) para 1.7B

## Instalación

```bash
pip install transformers torch torchaudio soundfile
```

## Inicio rápido — Clonación de voz

```python
import torch
import torchaudio
from transformers import AutoModelForCausalLM, AutoProcessor

model_name = "Qwen/Qwen3-TTS-12Hz-1.7B-Instruct"
processor = AutoProcessor.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.float16,
    device_map="auto"
)

# Cargar voz de referencia (3+ segundos de cualquier voz)
reference_audio, sr = torchaudio.load("reference_voice.wav")

# Generar habla clonando esa voz
text = "Welcome to Clore.ai, the decentralized GPU rental marketplace."
inputs = processor(
    text=text,
    audio=reference_audio,
    sampling_rate=sr,
    return_tensors="pt"
).to("cuda")

with torch.no_grad():
    output = model.generate(**inputs, max_new_tokens=2048)

# Decodificar y guardar
audio = processor.decode(output[0])
torchaudio.save("output.wav", audio.unsqueeze(0), 24000)
```

## Control de emoción

```python
# Controlar la emoción con instrucciones en lenguaje natural
prompts = [
    ("Habla feliz y enérgicamente", "¡Grandes noticias! Acabamos de lanzar la nueva función!"),
    ("Susurra suavemente y con ternura", "Déjame contarte un secreto sobre los precios de las GPU..."),
    ("Habla profesionalmente y con claridad", "Los resultados trimestrales muestran un aumento del 40% en los ingresos."),
    ("Habla con emoción", "¡No creerás los resultados del benchmark!"),
]

para estilo, texto en prompts:
    inputs = processor(
        text=text,
        style_prompt=style,
        audio=reference_audio,
        sampling_rate=sr,
        return_tensors="pt"
    ).to("cuda")
    
    output = model.generate(**inputs, max_new_tokens=2048)
    audio = processor.decode(output[0])
    torchaudio.save(f"output_{style[:10]}.wav", audio.unsqueeze(0), 24000)
```

## Generación multilingüe

```python
# Generar en diferentes idiomas (¡la misma voz!)
texts = {
    "en": "Hello, welcome to the GPU marketplace.",
    "zh": "你好，欢迎来到GPU市场。",
    "ja": "こんにちは、GPUマーケットプレイスへようこそ。",
    "ko": "안녕하세요, GPU 마켓플레이스에 오신 것을 환영합니다。",
    "fr": "Bonjour, bienvenue sur le marché GPU.",
    "de": "Hallo, willkommen auf dem GPU-Marktplatz.",
}

for lang, text in texts.items():
    inputs = processor(
        text=text, audio=reference_audio, sampling_rate=sr,
        language=lang, return_tensors="pt"
    ).to("cuda")
    output = model.generate(**inputs, max_new_tokens=2048)
    audio = processor.decode(output[0])
    torchaudio.save(f"output_{lang}.wav", audio.unsqueeze(0), 24000)
```

## Comparación con otros modelos TTS

| Función            | Qwen3-TTS  | Zonos      | Día          | Kokoro     | XTTS  |
| ------------------ | ---------- | ---------- | ------------ | ---------- | ----- |
| Idiomas            | 10+        | 1 (EN)     | 1 (EN)       | 1 (EN)     | 17    |
| Clon de voz        | 3 seg      | 2-30 seg   | No           | No         | 6 seg |
| Streaming          | ✅ (97 ms)  | ❌          | ❌            | ❌          | ✅     |
| Control de emoción | ✅ Natural  | ❌          | ✅ Automático | ❌          | ❌     |
| Multi-orador       | ❌          | ❌          | ✅            | ❌          | ❌     |
| VRAM mínima        | 4GB        | 8GB        | 8GB          | 2GB        | 6GB   |
| Licencia           | Apache 2.0 | Apache 2.0 | Apache 2.0   | Apache 2.0 | AGPL  |

## Consejos para usuarios de Clore.ai

* **0.6B en RTX 3060**: Mejor opción económica a $0.15/día — suficiente para la mayoría de tareas TTS
* **Procesamiento por lotes**: Genera todos los clips de audio en una sesión para maximizar el tiempo de alquiler
* **Almacenar en caché el audio de referencia**: Mantén tus referencias de voz en almacenamiento persistente
* **Transmisión para tiempo real**: Usa la API de streaming para aplicaciones de chatbot/asistente
* **Ajusta para voces personalizadas**: Alquila una RTX 4090 por unas horas para ajustar el modelo base con tus datos de voz

## Solución de problemas

| Problema                      | Solución                                                                                  |
| ----------------------------- | ----------------------------------------------------------------------------------------- |
| Memoria insuficiente en 1.7B  | Cambia a 0.6B o usa `torch_dtype=torch.float16`                                           |
| La clonación de voz suena mal | Usa 5-10 segundos de audio limpio (sin ruido de fondo)                                    |
| Salida en idioma incorrecto   | Pasa explícitamente `idioma` parámetro                                                    |
| Primera generación lenta      | Normal — el modelo se carga en la primera llamada. Las llamadas subsiguientes son rápidas |

## Lecturas adicionales

* [Modelos de HuggingFace](https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-Instruct)
* [Documentación de Qwen3-TTS](https://qwen.readthedocs.io/)
* [Guía de clonación de voz](https://medium.com/@zh.milo/qwen3-tts-the-complete-2026-guide)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-es/audio-y-voz/qwen3-tts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
