eugenehp/soprano

Model

0

stars

20

commits

1

linked in READMEs

Jul 24, 2026

updated

qwen3
rlx
rlxp
soprano
text-to-speech
tts

README

Soprano 1.1 (RLX)

Single runnable soprano.rlxp: nested native backbone + Vocos packs (no ONNX on Hub).

FieldValue
Hub ideugenehp/soprano
KindRLX-native weight bundle (graphs + sidecars ready for rlx-* crates).
RLX craterlx-soprano
Upstreamhttps://huggingface.co/KevinAHM/soprano-1.1-onnx

Quick start

just fetch-soprano   # or: hf download eugenehp/soprano soprano.rlxp --local-dir weights/tts/soprano
just fetch-soprano && just soprano-demo

Primary files (use these)

  • soprano.rlxp — 244.9 MiB

Contents

Hub ships soprano.rlxp only (nested graphs/*.rlxp + tokenizer). Pack locally with just export-soprano-rlxp. CPU / Metal / MLX / CUDA / wgpu.

Pack layout (.rlxp)

Outer RLXPFLAT with nested native subgraph packs for the Qwen3-style KV backbone and Vocos decoder. No .onnx on Hub.

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
Filesoprano.rlxp (244.9 MiB)
Manifest namesoprano
Producerrlx-assets
ContainerRLXPFLAT v2, flags=0x1
Tensors0
Sidecars10

Sidecars (file assets)

Neural weights live inside nested graphs/*.rlxp (hot mmap).

Paths below are logical ids inside the pack (__flat__/sidecar/<id>). Cold sidecars are zstd-compressed; sizes show raw → stored.

SidecarRawStoredRole
.gitattributes695 B136 B
LICENSE11.1 KiB4.0 KiB
README.md3.5 KiB1.7 KiB
config.json1.1 KiB426 B
generation_config.json111 B95 B
graphs/soprano_backbone_kv_fp32.rlxp304.4 MiB137.6 MiBNested backbone pack
graphs/soprano_decoder_fp32.rlxp115.8 MiB107.2 MiBNested Vocos pack
special_tokens_map.json142 B104 B
tokenizer.json1.6 MiB31.8 KiBText tokenizer
tokenizer_config.json1.3 MiB18.2 KiB

Architecture

Pipeline: text → tokenizer → AR backbone (KV cache) → Vocos decoder → 32 kHz mono.

ModuleRoleDimsdtype
soprano_backbone_kv_fp3217-layer AR LM + KVhidden 512, head_dim 128, vocab 8192f32
soprano_decoder_fp32Vocos vocoderTOKEN_SIZE 2048f32
tokenizer.jsontext tokenizer

Logical tree

soprano.rlxp
├── graphs/
│   ├── soprano_backbone_kv_fp32.rlxp
│   └── soprano_decoder_fp32.rlxp
└── tokenizer.json (+ HF tokenizer sidecars)

How it is packed

just export-soprano-rlxp — pack-time ONNX → nested graphs/*.rlxp. Hub has zero ONNX.

Note

Hub ships .rlxp only — no ONNX. Nested packs hold hot tensors + graph.json; runtime lowers per KV/seq bucket.

Run with RLX

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

just fetch-soprano && just soprano-demo

License

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

Original weights and authorship: https://huggingface.co/KevinAHM/soprano-1.1-onnx

Maintenance

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

Contributors

eugenehp

20 commits

eugenehp/soprano

Model

0

stars

20

commits

1

linked in READMEs

Jul 24, 2026

updated

qwen3
rlx
rlxp
soprano
text-to-speech
tts

README

Soprano 1.1 (RLX)

Single runnable soprano.rlxp: nested native backbone + Vocos packs (no ONNX on Hub).

FieldValue
Hub ideugenehp/soprano
KindRLX-native weight bundle (graphs + sidecars ready for rlx-* crates).
RLX craterlx-soprano
Upstreamhttps://huggingface.co/KevinAHM/soprano-1.1-onnx

Quick start

just fetch-soprano   # or: hf download eugenehp/soprano soprano.rlxp --local-dir weights/tts/soprano
just fetch-soprano && just soprano-demo

Primary files (use these)

  • soprano.rlxp — 244.9 MiB

Contents

Hub ships soprano.rlxp only (nested graphs/*.rlxp + tokenizer). Pack locally with just export-soprano-rlxp. CPU / Metal / MLX / CUDA / wgpu.

Pack layout (.rlxp)

Outer RLXPFLAT with nested native subgraph packs for the Qwen3-style KV backbone and Vocos decoder. No .onnx on Hub.

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
Filesoprano.rlxp (244.9 MiB)
Manifest namesoprano
Producerrlx-assets
ContainerRLXPFLAT v2, flags=0x1
Tensors0
Sidecars10

Sidecars (file assets)

Neural weights live inside nested graphs/*.rlxp (hot mmap).

Paths below are logical ids inside the pack (__flat__/sidecar/<id>). Cold sidecars are zstd-compressed; sizes show raw → stored.

SidecarRawStoredRole
.gitattributes695 B136 B
LICENSE11.1 KiB4.0 KiB
README.md3.5 KiB1.7 KiB
config.json1.1 KiB426 B
generation_config.json111 B95 B
graphs/soprano_backbone_kv_fp32.rlxp304.4 MiB137.6 MiBNested backbone pack
graphs/soprano_decoder_fp32.rlxp115.8 MiB107.2 MiBNested Vocos pack
special_tokens_map.json142 B104 B
tokenizer.json1.6 MiB31.8 KiBText tokenizer
tokenizer_config.json1.3 MiB18.2 KiB

Architecture

Pipeline: text → tokenizer → AR backbone (KV cache) → Vocos decoder → 32 kHz mono.

ModuleRoleDimsdtype
soprano_backbone_kv_fp3217-layer AR LM + KVhidden 512, head_dim 128, vocab 8192f32
soprano_decoder_fp32Vocos vocoderTOKEN_SIZE 2048f32
tokenizer.jsontext tokenizer

Logical tree

soprano.rlxp
├── graphs/
│   ├── soprano_backbone_kv_fp32.rlxp
│   └── soprano_decoder_fp32.rlxp
└── tokenizer.json (+ HF tokenizer sidecars)

How it is packed

just export-soprano-rlxp — pack-time ONNX → nested graphs/*.rlxp. Hub has zero ONNX.

Note

Hub ships .rlxp only — no ONNX. Nested packs hold hot tensors + graph.json; runtime lowers per KV/seq bucket.

Run with RLX

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

just fetch-soprano && just soprano-demo

License

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

Original weights and authorship: https://huggingface.co/KevinAHM/soprano-1.1-onnx

Maintenance

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

Contributors

eugenehp

20 commits