File size: 4,217 Bytes
970612e 7f9b7b7 970612e 034c494 970612e be86cc8 970612e 474b11a 970612e 474b11a 970612e 474b11a 4b57eab 474b11a 970612e 7f9b7b7 970612e 4b57eab 474b11a 242b296 be86cc8 242b296 be86cc8 242b296 be86cc8 242b296 be86cc8 242b296 be86cc8 242b296 be86cc8 242b296 be86cc8 242b296 474b11a be86cc8 970612e 474b11a 970612e 474b11a 970612e 474b11a 970612e 474b11a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | ---
license: apache-2.0
pipeline_tag: text-to-speech
library_name: rlx
tags:
- soprano
- rlxp
- tts
- rlx
---
# Soprano 1.1 (RLX)
Single runnable `soprano.rlxp`: nested native backbone + Vocos packs (no ONNX on Hub).
| Field | Value |
|---|---|
| **Hub id** | [`eugenehp/soprano`](https://huggingface.co/eugenehp/soprano) |
| **Kind** | RLX-native weight bundle (graphs + sidecars ready for `rlx-*` crates). |
| **RLX crate** | [`rlx-soprano`](https://github.com/MIT-RLX/rlx-models/tree/main/crates/rlx-soprano) |
| **Upstream** | https://huggingface.co/KevinAHM/soprano-1.1-onnx |
## Quick start
```bash
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).
```text
[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
| Field | Value |
|---|---|
| **File** | `soprano.rlxp` (244.9 MiB) |
| **Manifest name** | `soprano` |
| **Producer** | `rlx-assets` |
| **Container** | RLXPFLAT v2, flags=0x1 |
| **Tensors** | 0 |
| **Sidecars** | 10 |
### 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.
| Sidecar | Raw | Stored | Role |
|---|---:|---:|---|
| `.gitattributes` | 695 B | 136 B | |
| `LICENSE` | 11.1 KiB | 4.0 KiB | |
| `README.md` | 3.5 KiB | 1.7 KiB | |
| `config.json` | 1.1 KiB | 426 B | |
| `generation_config.json` | 111 B | 95 B | |
| `graphs/soprano_backbone_kv_fp32.rlxp` | 304.4 MiB | 137.6 MiB | Nested backbone pack |
| `graphs/soprano_decoder_fp32.rlxp` | 115.8 MiB | 107.2 MiB | Nested Vocos pack |
| `special_tokens_map.json` | 142 B | 104 B | |
| `tokenizer.json` | 1.6 MiB | 31.8 KiB | Text tokenizer |
| `tokenizer_config.json` | 1.3 MiB | 18.2 KiB | |
### Architecture
**Pipeline:** text β tokenizer β AR backbone (KV cache) β Vocos decoder β 32 kHz mono.
| Module | Role | Dims | dtype |
|---|---|---|---|
| `soprano_backbone_kv_fp32` | 17-layer AR LM + KV | hidden 512, head_dim 128, vocab 8192 | f32 |
| `soprano_decoder_fp32` | Vocos vocoder | TOKEN_SIZE 2048 | f32 |
| `tokenizer.json` | text tokenizer | β | β |
### Logical tree
```text
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](https://github.com/MIT-RLX/rlx-models), place this repo under `weights/tts/soprano` (or pass the path explicitly), then:
```bash
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](https://github.com/MIT-RLX/rlx-models) via `python3 scripts/prepare_weights_hf.py`.
|