rlx-mimi
Native Rust inference for Kyutai Mimi — a streaming neural audio codec at 12.5 Hz / 24 kHz mono.
Quick start
# Download weights (~385 MB)
# Encode + decode roundtrip (CPU eager — HF safetensors layout)
# Candle parity oracle (DEV ONLY) — cross-checks the native codec; needs Moshi sidecar weights
# contains tokenizer-e351c8d8-checkpoint125.safetensors
Backends
| Device | Engine |
|---|---|
cpu |
Native rlx graph (HF kyutai/mimi weights) |
metal / mlx / cuda |
Native rlx graph |
wgpu / vulkan |
Native rlx graph (gpu/vulkan) |
The candle/moshi codec is retained only as a dev parity oracle behind
parity-mimi (cross-check the native graph): cargo build -p rlx-mimi --features "parity-mimi-metal,metal".
GPU path loads tokenizer-e351c8d8-checkpoint125.safetensors from RLX_MOSHI_DIR or the mimi dir (not model.safetensors HF layout).
Library
use ;
use Device;
let mut codec = open_on_with_moshi?;
let codes: MimiCodes = codec.encode_wav?;
let recon = codec.decode_codes?;
Set RLX_MIMI_DIR to skip --model-dir. Input WAVs are resampled to 24 kHz.
Weights
| Artifact | HuggingFace |
|---|---|
| HF Mimi (CPU) | kyutai/mimi |
| Candle Mimi (GPU) | sidecar in kyutai/moshiko-candle-bf16 |
Tests
RLX_MIMI_GPU_SMOKE=1