Document extended N1000/T2000 bucket + effective budgets (FluidAudio #924)
Browse files
README.md
CHANGED
|
@@ -32,10 +32,23 @@ Each model ships as both `.mlpackage` (source) and compiled `.mlmodelc`.
|
|
| 32 |
| `T3Nano-Decode-M1536-fp16-stateful` | 184 MB | Single-step AR decode, KV cache in `MLState` (**3.3 ms/step**; macOS 15+/iOS 18+) | CPU+GPU |
|
| 33 |
| `FlowMean-N500-fp16` | 228 MB | S3Gen meanflow: 500-token bucket → 1000 mel frames, 2 plain Euler steps in-graph (0.38 s/call) | CPU+GPU |
|
| 34 |
| `HiFT-T1000-fp16` | 40 MB | HiFTNet vocoder: mel → 24 kHz waveform (0.09 s/call) | CPU+GPU |
|
|
|
|
|
|
|
| 35 |
| `tables/tables.safetensors` | 87 MB | text/speech embedding tables (host applies; GPT2 `wpe` is in-graph) |
|
| 36 |
| `tables/voice-default.safetensors` | 0.7 MB | precomputed built-in voice conditioning (T3 cond embeds + S3Gen ref dict) |
|
| 37 |
| `tokenizer/` | 1.4 MB | GPT2 BPE tokenizer (50276 ids incl. 20 paralinguistic tags: `[laugh]`, `[chuckle]`, `[sigh]`, …) |
|
| 38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
The AR stage runs at ~300 tok/s against the 25 Hz speech-token rate
|
| 40 |
(**~12× real-time**) with the stateful decode; the full compute path is
|
| 41 |
~3.4× real-time with I/O-KV decode and ~6× with MLState, measured on an
|
|
|
|
| 32 |
| `T3Nano-Decode-M1536-fp16-stateful` | 184 MB | Single-step AR decode, KV cache in `MLState` (**3.3 ms/step**; macOS 15+/iOS 18+) | CPU+GPU |
|
| 33 |
| `FlowMean-N500-fp16` | 228 MB | S3Gen meanflow: 500-token bucket → 1000 mel frames, 2 plain Euler steps in-graph (0.38 s/call) | CPU+GPU |
|
| 34 |
| `HiFT-T1000-fp16` | 40 MB | HiFTNet vocoder: mel → 24 kHz waveform (0.09 s/call) | CPU+GPU |
|
| 35 |
+
| `FlowMean-N1000-fp16` | 242 MB | S3Gen meanflow, 1000-token bucket → 2000 mel frames (extended ~30 s output; FluidAudio #924) | CPU+GPU |
|
| 36 |
+
| `HiFT-T2000-fp16` | 40 MB | HiFTNet vocoder for the 2000-frame extended bucket | CPU+GPU |
|
| 37 |
| `tables/tables.safetensors` | 87 MB | text/speech embedding tables (host applies; GPT2 `wpe` is in-graph) |
|
| 38 |
| `tables/voice-default.safetensors` | 0.7 MB | precomputed built-in voice conditioning (T3 cond embeds + S3Gen ref dict) |
|
| 39 |
| `tokenizer/` | 1.4 MB | GPT2 BPE tokenizer (50276 ids incl. 20 paralinguistic tags: `[laugh]`, `[chuckle]`, `[sigh]`, …) |
|
| 40 |
|
| 41 |
+
### Output budget / bucket choice
|
| 42 |
+
|
| 43 |
+
The flow bucket holds `voice prompt tokens + generated speech tokens + 3
|
| 44 |
+
silence tokens`. The built-in voice uses 250 prompt tokens, so `N500`
|
| 45 |
+
yields **≤247 generated tokens ≈ 9.9 s of audio per call** and `N1000`
|
| 46 |
+
**≤747 ≈ 29.9 s**. Likewise the T3 prefill window holds
|
| 47 |
+
`voice conditioning (376) + text BPE + 1 BOS`, i.e. **≤135 text tokens**.
|
| 48 |
+
Pick ONE flow/vocoder pair at load time; the buckets are static shapes, so
|
| 49 |
+
the extended pair roughly doubles flow+vocoder latency even for short
|
| 50 |
+
outputs.
|
| 51 |
+
|
| 52 |
The AR stage runs at ~300 tok/s against the 25 Hz speech-token rate
|
| 53 |
(**~12× real-time**) with the stateful decode; the full compute path is
|
| 54 |
~3.4× real-time with I/O-KV decode and ~6× with MLState, measured on an
|