Single-file RLX FastSpeech2 + WaveRNN TTS as rlx-tts.rlxp.
| Field | Value |
|---|---|
| Hub id | eugenehp/rlx-tts |
| Kind | RLX-native weight bundle (graphs + sidecars ready for rlx-* crates). |
| RLX crate | rlx-tts |
just fetch-rlx-tts # or: hf download eugenehp/rlx-tts rlx-tts.rlxp --local-dir weights/tts/rlx-tts
just fetch-rlx-tts && just tts-demo
rlx-tts.rlxp — 160.0 MiBHub ships rlx-tts.rlxp only. Pack locally with just export-rlx-tts-rlxp.
.rlxp)Tensor + frontend pack: FastSpeech2 encoder/decoder and WaveRNN weights in the hot region; G2P / lexicon / neural frontend files as cold sidecars.
Official RLX package format (RLXPFLAT, container v2).
[0..8) magic RLXPFLAT
[8..12) version u32 LE (= 2)
[12..16) flags u32 LE (hybrid hot/warm/cold)
[16..24) toc_len u64 LE
[24..) TOC JSON table of contents
data region 64-byte aligned payloads
The TOC lists tensors (named weight blobs) and/or sidecars (files: ONNX, tokenizers, manifests, …). Sidecars are usually cold + zstd; model weights in tensor packs are hot + uncompressed for mmap. Runtime crates open the pack directly (or materialize sidecars to a temp dir for asset-only packs).
| Field | Value |
|---|---|
| File | rlx-tts.rlxp (160.0 MiB) |
| Manifest name | rlx-tts |
| Producer | rlx-tts |
| Container | RLXPFLAT v2, flags=0x1 |
| Tensors | 281 |
| Sidecars | 15 |
All acoustic weights are f32 row-major, hot (uncompressed).
All tensors are mmap'd from the hot region (schemes: f32×281).
| Prefix | Tensors | Stored | Role |
|---|---|---|---|
encoder.* | 198 | 111.3 MiB | FastSpeech2 encoder + variance adaptor |
decoder.* | 55 | 18.5 MiB | FastSpeech2 mel decoder |
wavernn.* | 28 | 7.1 MiB | WaveRNN vocoder |
Text-normalization / G2P assets used before the acoustic model.
Paths below are logical ids inside the pack (__flat__/sidecar/<id>).
Cold sidecars are zstd-compressed; sizes show raw → stored.
| Sidecar | Raw | Stored | Role |
|---|---|---|---|
frontend/g2p_post_rule.dat | 2.8 KiB | 416 B | G2P post rules |
frontend/rewrite_rule.dat | 7.0 MiB | 472.1 KiB | Rewrite transducer rules |
frontend/g2p_seq2seq.safetensors | 28.9 MiB | 22.1 MiB | Seq2seq G2P checkpoint |
frontend/g2p_lhp_rule.dat | 8.5 KiB | 989 B | G2P LHP rules |
frontend/tn_prefix_rule.dat | 913.3 KiB | 72.7 KiB | Text-norm prefix rules |
manifest.json | 3.7 KiB | 1.4 KiB | Bundle manifest (sample rate, paths, versions) |
neural_fe_config.json | 3.6 KiB | 1.2 KiB | Neural frontend config |
post.cfg | 8.3 KiB | 1.7 KiB | Post-filter / WaveRNN post config |
symmap.json | 1.1 KiB | 390 B | Symbol map |
frontend/gprm_index.json | 119 B | 95 B | GPRM index |
frontend/rewrite_map.json | 102 B | 87 B | Rewrite map |
frontend/nashville_isym_phones.json | 273.5 KiB | 37.0 KiB | Phone inventory |
frontend/phonetic/to_lhp.json | 1.1 KiB | 360 B | Phone → LHP map |
lexicon.txt | 200 B | 146 B | Lexicon overrides |
frontend/g2p_bpe.json | 1.6 MiB | 347.4 KiB | G2P BPE vocab |
Pipeline: text → G2P frontend → FastSpeech2 encoder → mel decoder → WaveRNN → WAV.
| Prefix | Role | dtype |
|---|---|---|
encoder.* | FastSpeech2 + variance adaptor | f32 |
decoder.* | mel decoder | f32 |
wavernn.* | vocoder | f32 |
rlx-tts.rlxp
├── tensors/
│ ├── encoder.* # FastSpeech2
│ ├── decoder.*
│ └── wavernn.* # vocoder
└── sidecars/
├── manifest.json / neural_fe_config.json / post.cfg / symmap.json
├── lexicon.txt
└── frontend/ # G2P + TN rules + safetensors
just export-rlx-tts-rlxp → rlx-tts --pack-rlxp. Converts local rlx-tts.gguf or packs encoder/decoder/wavernn safetensors + frontend files from the bundle dir.
Hub ships .rlxp only. A local legacy rlx-tts.gguf still loads if present.
Clone rlx-models, place this repo under weights/tts/rlx-tts (or pass the path explicitly), then:
just fetch-rlx-tts && just tts-demo
Apache License 2.0 — see LICENSE. Inherit upstream terms when redistributing.
Cards and LFS attrs are regenerated from the local weights/ tree in rlx-models via python3 scripts/prepare_weights_hf.py.
9 commits
Single-file RLX FastSpeech2 + WaveRNN TTS as rlx-tts.rlxp.
| Field | Value |
|---|---|
| Hub id | eugenehp/rlx-tts |
| Kind | RLX-native weight bundle (graphs + sidecars ready for rlx-* crates). |
| RLX crate | rlx-tts |
just fetch-rlx-tts # or: hf download eugenehp/rlx-tts rlx-tts.rlxp --local-dir weights/tts/rlx-tts
just fetch-rlx-tts && just tts-demo
rlx-tts.rlxp — 160.0 MiBHub ships rlx-tts.rlxp only. Pack locally with just export-rlx-tts-rlxp.
.rlxp)Tensor + frontend pack: FastSpeech2 encoder/decoder and WaveRNN weights in the hot region; G2P / lexicon / neural frontend files as cold sidecars.
Official RLX package format (RLXPFLAT, container v2).
[0..8) magic RLXPFLAT
[8..12) version u32 LE (= 2)
[12..16) flags u32 LE (hybrid hot/warm/cold)
[16..24) toc_len u64 LE
[24..) TOC JSON table of contents
data region 64-byte aligned payloads
The TOC lists tensors (named weight blobs) and/or sidecars (files: ONNX, tokenizers, manifests, …). Sidecars are usually cold + zstd; model weights in tensor packs are hot + uncompressed for mmap. Runtime crates open the pack directly (or materialize sidecars to a temp dir for asset-only packs).
| Field | Value |
|---|---|
| File | rlx-tts.rlxp (160.0 MiB) |
| Manifest name | rlx-tts |
| Producer | rlx-tts |
| Container | RLXPFLAT v2, flags=0x1 |
| Tensors | 281 |
| Sidecars | 15 |
All acoustic weights are f32 row-major, hot (uncompressed).
All tensors are mmap'd from the hot region (schemes: f32×281).
| Prefix | Tensors | Stored | Role |
|---|---|---|---|
encoder.* | 198 | 111.3 MiB | FastSpeech2 encoder + variance adaptor |
decoder.* | 55 | 18.5 MiB | FastSpeech2 mel decoder |
wavernn.* | 28 | 7.1 MiB | WaveRNN vocoder |
Text-normalization / G2P assets used before the acoustic model.
Paths below are logical ids inside the pack (__flat__/sidecar/<id>).
Cold sidecars are zstd-compressed; sizes show raw → stored.
| Sidecar | Raw | Stored | Role |
|---|---|---|---|
frontend/g2p_post_rule.dat | 2.8 KiB | 416 B | G2P post rules |
frontend/rewrite_rule.dat | 7.0 MiB | 472.1 KiB | Rewrite transducer rules |
frontend/g2p_seq2seq.safetensors | 28.9 MiB | 22.1 MiB | Seq2seq G2P checkpoint |
frontend/g2p_lhp_rule.dat | 8.5 KiB | 989 B | G2P LHP rules |
frontend/tn_prefix_rule.dat | 913.3 KiB | 72.7 KiB | Text-norm prefix rules |
manifest.json | 3.7 KiB | 1.4 KiB | Bundle manifest (sample rate, paths, versions) |
neural_fe_config.json | 3.6 KiB | 1.2 KiB | Neural frontend config |
post.cfg | 8.3 KiB | 1.7 KiB | Post-filter / WaveRNN post config |
symmap.json | 1.1 KiB | 390 B | Symbol map |
frontend/gprm_index.json | 119 B | 95 B | GPRM index |
frontend/rewrite_map.json | 102 B | 87 B | Rewrite map |
frontend/nashville_isym_phones.json | 273.5 KiB | 37.0 KiB | Phone inventory |
frontend/phonetic/to_lhp.json | 1.1 KiB | 360 B | Phone → LHP map |
lexicon.txt | 200 B | 146 B | Lexicon overrides |
frontend/g2p_bpe.json | 1.6 MiB | 347.4 KiB | G2P BPE vocab |
Pipeline: text → G2P frontend → FastSpeech2 encoder → mel decoder → WaveRNN → WAV.
| Prefix | Role | dtype |
|---|---|---|
encoder.* | FastSpeech2 + variance adaptor | f32 |
decoder.* | mel decoder | f32 |
wavernn.* | vocoder | f32 |
rlx-tts.rlxp
├── tensors/
│ ├── encoder.* # FastSpeech2
│ ├── decoder.*
│ └── wavernn.* # vocoder
└── sidecars/
├── manifest.json / neural_fe_config.json / post.cfg / symmap.json
├── lexicon.txt
└── frontend/ # G2P + TN rules + safetensors
just export-rlx-tts-rlxp → rlx-tts --pack-rlxp. Converts local rlx-tts.gguf or packs encoder/decoder/wavernn safetensors + frontend files from the bundle dir.
Hub ships .rlxp only. A local legacy rlx-tts.gguf still loads if present.
Clone rlx-models, place this repo under weights/tts/rlx-tts (or pass the path explicitly), then:
just fetch-rlx-tts && just tts-demo
Apache License 2.0 — see LICENSE. Inherit upstream terms when redistributing.
Cards and LFS attrs are regenerated from the local weights/ tree in rlx-models via python3 scripts/prepare_weights_hf.py.
9 commits