EchoraEchora
Volver a los modelos

NeuTTS Air: clonación de voz tan compacta que cabe en una Raspberry Pi

11 de septiembre de 2026
•
7 min de lectura

Convierte texto y grabaciones en audio listo para escuchar

Doblaje, stems, covers y efectos de sonido, todo en el navegador.

  • Texto a voz, y también clonación de voz
  • Separa pistas, o genera un cover
  • Regístrate para escuchar primero y decidir después
Empieza a crear gratis

La mayoría de los modelos TTS realmente ligeros y aptos para CPU hacen una concesión concreta: reducen su tamaño a cambio de renunciar a la clonación de voz y trabajan con una lista fija de voces predefinidas. NeuTTS Air, de Neuphonic, rechaza esa concesión. Tiene menos de 1.000 millones de parámetros, está cuantizado para funcionar con soltura en un teléfono o una Raspberry Pi y aun así clona una voz objetivo con solo 3 segundos de audio de referencia. Neuphonic describe esta combinación como el primer modelo de lenguaje de voz TTS verdaderamente realista y totalmente ejecutable en el dispositivo que logra clonación instantánea con este tamaño.

¿Qué es NeuTTS Air?

NeuTTS Air es un modelo open source de text-to-speech con licencia Apache 2.0, publicado por Neuphonic en octubre de 2025. Se basa en un modelo de lenguaje derivado de Qwen2 —su ficha oficial indica 748 millones de parámetros, aunque suele describirse como de “clase 0,5B”— y se combina con NeuCodec, el códec de audio neuronal propio de Neuphonic. El objetivo central del diseño es el despliegue en el dispositivo: se ejecuta por completo en hardware local, sin que el audio ni el texto tengan que salir nunca del equipo, salvo que decidas enviarlos a otro lugar.

Ventajas funcionales de NeuTTS Air

  • Clonación de voz instantánea con apenas 3 segundos de audio de referencia, una capacidad realmente poco habitual entre modelos de este tamaño, ya que la mayoría trabaja con una lista fija de voces predefinidas.
  • Cuantización GGUF (Q4 y Q8) creada específicamente para el despliegue en el edge, mediante llama.cpp / llama-cpp-python en teléfonos, portátiles y ordenadores de placa única como Raspberry Pi.
  • NeuCodec, un códec de audio muy eficiente, que funciona a solo 0,8kbps con un único libro de códigos y una frecuencia de 50Hz; esta decisión de diseño concreta mantiene una alta calidad de salida pese al reducido tamaño general del modelo.
  • Generación en tiempo real con hardware realmente modesto: los benchmarks publicados muestran un rendimiento superior a 2 veces la velocidad de tiempo real en una CPU AMD Ryzen 9, mientras que un smartphone Samsung Galaxy A25 alcanza una velocidad cercana al tiempo real.
  • Marca de agua Perth integrada, que se incorpora automáticamente y de forma predeterminada en cada archivo de audio generado, en lugar de ofrecerse como ajuste opcional.
  • Totalmente abierto bajo Apache 2.0, lo que permite el uso comercial sin un acuerdo de licencia independiente.

Cómo equilibra la arquitectura el realismo y el tamaño

El modelo base derivado de Qwen2 de NeuTTS Air se encarga de la fonemización —mediante un front-end de espeak-ng—, del modelado de la prosodia y de condicionar la salida tanto con el texto de entrada como con el estilo del hablante de referencia. En esencia, concentra todo el trabajo de razonamiento lingüístico y expresivo en un modelo de lenguaje de menos de 1.000 millones de parámetros, en lugar de recurrir a uno mucho mayor. NeuCodec se ocupa después de la parte acústica: como comprime el audio con un solo libro de códigos, en vez de los múltiples libros de códigos apilados que utilizan muchos códecs neuronales, consigue una compresión especialmente eficiente —alrededor de 0,8kbps con salida a 24kHz— sin el coste de calidad habitual al usar menos libros de códigos. La ventana de contexto de 2.048 tokens cubre aproximadamente 30 segundos de audio, incluido el prompt de referencia. Es más que suficiente para conversaciones breves, aunque supone una limitación real si planeas narraciones largas en vez de diálogos al estilo de un asistente.

