eugenehp/rlx-asr
RLX streaming Conformer ASR
Single-file RLX streaming ASR pack (frontend, VAD, Conformer, CTC, AED) as model.rlxp.
Quick start
just fetch-rlx-asr # or: hf download eugenehp/rlx-asr model.rlxp --local-dir weights/asr
just fetch-rlx-asr && cargo run -p rlx-asr --release -- transcribe --wav clip.wavPrimary files (use these)
model.rlxp— 591.6 MiB
Contents
Hub ships model.rlxp only. Pack locally with just asr-pack-rlxp (can convert from a local model.gguf).
Pack layout (.rlxp)
Tensor pack for streaming Conformer ASR: named weights plus CTC unit list and etiquette metadata as sidecars. No ONNX graphs — the RLX graph is built at runtime.
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 payloadsThe 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
Tensors (hot weight region)
Weights come from the former model.gguf (rlx-asr layout). Most are f32; a few codebook / index tensors are i8.
All tensors are mmap'd from the hot region (schemes: f32×263, i8×9).
Sidecars (file assets)
Text metadata only — no neural graphs in sidecars.
Paths below are logical ids inside the pack (__flat__/sidecar/<id>). Cold sidecars are zstd-compressed; sizes show raw → stored.
Architecture
Pipeline: frontend/encoder → Conformer → CTC/AED decode.
Logical tree
model.rlxp
├── tensors/ # hot mmap region
│ ├── encoder.* # Conformer
│ ├── decoder.* # AED head
│ ├── ls.* / codebook.* / tp.*
│ └── silence_fbank
└── sidecars/ # cold zstd
├── units.txt
└── etiquette.jsonHow it is packed
just asr-pack-rlxp → rlx-asr-pack-gguf --rlxp. Prefers converting an existing local model.gguf; otherwise packs from loose sources under .cache/asr / weights/asr.
Note
Hub ships .rlxp only. A local legacy model.gguf still loads if present.
Run with RLX
Clone rlx-models, place this repo under weights/asr (or pass the path explicitly), then:
just fetch-rlx-asr && cargo run -p rlx-asr --release -- transcribe --wav clip.wavLicense
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.
