eugenehp/rlx-tts

Model

0

stars

9

commits

1

linked in READMEs

Jul 24, 2026

updated

rlx
rlxp
text-to-speech
tts

README

RLX TTS (FastSpeech2 + WaveRNN)

Single-file RLX FastSpeech2 + WaveRNN TTS as rlx-tts.rlxp.

FieldValue
Hub ideugenehp/rlx-tts
KindRLX-native weight bundle (graphs + sidecars ready for rlx-* crates).
RLX craterlx-tts

Quick start

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

Primary files (use these)

  • rlx-tts.rlxp — 160.0 MiB

Contents

Hub ships rlx-tts.rlxp only. Pack locally with just export-rlx-tts-rlxp.

Pack layout (.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).

This pack

FieldValue
Filerlx-tts.rlxp (160.0 MiB)
Manifest namerlx-tts
Producerrlx-tts
ContainerRLXPFLAT v2, flags=0x1
Tensors281
Sidecars15

Tensors (hot weight region)

All acoustic weights are f32 row-major, hot (uncompressed).

All tensors are mmap'd from the hot region (schemes: f32×281).

PrefixTensorsStoredRole
encoder.*198111.3 MiBFastSpeech2 encoder + variance adaptor
decoder.*5518.5 MiBFastSpeech2 mel decoder
wavernn.*287.1 MiBWaveRNN vocoder

Sidecars (file assets)

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.

SidecarRawStoredRole
frontend/g2p_post_rule.dat2.8 KiB416 BG2P post rules
frontend/rewrite_rule.dat7.0 MiB472.1 KiBRewrite transducer rules
frontend/g2p_seq2seq.safetensors28.9 MiB22.1 MiBSeq2seq G2P checkpoint
frontend/g2p_lhp_rule.dat8.5 KiB989 BG2P LHP rules
frontend/tn_prefix_rule.dat913.3 KiB72.7 KiBText-norm prefix rules
manifest.json3.7 KiB1.4 KiBBundle manifest (sample rate, paths, versions)
neural_fe_config.json3.6 KiB1.2 KiBNeural frontend config
post.cfg8.3 KiB1.7 KiBPost-filter / WaveRNN post config
symmap.json1.1 KiB390 BSymbol map
frontend/gprm_index.json119 B95 BGPRM index
frontend/rewrite_map.json102 B87 BRewrite map
frontend/nashville_isym_phones.json273.5 KiB37.0 KiBPhone inventory
frontend/phonetic/to_lhp.json1.1 KiB360 BPhone → LHP map
lexicon.txt200 B146 BLexicon overrides
frontend/g2p_bpe.json1.6 MiB347.4 KiBG2P BPE vocab

Architecture

Pipeline: text → G2P frontend → FastSpeech2 encoder → mel decoder → WaveRNN → WAV.

PrefixRoledtype
encoder.*FastSpeech2 + variance adaptorf32
decoder.*mel decoderf32
wavernn.*vocoderf32

Logical tree

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

How it is packed

just export-rlx-tts-rlxprlx-tts --pack-rlxp. Converts local rlx-tts.gguf or packs encoder/decoder/wavernn safetensors + frontend files from the bundle dir.

Note

Hub ships .rlxp only. A local legacy rlx-tts.gguf still loads if present.

Run with RLX

Clone rlx-models, place this repo under weights/tts/rlx-tts (or pass the path explicitly), then:

just fetch-rlx-tts && just tts-demo

License

Apache License 2.0 — see LICENSE. Inherit upstream terms when redistributing.

Maintenance

Cards and LFS attrs are regenerated from the local weights/ tree in rlx-models via python3 scripts/prepare_weights_hf.py.

Contributors

eugenehp

9 commits

eugenehp/rlx-tts

Model

0

stars

9

commits

1

linked in READMEs

Jul 24, 2026

updated

rlx
rlxp
text-to-speech
tts

README

RLX TTS (FastSpeech2 + WaveRNN)

Single-file RLX FastSpeech2 + WaveRNN TTS as rlx-tts.rlxp.

FieldValue
Hub ideugenehp/rlx-tts
KindRLX-native weight bundle (graphs + sidecars ready for rlx-* crates).
RLX craterlx-tts

Quick start

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

Primary files (use these)

  • rlx-tts.rlxp — 160.0 MiB

Contents

Hub ships rlx-tts.rlxp only. Pack locally with just export-rlx-tts-rlxp.

Pack layout (.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).

This pack

FieldValue
Filerlx-tts.rlxp (160.0 MiB)
Manifest namerlx-tts
Producerrlx-tts
ContainerRLXPFLAT v2, flags=0x1
Tensors281
Sidecars15

Tensors (hot weight region)

All acoustic weights are f32 row-major, hot (uncompressed).

All tensors are mmap'd from the hot region (schemes: f32×281).

PrefixTensorsStoredRole
encoder.*198111.3 MiBFastSpeech2 encoder + variance adaptor
decoder.*5518.5 MiBFastSpeech2 mel decoder
wavernn.*287.1 MiBWaveRNN vocoder

Sidecars (file assets)

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.

SidecarRawStoredRole
frontend/g2p_post_rule.dat2.8 KiB416 BG2P post rules
frontend/rewrite_rule.dat7.0 MiB472.1 KiBRewrite transducer rules
frontend/g2p_seq2seq.safetensors28.9 MiB22.1 MiBSeq2seq G2P checkpoint
frontend/g2p_lhp_rule.dat8.5 KiB989 BG2P LHP rules
frontend/tn_prefix_rule.dat913.3 KiB72.7 KiBText-norm prefix rules
manifest.json3.7 KiB1.4 KiBBundle manifest (sample rate, paths, versions)
neural_fe_config.json3.6 KiB1.2 KiBNeural frontend config
post.cfg8.3 KiB1.7 KiBPost-filter / WaveRNN post config
symmap.json1.1 KiB390 BSymbol map
frontend/gprm_index.json119 B95 BGPRM index
frontend/rewrite_map.json102 B87 BRewrite map
frontend/nashville_isym_phones.json273.5 KiB37.0 KiBPhone inventory
frontend/phonetic/to_lhp.json1.1 KiB360 BPhone → LHP map
lexicon.txt200 B146 BLexicon overrides
frontend/g2p_bpe.json1.6 MiB347.4 KiBG2P BPE vocab

Architecture

Pipeline: text → G2P frontend → FastSpeech2 encoder → mel decoder → WaveRNN → WAV.

PrefixRoledtype
encoder.*FastSpeech2 + variance adaptorf32
decoder.*mel decoderf32
wavernn.*vocoderf32

Logical tree

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

How it is packed

just export-rlx-tts-rlxprlx-tts --pack-rlxp. Converts local rlx-tts.gguf or packs encoder/decoder/wavernn safetensors + frontend files from the bundle dir.

Note

Hub ships .rlxp only. A local legacy rlx-tts.gguf still loads if present.

Run with RLX

Clone rlx-models, place this repo under weights/tts/rlx-tts (or pass the path explicitly), then:

just fetch-rlx-tts && just tts-demo

License

Apache License 2.0 — see LICENSE. Inherit upstream terms when redistributing.

Maintenance

Cards and LFS attrs are regenerated from the local weights/ tree in rlx-models via python3 scripts/prepare_weights_hf.py.

Contributors

eugenehp

9 commits