4.6 KiB
MagpieTTS
MagpieTTS Multilingual 357M is wired as --family magpie_tts for offline text
to speech. It uses baked speaker context prompts, a decoder transformer, an
autoregressive local transformer, and NanoCodec waveform decoding.
Install
python3 tools/model_manager_v2.py install magpie_tts_orig
The default package installs a standalone GGUF directory:
models/MagpieTTS-Multilingual-357M-GGUF
Quick Start
audiocpp_cli --task tts --family magpie_tts \
--model models/MagpieTTS-Multilingual-357M-GGUF \
--backend cuda \
--language en \
--text "The production coordinator reviewed the overnight audio report and sent one clear update." \
--voice-id Sofia \
--out out.wav
German example:
audiocpp_cli --task tts --family magpie_tts \
--model models/MagpieTTS-Multilingual-357M-GGUF \
--backend cuda \
--language de \
--text "Das Team überprüfte am Morgen die Aufzeichnungen und bereitete einen kurzen Bericht vor." \
--request-option voice_id=Jason \
--out out_de.wav
Model
| Field | Value |
|---|---|
| Family | magpie_tts |
| Task | tts |
| Modes | offline |
| Model directory | models/MagpieTTS-Multilingual-357M-GGUF |
| Languages | ar-AE, ar-MSA, ar-SA, de, en, es, fr, hi, it, ko, pt-BR, vi, zh |
| Voice input | Baked voice prompt through voice_id |
| Reference cloning | Not exposed by this integration |
Language note: the upstream NVIDIA checkpoint advertises 12 languages,
including Japanese (ja). The current audio.cpp integration exposes only the
language frontends listed above. The standalone GGUF embeds the model config and
sidecar resources, but Japanese requires NeMo's JapanesePhonemeTokenizer /
JapaneseKatakanaAccentG2p path backed by OpenJTalk-style text processing.
That tokenizer path has not been ported to the native C++ frontend yet, so
ja is intentionally not listed as supported here.
voice_id accepts either a baked speaker name from the package speaker map or a
numeric speaker index. --voice-id takes precedence over
--request-option voice_id=...; both forms select the same baked voices.
Common Options (use directly)
| Option | Values | Default | Meaning |
|---|---|---|---|
--language |
language code | en |
Target synthesis language used by the Magpie text frontend. |
--temperature |
float >= 0 | 0.6 |
Audio-token sampling temperature. |
--top-k |
integer > 0 | 80 |
Audio-token top-k sampling limit. |
--guidance-scale |
float >= 0 | 2.5 |
Classifier-free guidance scale for decoder logits. |
--max-tokens |
integer > 0 | 500 |
Maximum decoder frames per text segment. |
--text-chunk-size |
integer > 0 | 100 or 300 |
Long-form text chunk budget: 100 for zh and ko, otherwise 300. Each chunk is generated within max_tokens. |
--text-chunk-mode |
default, tag_aware, japanese, endline |
default |
Framework text chunking mode. |
--seed |
integer >= 0 | 0 |
Audio-token sampling seed. |
Request Options (use with --request-option)
| Option | Values | Default | Meaning |
|---|---|---|---|
language |
language code | en |
Target synthesis language used by the Magpie text frontend. |
voice_id |
Aria, Jason, John, Leo, Sofia, or numeric index |
0 |
Packaged MagpieTTS voice name; default Aria. Numeric speaker index strings are also accepted within the checkpoint speaker count. |
temperature |
float >= 0 | 0.6 |
Audio-token sampling temperature. |
top_k |
integer > 0 | 80 |
Audio-token top-k sampling limit. |
guidance_scale |
float >= 0 | 2.5 |
Classifier-free guidance scale for decoder logits. |
max_tokens |
integer > 0 | 500 |
Maximum decoder frames per text segment. |
text_chunk_size |
integer > 0 | 100 or 300 |
Long-form text chunk budget: 100 for zh and ko, otherwise 300. Each chunk is generated within max_tokens. |
text_chunk_mode |
default, tag_aware, japanese, endline |
default |
Framework text chunking mode. |
seed |
integer >= 0 | 0 |
Audio-token sampling seed. |
Session Options (use with --session-option)
| Option | Values | Default | Meaning |
|---|---|---|---|
magpie_tts.graph_arena_mb |
integer MiB | 1024 |
Reusable graph arena size for Magpie stages. |
magpie_tts.weight_context_mb |
integer MiB | 2048 |
Weight metadata arena size. |
magpie_tts.weight_type |
native, f32, f16, bf16, q8_0 |
native |
Matmul weight storage type when supported. |
magpie_tts.conv_weight_type |
native, f32, f16 |
native |
Convolution weight storage type when supported. |