RLX streaming Conformer ASR
Single-file RLX streaming ASR pack (frontend, VAD, Conformer, CTC, AED) as model.rlxp.
| Field | Value |
|---|---|
| Hub id | eugenehp/rlx-asr |
| Kind | RLX-native weight bundle (graphs + sidecars ready for rlx-* crates). |
| RLX crate | rlx-asr |
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.wav
Primary 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 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 | model.rlxp (591.6 MiB) |
| Manifest name | rlx-asr |
| Producer | rlx-asr |
| Container | RLXPFLAT v2, flags=0x1 |
| Tensors | 272 |
| Sidecars | 2 |
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).
| Prefix | Tensors | Stored | Role |
|---|---|---|---|
encoder.* |
239 | 540.9 MiB | Conformer encoder stack |
decoder.* |
10 | 43.8 MiB | AED / CTC projection (effective_We, β¦) |
ls.* |
10 | 5.1 MiB | Layer-scale / auxiliary layer tensors |
codebook.* |
8 | 1.0 MiB | Discrete codebook tables |
tp.* |
4 | 742.3 KiB | Token / projection helpers |
silence_fbank.* |
1 | 320 B | Silence filterbank reference |
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.
| Sidecar | Raw | Stored | Role |
|---|---|---|---|
units.txt |
41.7 KiB | 19.5 KiB | CTC / unit vocabulary (one symbol per line) |
etiquette.json |
8.4 KiB | 1.3 KiB | Pack etiquette / runtime metadata |
Architecture
Pipeline: frontend/encoder β Conformer β CTC/AED decode.
| Prefix | Role | dtype |
|---|---|---|
encoder.* |
Conformer stack | mostly f32 |
decoder.* |
AED / CTC head | f32 |
codebook.* |
discrete tables | f32 / i8 |
ls.* / tp.* |
layer-scale / projections | f32 |
Logical tree
model.rlxp
βββ tensors/ # hot mmap region
β βββ encoder.* # Conformer
β βββ decoder.* # AED head
β βββ ls.* / codebook.* / tp.*
β βββ silence_fbank
βββ sidecars/ # cold zstd
βββ units.txt
βββ etiquette.json
How 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.wav
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.