voice_audio_multi/docs/models/neutts.md
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

71 lines
3.7 KiB
Markdown

# NeuTTS
NeuTTS is an experimental English TTS family with built-in speaker prompts and
emotion-token control. The current package is the 2E variant, and the default
download is its standalone GGUF package; the original safetensors layout is
still supported for local development.
```bash
python3 tools/model_manager_v2.py install neutts
```
```bash
audiocpp_cli --task tts --family neutts \
--model models/NeuTTS-2E-GGUF/neutts-2e-orig.gguf \
--backend cuda \
--text "The release checklist is almost complete, and the baseline run looks healthy." \
--voice-id emily \
--request-option emotion=neutral \
--out out.wav
```
Streaming mode decodes speech tokens while AR generation is still running,
emitting incremental audio and a final merged WAV. Codec windows emit 25 frames
(500 ms), with 51 frames of left context, five frames of look-ahead, and a
two-frame crossfade. The built-in reference codes seed the left context. Windowed
decoding can differ from offline decoding because the codec uses non-causal
attention. Long-form text chunking remains available in both modes.
```bash
audiocpp_cli --task tts --mode streaming --family neutts \
--model models/NeuTTS-2E-GGUF/neutts-2e-orig.gguf \
--backend cuda \
--text "This request starts returning audio while the remaining speech tokens are still being generated." \
--request-option voice_id=paul \
--request-option emotion=happy \
--out stream.wav \
--out-dir stream_chunks
```
## Common Options (use directly)
| Option | Values | Default | Meaning |
|---|---|---:|---|
| `--max-tokens` | integer | `0` | Maximum generated speech-token count for the autoregressive generator; 0 uses the remaining model context, default 0. Total generation context is capped at min(checkpoint context, 2048). |
| `--temperature` | float > 0 | `1.0` | AR sampling temperature. |
| `--top-k` | integer | `50` | AR top-k sampling limit. |
| `--seed` | integer | random | Sampling seed. |
| `--text-chunk-size` | chars | `600` | Long-form chunk size. |
| `--text-chunk-mode` | `default`, `tag_aware`, `japanese`, `endline` | `default` | Framework text chunking mode. |
## Request Options (use with `--request-option`)
`--voice-id` also selects a built-in speaker and takes precedence over
`--request-option voice_id=...`.
| Option | Values | Default | Meaning |
|---|---|---:|---|
| `voice_id` | `dave`, `emily`, `greta`, `jo`, `juliette`, `mateo`, `paul`, `sophie`, `steven` | `emily` | Built-in speaker prompt. |
| `emotion` | `angry`, `disgusted`, `sad`, `happy`, `fearful`, `neutral`, `surprised` | `neutral` | Optional emotion token. |
| `max_tokens` | integer | `0` | Maximum generated speech-token count for the autoregressive generator; 0 uses the remaining model context, default 0. Total generation context is capped at min(checkpoint context, 2048). |
| `min_tokens` | integer | `50` | Minimum generated speech tokens before EOS may stop generation. |
## Session Options (use with `--session-option`)
| Option | Values | Default | Meaning |
|---|---|---:|---|
| `neutts.weight_type` | `native`, `f32`, `f16`, `bf16`, `q8_0` | `native` | Shared backbone and codec matmul weight storage type. |
| `neutts.generator_weight_type` | `native`, `f32`, `f16`, `bf16`, `q8_0` | see description | Generator weight storage; inherits explicit weight_type, otherwise F32 on CPU and native on other backends. |
| `neutts.codec_weight_type` | `native`, `f32`, `f16`, `bf16`, `q8_0` | `neutts.weight_type` or `native` | NeuCodec decoder matmul weight storage type. |
| `neutts.codec_conv_weight_type` | `native`, `f32`, `f16` | `native` | NeuCodec convolution weight storage type. |
| `neutts.runtime_graph_arena_mb` | integer MiB | `1024` | Reusable graph arena size. |