Skip to main content
PromptQuorum
Inicio/LLM locales avanzados/Mejor TTS para Ollama (2026): añade salida de voz a tu LLM local
Voice, Speech & Multimodal

Mejor TTS para Ollama (2026): añade salida de voz a tu LLM local

·11 min de lectura·Por Hans Kuepper · Fundador de PromptQuorum, herramienta de despacho multi-modelo · PromptQuorum

Ollama no tiene síntesis de voz integrada — solo genera texto, así que conectas ese texto a un motor TTS local independiente para añadir salida de voz. Para la mayoría de configuraciones con Ollama, Piper es la combinación más sencilla: funciona solo con CPU, corre en tiempo real (incluso en una Raspberry Pi) y añade una carga de recursos casi nula sobre el LLM que ya está en marcha. Elige Kokoro si quieres una calidad de voz notablemente superior con un modelo aún pequeño de 82 millones de parámetros, con licencia Apache-2.0. Reserva XTTS v2 o Chatterbox solo para cuando necesites específicamente clonación de voz y puedas dedicar una GPU además de tu LLM.

Ollama ejecuta modelos de lenguaje en local y devuelve texto — no tiene síntesis de voz ni salida de audio integrada, y una solicitud para añadir soporte TTS nativo (issue de GitHub #11021) sigue sin resolverse a fecha de esta publicación, cerrada como duplicado de una solicitud anterior aún abierta. Para que un modelo de Ollama hable, conectas su salida de texto a un motor TTS local independiente: la API REST de Ollama devuelve una respuesta JSON, tu código extrae el texto del campo response, y esa cadena se pasa a la CLI o API de Python de un motor TTS para sintetizar audio. Esta guía clasifica los motores TTS locales realistas para esa combinación — Piper, Kokoro, XTTS v2, Coqui TTS, Bark y Chatterbox — según los criterios que realmente importan cuando un motor TTS tiene que compartir equipo con un LLM que ya está en ejecución: uso de recursos, latencia, facilidad de integración y licencia.

Mejor TTS para Ollama (2026): añade salida de voz a tu LLM local

Conclusiones clave

  • Ollama genera solo texto; una solicitud de TTS nativo (issue de GitHub #11021) sigue sin resolverse a fecha de esta publicación.
  • Piper es la combinación con menor coste de recursos: solo CPU, tiempo real incluso en una Raspberry Pi, licencia GPL-3.0-or-later.
  • Kokoro (82M de parámetros, Apache-2.0) cambia algo de velocidad por una calidad de voz percibida notablemente mejor.
  • XTTS v2 y Chatterbox clonan ambos una voz a partir de un clip de referencia corto, pero la licencia de XTTS v2 es no comercial mientras que Chatterbox tiene licencia MIT.
  • Bark añade risas, suspiros y otro audio no vocal, pero su repositorio de GitHub no ha recibido commits desde el 5 de abril de 2024.
  • El pipeline sigue siempre la misma forma: la API REST de Ollama devuelve texto JSON, tu código lo extrae, y ese texto se pasa a la CLI o API de Python del motor TTS.

📍 En una frase

Ollama no tiene síntesis de voz integrada, así que añadir salida de voz significa conectar su respuesta de texto a un motor TTS local independiente — Piper para el menor coste de recursos, Kokoro para mayor calidad con un tamaño similar, XTTS v2 o Chatterbox para clonación de voz, y Bark solo para audio expresivo no vocal.

💬 En términos simples

Ollama es la parte que piensa y escribe la respuesta; un motor TTS es un programa aparte que convierte esa respuesta escrita en audio hablado. Tú conectas ambos con unas pocas líneas de código — no existe un único botón que haga las dos cosas.

📌Nota: Este artículo cubre solo la mitad TTS de un pipeline de voz. Para una configuración completa que también añade reconocimiento de voz (Whisper) en la entrada, consulta la guía del asistente de voz local de PromptQuorum.

¿Tiene Ollama síntesis de voz integrada?

No — Ollama no tiene síntesis de voz ni salida de audio integrada. Ollama es un entorno de ejecución local para grandes modelos de lenguaje: carga un modelo, lo expone mediante una API REST local y una CLI, y devuelve texto. No sintetiza voz ni incluye ningún modelo TTS.

Un issue de GitHub que solicitaba soporte TTS nativo, #11021, proponía cargar modelos de generación de audio directamente y añadir un endpoint compatible con OpenAI, POST /v1/audio/speech. Se cerró como duplicado de una solicitud anterior aún abierta (issue #5424) — a fecha de esta publicación, Ollama no ha lanzado TTS nativo y no hay un calendario comprometido para ello.

Por eso, cualquier configuración de voz local construida sobre Ollama — un asistente de voz, un narrador de audiolibros para la salida de un LLM, o una herramienta de lectura en voz alta para accesibilidad — conecta Ollama a un motor TTS independiente en lugar de depender de ningún "modo TTS de Ollama". Ya existen proyectos comunitarios de conexión para esto: maudoin/ollama-voice, con 378 estrellas en GitHub a fecha de esta publicación, encadena Whisper para la transcripción, Ollama para la respuesta y pyttsx3 — un envoltorio de las voces integradas de tu sistema operativo, no un modelo TTS neuronal — para la salida. Ese proyecto demuestra el patrón; no es en sí una recomendación de la calidad de audio de pyttsx3, que queda por detrás de todos los motores neuronales comparados en esta guía.

¿Existe una función oficial de texto a voz para Ollama?

No. Ollama solo genera texto. Una solicitud de función comunitaria para añadir soporte TTS nativo (issue de GitHub #11021) sigue sin resolverse a fecha de esta publicación, cerrada como duplicado de una solicitud anterior aún abierta. La salida de voz requiere conectar la respuesta de texto de Ollama a un motor TTS independiente.

Cómo conectar la salida de Ollama a un motor TTS local

Todo pipeline de Ollama más TTS sigue los mismos cuatro pasos: pedir texto a Ollama, extraer ese texto de la respuesta JSON, pasarlo a un motor TTS, y reproducir o guardar el audio resultante. No existe una integración oficial entre Ollama y ningún motor TTS — este es código de conexión que escribes tú mismo, normalmente menos de 20 líneas.

  • La API de Ollama no sabe ni le importa qué pasa con su salida de texto. No existe ningún callback, webhook o sistema de plugins que conecte Ollama con un motor TTS — tu código es lo único que los une.
  • El modo streaming ("stream": true) reduce la latencia percibida al devolver tokens a medida que se generan, permitiéndote empezar a sintetizar audio de la primera frase antes de que el modelo termine la respuesta completa — útil para asistentes de voz interactivos, más complejo de implementar que el ejemplo sin streaming de arriba.
  1. 1
    Inicia Ollama y descarga un modelo
    Why it matters: Ollama debe estar ya en ejecución (`ollama serve`, o la aplicación de escritorio) con al menos un modelo descargado (`ollama pull llama3.1`) antes de poder responder solicitudes a través de su API REST.
  2. 2
    Envía un prompt a la API REST de Ollama
    Why it matters: Una solicitud POST a `http://localhost:11434/api/generate` con `"stream": false` devuelve un único objeto JSON con la respuesta completa en su campo `response` — el más simple de analizar para un pipeline TTS, aunque el modo de streaming está disponible para reducir el tiempo hasta el primer audio.
  3. 3
    Extrae el texto y pásalo a tu motor TTS
    Why it matters: La cadena `response` es texto plano — pásala directamente a la CLI de un motor TTS por stdin (Piper) o a su API de Python (Kokoro, XTTS v2, Chatterbox, Bark o el toolkit Coqui TTS).
  4. 4
    Reproduce o guarda el audio resultante
    Why it matters: La mayoría de CLI y API de TTS escriben directamente un archivo `.wav`; para reproducción en vivo, envía audio en bruto a un reproductor como `aplay` (Linux) o usa una biblioteca de audio de Python.
bash
# 1. Pedir una respuesta de texto a Ollama (sin streaming, para simplificar)
RESPONSE=$(curl -s http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt": "Explain quantum entanglement in two sentences.",
  "stream": false
}' | python3 -c "import sys, json; print(json.load(sys.stdin)['response'])")

# 2. Pasar ese texto a la CLI de Piper para sintetizar audio (la opción con menor coste de recursos)
echo "$RESPONSE" | piper --model en_US-lessac-medium --output_file response.wav

# --- Versión equivalente en Python, usando Kokoro en lugar de Piper ---
import json
import requests
import soundfile as sf
from kokoro_onnx import Kokoro

reply = requests.post(
    "http://localhost:11434/api/generate",
    json={"model": "llama3.1", "prompt": "Explain quantum entanglement in two sentences.", "stream": False},
).json()["response"]

kokoro = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin")
samples, sample_rate = kokoro.create(reply, voice="af_heart")
sf.write("response.wav", samples, sample_rate)

¿Qué motor TTS combina mejor con Ollama?

Piper es la mejor opción para la mayoría de combinaciones con Ollama porque añade la menor competencia por recursos junto a un LLM que ya usa CPU o memoria de GPU. La tabla siguiente puntúa a cada candidato específicamente por lo bien que comparte equipo con Ollama — uso de recursos, latencia, cuánto código hace falta para conectarlo, y licencia — no solo por la calidad de audio bruta.

Piper

Licencia:
GPL-3.0-or-later
Uso de recursos:
Solo CPU, muy ligero
Latencia:
Tiempo real, incluso en Raspberry Pi
Facilidad de conexión:
Una sola llamada CLI, texto por stdin

Kokoro

Licencia:
Apache-2.0
Uso de recursos:
Compatible con CPU, ligero (82M parámetros)
Latencia:
Rápido; sin dato público de tiempo real vs GPU
Facilidad de conexión:
API de Python (kokoro-onnx), pocas líneas

XTTS v2

Licencia:
CPML (no comercial)
Uso de recursos:
Alto; GPU recomendada
Latencia:
Streaming bajo 200ms, en GPU, según Coqui
Facilidad de conexión:
API de Python, más configuración (licencia)

Toolkit Coqui TTS

Licencia:
MPL-2.0 (solo el toolkit)
Uso de recursos:
Varía según el modelo cargado
Latencia:
Varía según el modelo cargado
Facilidad de conexión:
Una API de Python para varios modelos

Bark

Licencia:
MIT
Uso de recursos:
Alto; GPU recomendada, lento en CPU
Latencia:
No diseñado para streaming en tiempo real
Facilidad de conexión:
API de Python, simple pero más lenta

Chatterbox

Licencia:
MIT
Uso de recursos:
Moderado; GPU recomendada en tiempo real
Latencia:
Sin dato público de tiempo real confirmado
Facilidad de conexión:
API de Python (paquete pip chatterbox-tts)

¿Qué motor TTS usa menos recursos junto a Ollama?

Piper. Funciona solo con CPU, corre en tiempo real incluso en una Raspberry Pi, y no necesita compartir memoria de GPU con un modelo de Ollama — la opción con menor coste de recursos de esta comparación.

¿Quién debería usar qué motor?

Elige el motor según tu hardware y tus necesidades de voz, no según cuál tenga la mayor calidad de audio bruta por sí sola.

  • 🏆 Mejor opción general para combinar con Ollama: Piper — menor coste de recursos, tiempo real en CPU, el más sencillo de conectar a un script de shell o una llamada subprocess de Python.
  • Mejor opción para mayor calidad de audio con un tamaño similar: Kokoro — aún lo bastante compacto para funcionar sin GPU, con una calidad de voz percibida notablemente mejor que Piper según sus propios puntos de referencia de lanzamiento.
  • Mejor opción para clonación de voz con uso comercial permitido: Chatterbox — con licencia MIT, clona una voz a partir de unos 5 segundos de audio de referencia, necesita una GPU junto a Ollama para uso en tiempo real.
  • Mejor opción para clonación de voz no comercial o de investigación: XTTS v2 — clona una voz a partir de 6 segundos de audio en 17 idiomas, pero su licencia CPML bloquea el uso comercial sin un acuerdo aparte — consulta el desglose de la licencia de XTTS v2 de PromptQuorum.
  • Mejor opción para audio expresivo no vocal, no como voz principal: Bark — risas, suspiros y sonido ambiente simple a partir de solo prompts de texto, pero su repositorio no ha recibido commits desde el 5 de abril de 2024, así que no dependas de él para un pipeline de producción mantenido.
  • 🧭 Raspberry Pi u otro hardware solo con CPU, ejecutando Ollama con un modelo pequeño → Piper. Ningún otro motor de esta guía está confirmado en tiempo real sin GPU.
  • 🧭 Escritorio o servidor con GPU libre junto a Ollama, voz clonada deseada, y derechos comerciales necesarios → Chatterbox.
  • 🧭 Escritorio o servidor con GPU libre, proyecto de investigación o personal, máxima calidad de clonación deseada → XTTS v2.
  • 🧭 Se busca un único toolkit capaz de cargar varios modelos distintos con el tiempo (incluido XTTS v2)toolkit Coqui TTS en lugar de instalar las dependencias de cada modelo por separado.

Cuándo no usar ninguno de estos

El TTS local combinado con Ollama no es el enfoque adecuado para toda necesidad de salida de voz — algunas situaciones requieren una API en la nube o una herramienta totalmente distinta.

  • Si necesitas decenas de voces muy pulidas y expresivas emocionalmente listas para usar — una API en la nube gestionada como ElevenLabs ofrece una biblioteca de voces curada más amplia y controles más expresivos que cualquiera de los modelos aquí; consulta la comparación ElevenLabs vs TTS local de PromptQuorum para ver las ventajas y desventajas.
  • Si tu hardware no puede liberar RAM o VRAM más allá de lo que ya usa Ollama — ejecutar Ollama y un motor TTS hambriento de GPU como XTTS v2 o Bark en la misma GPU modesta puede dejar sin recursos a ambos; baja a Piper o Kokoro, o mueve el TTS a una segunda máquina.
  • Si necesitas lanzar un producto comercial y no has confirmado la licencia de forma independiente — la licencia CPML de XTTS v2 es explícitamente no comercial, y Coqui AI, la empresa detrás de ella, cerró sus servicios de licencia de pago en diciembre de 2023; verifica tú mismo las condiciones de licencia antes de lanzar cualquiera de estos motores en un producto de pago.
  • Si clonas la voz de una persona real sin su consentimiento — esto plantea problemas de consentimiento y suplantación independientes de la licencia de cualquier motor, tanto en uso personal como comercial.

Preguntas frecuentes

¿Tiene Ollama síntesis de voz integrada?

No. Ollama solo genera texto y no tiene salida de audio nativa. Una solicitud de función en GitHub para TTS nativo (issue #11021) sigue sin resolverse a fecha de esta publicación. La salida de voz requiere conectar la respuesta de texto de Ollama a un motor TTS local independiente.

¿Cuál es el mejor motor TTS para combinar con Ollama?

Piper, para la mayoría de configuraciones — funciona solo con CPU, tiene licencia GPL-3.0-or-later, y corre en tiempo real incluso en una Raspberry Pi, así que no compite con Ollama por memoria de GPU. Elige Kokoro para mayor calidad de audio percibida con un uso de recursos similar, o XTTS v2 / Chatterbox si necesitas específicamente clonación de voz.

¿Cómo conecto la salida de Ollama a un motor TTS?

Envía una solicitud POST a la API REST de Ollama en http://localhost:11434/api/generate con "stream": false, extrae el campo response de la respuesta JSON obtenida, y pasa ese texto a la CLI de tu motor TTS elegido (Piper acepta texto por stdin) o a su API de Python (Kokoro, XTTS v2, Chatterbox, Bark y el toolkit Coqui TTS exponen todos una). Consulta el recorrido del pipeline de arriba para ver comandos funcionales.

¿Necesito una GPU para ejecutar un motor TTS junto a Ollama?

No necesariamente. Piper y Kokoro son ambos compatibles con CPU y no requieren GPU. XTTS v2, Bark y Chatterbox se benefician de una GPU o la necesitan para rendimiento en tiempo real, lo que significa que compiten con Ollama por memoria de GPU en una máquina con una sola GPU.

¿Puedo usar XTTS v2 comercialmente en un producto basado en Ollama?

No sin un acuerdo aparte. XTTS v2 tiene licencia Coqui Public Model License (CPML), que es no comercial. Coqui AI, la empresa que lo publicó, cerró sus servicios de pago en diciembre de 2023, y PromptQuorum no pudo confirmar que exista hoy una vía activa de licencia comercial. Consulta el desglose completo de la licencia de XTTS v2 antes de lanzar un producto de pago.

¿Qué motor TTS debería usar para un asistente de voz en Raspberry Pi con Ollama?

Piper. Es el único motor de esta comparación confirmado para funcionar en tiempo real en hardware solo con CPU como una Raspberry Pi, exactamente la limitación que impone una Pi cuando además ejecuta o se comunica con una instancia de Ollama.

¿Existe una integración oficial entre Ollama y algún motor TTS?

No. No existe ningún plugin oficial, callback o puente integrado que conecte Ollama con un motor TTS. Cada combinación descrita en esta guía es código de conexión que escribes tú mismo — normalmente menos de 20 líneas que llaman a la API REST de Ollama y luego a la CLI o API de Python propia del motor TTS.

¿Cuál es la diferencia entre Kokoro y Piper para un pipeline con Ollama?

Ambos son compatibles con CPU y de uso comercial gratuito (Kokoro con licencia Apache-2.0, Piper con licencia GPL-3.0-or-later). Kokoro es un modelo más grande (82 millones de parámetros) que ofrece una calidad de voz percibida notablemente superior según sus propios puntos de referencia de lanzamiento, mientras que Piper es más ligero y tiene un historial más largo funcionando en tiempo real en hardware muy modesto como una Raspberry Pi.

¿Puedo clonar mi propia voz para narrar la salida de Ollama?

Sí, con XTTS v2 (6 segundos de audio de referencia, licencia CPML no comercial) o Chatterbox (unos 5 segundos de audio de referencia, licencia MIT, uso comercial permitido). Ni Piper ni Kokoro admiten clonación de voz — ambos usan voces fijas, preentrenadas.

Veredicto

La falta de síntesis de voz nativa en Ollama no es una carencia que se resuelva con un plugin — es una decisión de diseño que mantiene a Ollama centrado en la inferencia de modelos de lenguaje, y cada pipeline de voz construido sobre él conecta un motor independiente. Para la mayoría de lectores, ese motor debería ser Piper: cuesta casi nada en recursos junto a un LLM ya en marcha, se conecta en una línea a un script de shell o un subprocess de Python, y corre en tiempo real en hardware tan modesto como una Raspberry Pi. Si la calidad de audio de Piper no es suficiente, Kokoro es el siguiente paso con un uso de recursos similar. Recurre a XTTS v2 o Chatterbox solo cuando la clonación de voz sea una necesidad real, presupuesta una GPU para ello, y — específicamente para XTTS v2 — confirma que la licencia CPML no comercial encaja con tu caso de uso antes de construir sobre él. Si tienes dudas, instala Piper primero: es la forma más rápida de oír hablar a un modelo de Ollama, y pasar después a un motor más pesado es un cambio menor que empezar directamente por él.

Fuentes

← Volver a LLM locales avanzados