eugenehp's picture
Update model card: rlx_bundle merge layout and just fetch recipe
81afc1e verified
|
Raw
History Blame Contribute Delete
3.47 kB
---
license: other
base_model: KittenML/kitten-tts-mini-0.8
tags:
- rlx
- text-to-speech
- onnx
- safetensors
library_name: rlx-models
---
# Kitten TTS mini 0.8 — RLX bundle
RLX compile bundle for [KittenML/kitten-tts-mini-0.8](https://huggingface.co/KittenML/kitten-tts-mini-0.8). Replaces ONNX Runtime at inference time: `rlx-kittentts` loads `graph.json` + `weights.safetensors`, lowers to RLX HIR, and compiles with `rlx-runtime`.
**Upstream weights (required):** download [KittenML/kitten-tts-mini-0.8](https://huggingface.co/KittenML/kitten-tts-mini-0.8) for `config.json` and `voices.npz`.
## Files
| File | Description |
|------|-------------|
| `graph.json` | RLX graph IR (3006 nodes) |
| `weights.safetensors` | Decomposed model weights (~350 MB) |
| `manifest.json` | Export metadata (op histogram, I/O shapes) |
## Quick start
```bash
# From rlx-models root
just fetch-kittentts
just fetch-kitten-rlx-bundle
just kittentts -- --native --ipa "həˈloʊ" --voice Jasper --out-wav out.wav
```
Manual download:
```bash
# 1. Upstream ONNX checkpoint + voices
hf download KittenML/kitten-tts-mini-0.8 --local-dir .cache/kittentts-mini-0.8
# 2. This RLX bundle (into rlx_bundle/ subdirectory)
hf download eugenehp/kitten-tts-mini-0.8-rlx --local-dir .cache/kittentts-mini-0.8/rlx_bundle
# 3. Sentinel file for native auto-detection
ln -sf rlx_bundle/weights.safetensors .cache/kittentts-mini-0.8/model.safetensors
# 4. Synthesize (from rlx-models checkout)
cargo run -p rlx-kittentts --features native --release -- \
--model-dir .cache/kittentts-mini-0.8 \
--native --ipa "həˈloʊ" --voice Jasper --out-wav out.wav
```
## Layout after merge
```text
.cache/kittentts-mini-0.8/
config.json # from KittenML
voices.npz # from KittenML
kitten_tts_mini_v0_8.onnx
model.safetensors # symlink → rlx_bundle/weights.safetensors
rlx_bundle/ # this repo
graph.json
manifest.json
weights.safetensors
```
Alternatively, set `RLX_ONNX_BUNDLE` to the bundle directory path.
## Environment variables
| Variable | Purpose |
|----------|---------|
| `RLX_KITTENTTS_DIR` | Model directory (default: `.cache/kittentts-mini-0.8`) |
| `RLX_ONNX_BUNDLE` | Bundle directory if not co-located with weights |
| `KITTEN_RLX_WEIGHTS` | Directory containing `model.safetensors` |
| `KITTEN_RLX_BUNDLE` | Legacy alias for `RLX_ONNX_BUNDLE` |
| `KITTEN_RLX_HF_REPO` | Override RLX bundle HF repo (default: `eugenehp/kitten-tts-mini-0.8-rlx`) |
## Re-export
From [MIT-RLX/rlx-models](https://github.com/MIT-RLX/rlx-models):
```bash
just fetch-kittentts
just export-kitten-rlx-bundle
```
Requires: `pip install onnx onnxshape numpy safetensors`
## Crates
| Crate | Role |
|-------|------|
| [`kitten_tts_mini_rlx`](https://crates.io/crates/kitten_tts_mini_rlx) | Bundle → HIR → compile |
| [`rlx-kittentts`](https://crates.io/crates/rlx-kittentts) | CLI + library (`--features native`) |
## Inputs / outputs
| Tensor | Shape | dtype |
|--------|-------|-------|
| `input_ids` | `[1, sequence_length]` | i64 |
| `style` | `[1, 256]` | f32 |
| `speed` | `[1]` | f32 |
| `waveform` | `[num_samples]` | f32 (output) |
| `duration` | dynamic | i64 (output) |
## License
Derived from [KittenML/kitten-tts-mini-0.8](https://huggingface.co/KittenML/kitten-tts-mini-0.8) — follow the upstream model license. RLX tooling ([rlx-models](https://github.com/MIT-RLX/rlx-models)) is GPL-3.0.