IA en el borde
El runtime solo para CPU de Audio8 permite que la clonación de voz quepa en aproximadamente 1 GiB de RAM
El ONNX Runtime de Audio8 ejecuta la vista previa de TTS de 0,6B enteramente en CPU: pesos autorregresivos INT4, un códec de 44,1 kHz incluido, PCM en streaming y un endpoint compatible con OpenAI. El servicio ocupa aproximadamente 1 GiB de RAM en una laptop, y no se necesitan PyTorch ni Transformers en tiempo de ejecución.
Emmanuel Fabrice Omgbwa Yasse Asistido por IA
2026-08-05 · 4 min de lectura

Este es el número que importa en el lanzamiento del ONNX Runtime de Audio8 TTS: en un MacBook Air de 16 GB con Apple M2 y cinco hilos de ONNX Runtime, el servicio de inferencia se estabiliza en unos 1004 MiB de memoria después de la carga y alcanza un pico de entre 1,1 y 1,2 GiB durante la síntesis. Eso es clonación de voz y generación de habla en una CPU de laptop, sin GPU en el panorama. Los archivos del modelo ocupan unos 572 MiB en línea, o aproximadamente 968 MiB si se añade el codificador opcional de registro de voz.
El runtime es el complemento exclusivo para CPU de Audio8-TTS-Preview-0.6B-ONNX-INT4, el modelo de pesos abiertos que Audio8 lanzó bajo Apache 2.0. La propuesta del modelo incluía 11 idiomas, clonación de voz zero-shot a partir de una muestra de referencia corta y un códec de 44,1 kHz incluido, y apuntaba a aplicaciones de voz en el borde que necesitan velocidad y privacidad. Esta adaptación a ONNX es lo que hace que esa propuesta sea práctica fuera de un equipo con GPU: después de descargar los pesos, la inferencia no necesita ni PyTorch, ni Transformers, ni el Hugging Face Hub.
Lo que realmente cuesta el runtime
La precisión se divide según el rol. Los pesos autorregresivos lentos y rápidos, la parte del modelo que genera los códigos del códec, son solo-peso INT4. Las activaciones, los estados ocultos y la caché KV permanecen en FP16, al igual que el codificador y decodificador del códec. Solo la salida final de forma de onda está en FP32.
| Componente | Precisión o uso de recursos |
|---|---|
| Pesos AR lentos / rápidos | Solo-peso INT4 |
| Activaciones, estados ocultos, caché KV | FP16 |
| Codificador y decodificador del códec | FP16 |
| Salida de forma de onda | FP32 |
| Archivos del modelo en línea | Aproximadamente 572 MiB |
| Descarga completa con codificador de registro de voz | Aproximadamente 968 MiB |
| Memoria después de la carga, MacBook Air M2, 5 hilos | Aproximadamente 1004 MiB |
| Pico durante la síntesis | Aproximadamente 1,1 a 1,2 GiB |
| Pico durante el registro de voz | Aproximadamente 1,55 GiB |
La síntesis normal carga solo tres sesiones: Slow AR, Fast AR y el decodificador del códec. El códec incluido es parte de la razón por la que el pipeline sigue siendo tan ligero: no hay un vocoder separado que añadir. La síntesis se ejecuta en dos etapas: los modelos autorregresivos emiten los códigos del códec, y el decodificador del códec los convierte en audio. La CLI escribe esos códigos en un archivo .npy junto a la salida .wav.
El registro de voz sigue la misma lógica. Un perfil de voz es un conjunto de códigos de códec extraídos de una grabación de referencia: de 0,5 a 30 segundos de duración, no mayor de 50 MiB, legible por libsndfile y convertida a mono de 44,1 kHz por el servicio. La grabación debe ir acompañada de su transcripción exacta. El codificador se carga solo para este paso, elevando la memoria a aproximadamente 1,55 GiB, y luego se descarga para que las sesiones de síntesis vuelvan. El README es contundente sobre el punto débil: las referencias ruidosas, largas o mal transcritas reducen la estabilidad y la similitud del hablante.
Diseñado para el despliegue, no para demos
El presupuesto de dependencias es la noticia silenciosa aquí. Los requisitos son Python 3.11 o superior, la CLI del Hugging Face Hub para una descarga única y una estructura de directorios fija. Audio8 ha probado la versión actual en macOS arm64 con CPUExecutionProvider. A partir de ahí, es un servicio HTTP en 127.0.0.1:8024 con tres vías de acceso: una página web, una API JSON en /api/tts y un endpoint compatible con OpenAI en /v1/audio/speech que responde con WAV. El código ya escrito para ese formato de API puede apuntar a un modelo local en su lugar. El streaming se ejecuta a través de /api/tts/stream, que devuelve JSON delimitado por líneas con PCM de 16 bits codificado en base64 a 44,1 kHz, y /api/tts/cancel detiene un stream activo. Un script CLI cubre el uso mediante scripts, y los registros se escriben en service.log.
El servicio serializa las solicitudes de síntesis y registro, una compensación deliberada que limita el uso de memoria a costa de la concurrencia. El README lo posiciona para uso local y despliegues de CPU de baja concurrencia. El número de hilos, el directorio de modelos, el directorio de voces, el host y el puerto son variables de entorno con valores por defecto razonables, y un script de detención cierra el servicio gestionado en segundo plano.
El momento de los modelos pequeños
Audio8 lanza en un periodo en el que los modelos de voz pequeños siguen cerrando la brecha con los grandes. Voxtral Realtime, un modelo de código abierto de reconocimiento de voz en streaming creado por investigadores, afirma tener transcripciones a la par de Whisper de OpenAI con un retraso de solo 480 ms. La vista previa de TTS de 0,6B se sitúa por debajo de la marca de 1B, donde se agrupan la mayoría de los modelos TTS abiertos, y clona una voz a partir de una muestra corta sin ajuste fino. El movimiento de pesos abiertos está impulsando el mismo argumento en público: 41 firmantes defendieron recientemente los modelos abiertos en una carta. La contribución de Audio8 difiere en naturaleza: es generativa, crea voz en lugar de transcribirla, y el runtime local se distribuye como un artefacto de primera clase, no como un añadido posterior.
Las advertencias están en los datos. Aproximadamente 1 GiB después de la carga es un conjunto de trabajo que se adapta a una laptop de 16 GB, no a un teléfono. La cola de solicitudes serializada limita el rendimiento por diseño, y las mediciones varían según el sistema operativo y el comportamiento del asignador de memoria de ONNX Runtime, como señala el README. Pero la dirección es difícil de discutir: un pipeline autorregresivo más códec que hace poco habría exigido un equipo con GPU ahora se ejecuta en hilos de CPU con margen de sobra. La clonación de voz local es ahora una decisión de ingeniería, no una decisión de infraestructura.
Lo esencial de la tecnología en 3 minutos cada mañana
Un correo, cada día laborable, con lo que realmente importa en IA y tecnología.