WideCodec β€” 44.1 kHz decoder

A 0.8 kbps, 44.1 kHz audio tokenizer. Decoder finetune of neuphonic/neucodec.

sample rate 44,100 Hz
tokens/sec 50
codebooks 1 (FSQ, levels=[4]Γ—8)
bitrate 0.8 kbps
hop 882

Codes are identical to base NeuCodec. Only the reconstruction sample rate and fidelity differ.

Quickstart

Everything needed is in this repo β€” the neucodec/ package and infer_widecodec.py.

pip install torch transformers huggingface_hub local-attention einops librosa soundfile
huggingface-cli download Scicom-intl/WideCodec --local-dir WideCodec
cd WideCodec
python infer_widecodec.py --input my.wav --out-dir out      # file or directory
import sys; sys.path.insert(0, "WideCodec")
import torch, librosa, soundfile as sf
from neucodec import NeuCodec

model = NeuCodec._from_pretrained(model_id="Scicom-intl/WideCodec", decoder_depth=20)
model = model.eval().cuda()

wav16, _ = librosa.load("my.wav", sr=16000, mono=True)   # encoder ingests 16 kHz mono
x = torch.from_numpy(wav16).float().view(1, 1, -1).cuda()
with torch.no_grad():
    codes = model.encode_code(x)       # 0.8 kbps, 50 tok/s
    wav44 = model.decode_code(codes)   # 44.1 kHz
sf.write("recon.wav", wav44.squeeze().cpu().numpy(), model.sample_rate)

decoder_depth=20 is required. The weights are a depth-20 decoder; any other value mismatches the architecture.

Benchmark

9,291 clips β€” 50 each from 188 clean β‰₯44.1 kHz datasets, 400+ language/dialect tags. faster-UTMOSv2 plus spectral measures against ground truth.

bitrate vs UTMOSv2

codec native SR tokens/s codebooks bitrate UTMOSv2 mel-L1 ↓ HFβ‰₯11k rolloff
ground truth β€” β€” β€” β€” 2.822 β€” 0.00244 8263
nvidia nemo44k 44.1k ~86 RVQ (many) ~6–9 kbps 2.903 0.379 0.00196 8372
WideCodec (2026-08-16) 44.1k 50 1 ~0.8 kbps 2.919 0.571 0.00223 9011
WideCodec (2026-07-21) 44.1k 50 1 ~0.8 kbps 2.788 0.571 0.00223 9011
dac 44.1k 86 9 ~8 kbps 2.672 0.341 0.00156 8185
snac44k 44.1k multi-scale 3–4 ~2.6 kbps 2.340 0.493 0.00158 8402
encodec48k 48k 150 RVQ 24 kbps 2.042 0.458 0.00169 8800

UTMOSv2 2.919 β€” above ground truth (2.822), level with NVIDIA NeMo-44k (2.903), at about a tenth of its bitrate.

Bitrate = frame rate Γ— Ξ£ logβ‚‚(codebook size). Here: 8 Β· logβ‚‚4 = 16 bits/frame Γ— 50 frames/s = 800 bps. DAC: 9 codebooks Γ— 10 bits Γ— 86 fps β‰ˆ 8 kbps.

release progression

The 2026-08-16 release gained +0.131 UTMOSv2 over the previous one at unchanged content accuracy β€” CV22 macro CER 7.70% for both, inside the Β±0.25 pt run-to-run spread. Same architecture, same losses, same 50 tokens/s and single codebook. Only the training corpus changed, to clean DNSMOS-gated β‰₯44.1 kHz audio.

Not a benchmark artifact: on a held-out set of 1,330 clips from 138 sources absent from training it scores 2.807 against 2.654 (+0.153, paired t = +14.2), and PESQ-WB improves too (+0.017, t = +7.5). Naturalness and fidelity moved together.

Full report: evaluation/REPORT_44k_class_codecs.md.

Files and revisions

file what
pytorch_model.bin decoder weights for inference
last.ckpt full Lightning checkpoint with optimizer states, for resuming training

Two training stages. main points at the latest.

stage data how to load
1 β€” noisy mix (steps 0β†’1.58M) 8 base corpora + scale44k, ~6,500 h, mostly noisy crowdsourced/podcast pin revision d2c612f4319c1c1e0c65a9431a7d6db1b7955ce0
2 β€” clean finetune (from 1.58M) TTS-Clean44k + Clean-Podcast + clean-teacher pool + EARS/Expresso main
model = NeuCodec._from_pretrained(
    model_id="Scicom-intl/WideCodec",
    decoder_depth=20,
    revision="d2c612f4319c1c1e0c65a9431a7d6db1b7955ce0",   # stage 1
)

Training data

High-sample-rate human speech, no synthetic TTS. The scale-up group is SR-verified β‰₯ 44 kHz (probed before inclusion).

Base corpora:

dataset content
malaysia-ai/malaysian-podcast-youtube Malay long-form podcasts (~2,234 h)
malaysia-ai/singaporean-podcast-youtube Singaporean English podcasts (~1,255 h)
malaysia-ai/Multilingual-TTS CommonVoice-sidon multilingual short clips
malaysia-ai/malaysian-cartoons-youtube 48 kHz cartoon dialogue
malaysia-ai/malaysian-movie-youtube 48 kHz Malay movie dialogue
ylacombe/expresso 48 kHz expressive read speech
nytopop/expresso-conversational 48 kHz improvised dialogue
EARS 48 kHz anechoic fullband

Scale-up: 336 further datasets (162 at 48 kHz, 174 at 44.1 kHz), mirrored as <name>*audio.zip in malaysia-ai/Multilingual-TTS. The decoder is language-agnostic β€” the codebook is frozen β€” so this is for acoustic diversity.

Full list of 336 β‰₯ 44 kHz source datasets
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Collection including Scicom-intl/WideCodec