Skip to content

v1.0.0 — First stable release

Choose a tag to compare

@fakehec fakehec released this 17 Apr 21:37
· 14 commits to main since this release

uttera-tts-vllm graduates from pre-alpha to its first stable release.

What changed

End-to-end validation on NVIDIA RTX 5090 / Blackwell against the 40-prompt Spanish corpus in uttera-benchmarks Run 6:

Profile OK / Total p50 p95
latency 20/20 1.8 s 2.5 s
burst@8 8/8 3.3 s 3.4 s
burst@64 64/64 11.7 s 15.2 s
burst@256 256/256 33.9 s 57.7 s
burst@512 512/512 64.2 s 115.0 s
burst@1024 1024/1024 123 s 223 s
sustained (2 rps × 5 min) 600/600 3.3 s 4.0 s

Zero failures across every published profile. Aggregate throughput plateaus near 4.3 rps from N = 256 upwards.

API surface — now frozen behind semver

  • POST /v1/audio/speech — OpenAI-compatible JSON body or multipart form. Adhoc voice cloning via speaker_wav file field.
  • POST /v1/audio/speech/stream — chunked audio/wav streaming.
  • GET /v1/voices, POST /admin/reload-voices, GET /v1/models, GET /health.
  • Per-request cache opt-out via {"cache": false} body field or Cache-Control: no-cache header.
  • Response headers X-Route: CACHE | HOT | ADHOC and X-Cache: HIT | MISS | BYPASS | ADHOC | DISABLED expose routing + cache decisions.

Compatibility contract going forward

  • Endpoint paths, request/response schemas, env var names and their defaults, and the X-Cache / X-Route header values are frozen — breaking changes require v2.0.0.
  • Additive extensions are v1.x minor releases.
  • Bug fixes are v1.0.x patch releases.

Roadmap

  • v1.1 — dynamic voice registry (POST/DELETE /v1/voices, Model B).
  • v1.2 — Prometheus /metrics, structured logging, streaming-with-adhoc-cloning, in-repo bench harness.
  • Full details in ROADMAP.md.

Install

git clone https://github.com/uttera/uttera-tts-vllm
cd uttera-tts-vllm
./setup.sh   # creates venv, pre-installs torch, installs nano-vllm-voxcpm
./setup_assets.sh   # pulls the VoxCPM2 model + 6 standard voices
python main_tts.py   # serves on :5100

For head-to-head numbers against uttera-tts-hotcold on the same GPU and corpus, see uttera-benchmarks.