Files
esh-pfi-infrastructure/docs/fleettools/speech.md
T
vh 53c3e8000e docs: add FleetTools — an agent-family-agnostic index of fleet capability
Every agent on nh3-dev — Claude, Codex, Grok, Aider — needs the same
answers: what runs here, how do I call it, what will bite me. Until now
that lived in ~/.claude/CLAUDE.md, which only Claude sessions load, and
it was interleaved with operator preferences that other families have
no use for.

Two-tier by design, matching the persistent-memory split: FLEETTOOLS.md
is a 135-line index an agent reads whole, and each entry links to a
detail file it opens only when it actually needs that tool. Reading the
index costs about a fifth of reading the tree.

Detail paths are absolute so they resolve from any working directory,
since a non-Claude agent will cat the path rather than follow a
markdown link. ~/FLEETTOOLS.md symlinks to the index for discovery.

Rule zero is that live inventories get queried, not transcribed:
Homepage /api/services, asset-engine /api/v1/services, LiteLLM
/v1/models, and every FastAPI seat's /openapi.json. A copied service
table would be stale within a month and this repo already has a
standing rule against second copies that drift.

Contents verified against the running fleet rather than copied from
existing docs: binaries resolved on PATH, seven endpoints probed live,
the LiteLLM roster counted at 40 models where the old note said ~30.
No credentials are included; the vault and its CLI are pointed at
instead.
2026-09-18 07:35:28 -07:00

42 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Speech — TTS and ASR endpoints
All on irv-ml1 unless noted. Every one is FastAPI: **`GET /openapi.json` is the live
contract**, `/health` is the liveness probe.
## TTS
| service | endpoint | what it is |
|---|---|---|
| **Breeze-TTS-2** | `http://irv-ml1.nh3.internal:8204` | clone + direction, **fleet primary** |
| TTS fleet gateway | `http://irv-ml1.nh3.internal:8198` | switchboard; engines sit behind it |
| Chatterbox Fast | `http://irv-ml1.nh3.internal:8197` | streaming, sub-second first-audio — the live-chat front end |
| dots.tts | `http://irv-ml1.nh3.internal:8202` | continuous-AR 48 kHz zero-shot clone |
| Kokoro | `http://irv-ml1.nh3.internal:8193` | low-latency English, streaming |
**Breeze** (`/v1/voices`, `/v1/voices/detail`, `/v1/audio/speech`, `/v1/audio/design`)
— `/v1/voices` matches dots byte-for-byte so they are drop-in swappable;
`/v1/voices/detail` exposes the registry with its directions visible.
**Gateway** (`/v1/audio/speech`, `/v1/voices`) is also reachable through LiteLLM as
the `ext-tts` alias. Voices: donut / emmie / glados / miranda / sindra plus emotion
variants, or the OpenAI aliases nova / alloy. ⚠ **An unknown voice 404s and can trip
the router cooldown** — list voices first.
## ASR
| service | endpoint | what it is |
|---|---|---|
| Speaches | `http://irv-ml1.nh3.internal:8204` | OpenAI-compatible faster-whisper, `verbose_json` |
| Parakeet | `http://10.251.50.54:8300` | Parakeet-TDT via sherpa-onnx (fv-ml1 GPU 3) |
| Scriberr | `http://10.250.50.54:8080` | transcription + diarization UI (ana-ml2 GPU 1) |
## Traps
- **OmniVoice-style diffusion TTS has a TTFA floor** — roughly fixed per-call cost,
~0.7 s first-audio, real RTF 2.8–5.6× (not the advertised 40×). Chatterbox-fast
stays the live-chat front end for that reason.
- **Never expose repetition-penalty dials on Zonos-lineage engines** — it is a silence
footgun.
- Several engines listed on Homepage under *AI - Dormant* are down by design and take
~90 s to respin. Check `/health` before assuming a service is broken.