Views
No views yet
| Parameters | 1.01 B |
| Format | MLX safetensors (quantized linear layers + fp16 features) |
| Quantization | 4-bit per-group min-max, group size 64 |
| Encoder layers | 48 |
| Encoder dim | 1280 |
| Attention heads | 20 |
| FFN dim | 5120 |
| Sample rate | 16 kHz (raw waveform input) |
| Frame rate | 50 fps |
| Max duration | 40 s |
| Languages | 1,600+ |
| Vocabulary | 10,288 SentencePiece tokens |
| File | Size | Description |
|---|---|---|
model.safetensors | 549 MB | 4-bit quantized transformer weights + fp16 conv frontend |
tokenizer.model | 1.2 MB | SentencePiece tokenizer (unk=3, pad=1, eos=2, bos=0) |
config.json | <1 KB | Architecture + quantization metadata |
Raw audio [1, samples]
→ Wav2Vec2FeatureExtractor (7-layer 1D conv, stride 320×)
→ Linear 512 → 1280
→ Wav2Vec2PositionEncoder (weight-normalized conv, kernel 128, groups 16)
→ 48 × StandardTransformerEncoderLayer (pre-norm, dim 1280, heads 20, ffn 5120)
→ LayerNorm
→ Linear 1280 → 10288 (CTC head)
→ logits [1, T/320, 10288]1import mlx.core as mx
2from safetensors import safe_open
3
4weights = {}
5with safe_open("model.safetensors", framework="mlx") as f:
6 for k in f.keys():
7 weights[k] = f.get_tensor(k)
8
9# Your MLX wav2vec2 + CTC implementation consumes these keys.
10# Input : float32 audio [1, samples] at 16 kHz, zero-mean unit-var
11# Output: logits [1, T, 10288] then CTC greedy decode via tokenizer.model