Primeros pasos con NeuTTS Air

  1. Instala los extras de GGUF para la inferencia cuantizada en CPU. uv sync --extra gguf incorpora llama-cpp-python, necesario para ejecutar los checkpoints GGUF Q4/Q8. Añade también uv sync --extra onnx si quieres usar el decodificador ONNX como alternativa a GGUF o junto a él.
  2. Elige el checkpoint del modelo base en Hugging Face. neuphonic/neutts-air es el modelo de precisión completa; neuphonic/neutts-air-q4-gguf y neuphonic/neutts-air-q8-gguf son las versiones cuantizadas creadas específicamente para el despliegue en el edge y en CPU.
  3. Prepara un clip de referencia y su transcripción. NeuTTS Air necesita tanto un archivo WAV de referencia limpio y mono —el intervalo ideal documentado es de 3 a 15 segundos— como el texto de la transcripción correspondiente. El habla natural, continua y con pocas pausas funciona mejor que una muestra recortada o muy editada.
  4. Ejecuta el script de ejemplo básico para confirmar la configuración. python -m examples.basic_example --input_text "your text here" --ref_audio samples/dave.wav --ref_text samples/dave.txt es la primera prueba documentada; ajusta el flag --backbone al checkpoint que hayas elegido.
  5. Usa directamente la API de Python para integrarlo. Ejecuta from neuttsair.neutts import NeuTTSAir, crea después una instancia con los valores elegidos para backbone_repo y codec_repo —neuphonic/neucodec es la opción de códec estándar—, llama a tts.encode_reference() con el clip de referencia y pasa el resultado a tts.infer() junto con el texto objetivo.
  6. Consulta la colección NeuTTS-Air de Hugging Face para encontrar más opciones de modelo base antes de asumir que el checkpoint predeterminado es la única posibilidad: allí se documentan varias variantes para distintas necesidades de despliegue.

Consejos para obtener mejores resultados

  • Mantén el clip de referencia limpio y conversacional. Un monólogo natural o una muestra de conversación con pocas pausas ayuda al modelo a captar el tono con precisión; la música de fondo, las voces solapadas o el audio muy producido perjudican de forma perceptible la calidad de la clonación.
  • Respeta la ventana de contexto de 2.048 tokens al planificar el contenido. Como cubre aproximadamente 30 segundos, incluido el prompt de referencia, divide el contenido largo en varias generaciones en lugar de esperar que una sola ejecución procese un pasaje extenso.
  • Usa GGUF Q4 en los dispositivos con más limitaciones y Q8 cuando dispongas de algo más de margen. El nivel de cuantización intercambia directamente una pequeña parte de calidad por velocidad y menor consumo de memoria; elige según el hardware objetivo concreto, no una opción predeterminada.
  • Considera NeuTTS Nano si incluso 748M parámetros son demasiados. Este modelo hermano más pequeño de Neuphonic, con 229M parámetros totales —120M activos—, está orientado a despliegues en el edge aún más restringidos que NeuTTS Air.

NeuTTS Air frente a otros modelos ligeros para el dispositivo

NeuTTS AirPiperKokoro-82M
Parámetros~748M (basado en Qwen2)~15M82M
Clonación de vozSí, con ~3 segundosNo, lista fija de vocesNo, lista fija de voces
Formato de despliegueGGUF (Q4/Q8) mediante llama.cppONNXPyTorch / ONNX
Tiempo real en hardware de nivel smartphoneSí (benchmark documentado en Galaxy A25)SíNo es un objetivo principal del diseño
Marca de agua integradaSí (Perth)NoNo
IdiomasInglés (el más sólido), español, alemán, francés35+8
LicenciaApache 2.0MIT (original) / GPL-3.0 (fork actual)Apache 2.0

El nicho específico de NeuTTS Air dentro de los modelos ligeros para el dispositivo es ser una de las pocas opciones que conserva la clonación de voz zero-shot con este tamaño. La mayoría de los modelos tan pequeños renuncia por completo a la clonación a cambio de reducir su tamaño, justo la concesión que NeuTTS Air se diseñó para evitar.

Preguntas frecuentes

¿NeuTTS Air necesita una GPU?

No. Está optimizado para la inferencia en CPU mediante cuantización GGUF y funciona bien en portátiles modernos o dispositivos como Raspberry Pi 4. Si la quieres, la compatibilidad con GPU está disponible mediante llama-cpp-python con CUDA o Metal, pero no es obligatoria.

¿Cuánto audio de referencia necesita NeuTTS Air para clonar una voz?

Apenas 3 segundos. El intervalo práctico ideal documentado es de 3 a 15 segundos de audio limpio y mono, junto con la transcripción correspondiente del clip de referencia.

¿NeuTTS Air es gratuito para uso comercial?

Sí. Se publica bajo la licencia Apache 2.0, que permite el uso comercial sin un acuerdo de licencia independiente.

¿Por qué NeuTTS Air necesita espeak?

Utiliza espeak-ng para convertir el texto de entrada en fonemas como paso de preprocesamiento, una parte esencial del modo en que el modelo de lenguaje base entiende qué sonidos debe generar.

Genera una voz similar desde un audio de referencia con Echora

Para un flujo en el navegador con un objetivo similar, utiliza la Clonación de voz de Echora. Sube una grabación de tu propia voz o una que tengas permiso explícito para usar, introduce hasta 5.000 caracteres de texto nuevo y genera una voz parecida a la referencia.

Crear una voz clonada →