v0.1.0
Pre-release
Pre-release
[0.1.0] — 2026-07-03
Release inaugural. Al ser la primera versión publicada, no hay base previa
respecto de la cual registrar cambios o correcciones: esta sección describe el
estado con el que nace el producto.
Añadido
- Motor de síntesis offline con Chatterbox Multilingual (alias
es-mx-latam, español latinoamericano): voz por defecto empaquetada
(default, de fábrica) y clonación de voz víavoice addcon modelo
dual-audio (reference.wavpara timbre +speech.wavpara conditioning).
El audio generado no lleva marca de agua (watermark de PerthNet desactivado
por diseño; ver «Uso ético y responsable»). - CLI multiplataforma (Windows/Linux/macOS, idéntica en los tres SO) con
los comandosspeak,voice(add/list/remove),daemon
(start/stop/restart/status/serve),devices,doctor,setup,
cleanupyversion; salidas de usuario en español. - Contrato programático para orquestadores (consumo vía
subprocess):
stdout reservado para datos y diagnóstico/progreso por stderr (UTF-8 forzado);
mapa de códigos de salida congelado —0éxito,1error genérico,2
modelo no provisionado,3voz/audio no encontrado,4entrada inválida,
5daemon inalcanzable,130interrupción (Ctrl+C, sin traceback) —;
--jsonconschema_versionen los comandos de lectura (version,
doctor,devices,voice list,daemon status). - Progreso real en vivo durante
speak: eventos de etapa (conditionals →
T3 → S3Gen → encoding → guardado) y conteo de tokens del T3 alimentan un
indicador sobre stderr (solo en TTY), en modo directo y daemon. - Modo daemon: servidor HTTP persistente en loopback (puerto fijo 8765,
sin autenticación — control de acceso delegado al SO) que mantiene el modelo
en memoria entre invocaciones;/synthesizeresponde un stream NDJSON
(progress→result/error, modelos Pydantic endaemon/protocol.py);
sandbox de rutas de audio (solo directorios de voces) con degradación
automática a modo directo o error accionable según el despacho; auto-reinicio
opcional (--autorestart,--max-retries). - Validación de entrada en
speak:--textacotado a 5000 caracteres
(exit 4 en ambas rutas, directa y daemon) con advertencia no bloqueante por
encima de 2000;--compute-backend(auto/cpu/cuda/mps) con aviso
cuando el daemon lo ignora;--outputcrea los directorios padres. - Ciclo de vida de provisión completo:
setupidempotente (chequeos de
entorno + descarga ligera víasnapshot_download, sin cargar el modelo en
RAM; incluyeve.safetensorspara que ningúnspeakposterior necesite
red), pre-chequeo de espacio en disco,--force-updatepara re-descarga
limpia, e integración de PATH en Linux/AppImage (--remove-pathla
revierte);speak/daemon startfallan rápido remitiendo asetupsin
descargas silenciosas;cleanupdesaprovisiona quirúrgicamente
(--model/--voices/--all/--dry-run, confirmación interactiva,--yes
y EOF tratado como cancelación limpia para uso programático). - Distribución por SO: instalador de Windows (Inno Setup, PATH + casilla de
setup), AppImages de Linux x86_64/aarch64 (runtime estático, sinlibfuse2;
requiere glibc ≥ 2.35, documentado con troubleshooting) y.dmgde macOS
arm64 con scripts de instalación/desinstalación yLSMinimumSystemVersion
derivada dinámicamente del toolchain. - Cadena de suministro y CI: lockfile universal con hashes
(requirements-lock.txt, instalado con--require-hashes) y lock CPU-only
de Linux x86_64 (sin el stacknvidia-*-cu12, AppImage de cientos de MB en
vez de GB); triple puerta de tests en CI (Linux/Windows/macOS nativos) que
bloquea los 4 builds; smoke test del binario congelado en cada build; SHA-256
de cada artefacto emitido en el log ySHA256SUMS.txten el Release; runbook
de publicación endocs/RELEASING.md. - Documentación y gobernanza:
USAGE.md(guía por caso de uso),
docs/DESIGN.md,docs/ARCHITECTURE.md,docs/DAEMON-MODE.md,
docs/BUILD.md,docs/RELEASING.md, sección de uso ético y responsable
(README/USAGE),CONTRIBUTING.md,SECURITY.md, esteCHANGELOG.mdy
THIRD-PARTY-LICENSES.md(inventario de licencias generado del lockfile).
Código propio bajo GPL-3.0-or-later; modelo MIT.