rlx-dac
Native Rust inference for Descript Audio Codec (DAC) — high-fidelity neural audio compression at 8–16 kbps.
Quick start
# Download 24 kHz safetensors (~285 MB, HuggingFace mirror)
# Encode + decode roundtrip (CPU eager)
Supported variants: 24khz (default), 16khz, 44khz.
Library
use ;
let codec = open?;
let codes: DacCodes = codec.encode_pcm?;
let recon = codec.decode_codes?;
Weights load from model.safetensors + config.json under RLX_DAC_DIR (default .cache/dac/24khz).
Weights
| Variant | HuggingFace (safetensors) |
|---|---|
| 24 kHz | hance-ai/descript-audio-codec-24khz |
| 16 kHz | hance-ai/descript-audio-codec-16khz |
| 44.1 kHz | hance-ai/descript-audio-codec-44khz |
Official .pth releases: descript-audio-codec releases. Convert to safetensors externally if needed; this crate loads safetensors only.
Tests
Reference parity uses baked fixture tests/fixtures/dac_24khz_synthetic.json (no Python at test time). Tests skip gracefully when weights are missing.