Sidon GGUF (quant ladder)
GGUF conversions of SaruLab Sidon v0.1, a multilingual speech-restoration model that removes noise and reverberation and restores speech bandwidth (16 kHz in → 48 kHz out). Packaged for native, no-PyTorch inference with CrispASR.
The model is the first eight layers of w2v-BERT 2.0 with the Sidon LoRA adapter merged, followed by Sidon's continuous DAC decoder. The SeamlessM4T log-mel window and filter bank are embedded in the GGUF. Port by @KevinAHM (CrispASR PR #283); this repo adds the quantization ladder.
Files
| File | Precision | Size | Notes |
|---|---|---|---|
sidon-v0.1-f16.gguf |
FP16 weights, FP32 norms/biases | 470 MiB | Reference. Byte-identical to KevinAHM/Sidon-GGUF. |
sidon-v0.1-q8_0.gguf |
Q8_0 predictor matmuls | 320 MiB | Highest-fidelity quant. |
sidon-v0.1-q6_k.gguf |
Q6_K predictor matmuls | 281 MiB | Balanced. |
sidon-v0.1-q4_k.gguf |
Q4_K predictor matmuls | 240 MiB | Smallest. Intelligible, but see fidelity note. |
Only the w2v-BERT predictor's large linear weights are quantized; the DAC decoder convolutions and all
norms/biases/Snake alpha parameters are kept at their original precision.
Fidelity
Validated by ASR round-trip (Whisper base.en) on the restored output — the metric that matters for a
restoration model, since output-waveform correlation understates perceptual quality:
| Quant | ASR round-trip (JFK clip) | Output-waveform corr. vs F16 |
|---|---|---|
| F16 | WER 0 (exact transcript) | 1.000 |
| Q8_0 | WER 0 | r ≈ 0.99, SNR ≈ 16 dB |
| Q4_K | WER 0 | r ≈ 0.61, SNR ≈ 1 dB |
All quants restore fully intelligible speech (WER 0). Q4_K's low waveform correlation means its fine restored detail diverges from F16 even though intelligibility is preserved; prefer Q8_0 or Q6_K when output fidelity to the reference matters, and Q4_K when size is the priority.
Validation against the original model
The GGUF port was checked against the upstream SaruLab TorchScript modules
(feature_extractor_cpu.pt + decoder_cpu.pt) on the JFK clip:
| Stage | Metric | Result |
|---|---|---|
| Predictor handoff (w2v-BERT) | cosine, our F16 vs upstream F32 | 0.998 |
| End-to-end 48 kHz output | Pearson r | 0.945 |
| ASR round-trip (Whisper base.en) | transcription | identical |
The predictor reproduces the original almost exactly (0.998); the end-to-end
drop to 0.945 is the continuous-DAC decoder amplifying F16 weight-rounding
through its Snake activations, not a port error — the restored speech is
functionally identical (same transcription). The reference intermediates used
for this check are published here as sidon-ref.gguf (input_16k,
predictor_feats, output_48k) with sidon-ref-48k.wav; regenerate with
tools/reference_backends/sidon_ref_dump.py and re-run our side with
CRISPASR_SIDON_DUMP_HANDOFF=<path>.
CrispASR usage
crispasr --s2s -m sidon-v0.1-q8_0.gguf -f input.wav --s2s-output restored-48khz.wav
CrispASR auto-detects the sidon architecture from GGUF metadata. The S2S interface processes a complete clip and
returns a complete restored clip (not streaming). GPU: --gpu-backend cuda / --gpu-backend vulkan.
Long inputs: the predictor uses O(T²) self-attention (~50 feature frames/sec). Inputs are capped at ~60 s
(3000 frames) by default and fail cleanly past that; raise CRISPASR_SIDON_MAX_FRAMES if you have the memory.
Conversion
# F16 from upstream weights:
python models/convert-sidon-to-gguf.py --base w2v-bert-2.0 --sidon sidon_raw_weight --out sidon-v0.1-f16.gguf
# quants:
crispasr-quantize sidon-v0.1-f16.gguf sidon-v0.1-q4_k.gguf q4_k
- Downloads last month
- 323