CoolFace
Modelpublic

eugenehp/rlx-asr

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes13downloads
Model Card

RLX streaming Conformer ASR

Single-file RLX streaming ASR pack (frontend, VAD, Conformer, CTC, AED) as model.rlxp.

FieldValue
Hub id`eugenehp/rlx-asr`
KindRLX-native weight bundle (graphs + sidecars ready for rlx-* crates).
RLX crate`rlx-asr`

Quick start

bash
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).

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

FieldValue
Filemodel.rlxp (591.6 MiB)
Manifest namerlx-asr
Producerrlx-asr
ContainerRLXPFLAT v2, flags=0x1
Tensors272
Sidecars2

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).

PrefixTensorsStoredRole
encoder.*239540.9 MiBConformer encoder stack
decoder.*1043.8 MiBAED / CTC projection (effective_We, …)
ls.*105.1 MiBLayer-scale / auxiliary layer tensors
codebook.*81.0 MiBDiscrete codebook tables
tp.*4742.3 KiBToken / projection helpers
silence_fbank.*1320 BSilence 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.

SidecarRawStoredRole
units.txt41.7 KiB19.5 KiBCTC / unit vocabulary (one symbol per line)
etiquette.json8.4 KiB1.3 KiBPack etiquette / runtime metadata

Architecture

Pipeline: frontend/encoder → Conformer → CTC/AED decode.

PrefixRoledtype
encoder.*Conformer stackmostly f32
decoder.*AED / CTC headf32
codebook.*discrete tablesf32 / i8
ls.* / tp.*layer-scale / projectionsf32

Logical tree

text
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-rlxprlx-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:

bash
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.