Downloads · 30 days
110
25% of all-time downloads
MarkusKaemmerer/Voxtral-Small-24B-2507-8bit-dense-encoder
Voxtral-Small-24B-2507-8bit-dense-encoder is a automatic speech recognition model from MarkusKaemmerer. Use it when you need speech turned into text. It is set up for mlx. The card lists the license as apache-2.0.
Voxtral Small (24B) quantised for Apple Silicon, built to be the highest-quality Voxtral build we could assemble rather than a practical everyday one: the language model and lmhead are 8 bit, and the audio encoder and…
Downloads · 30 days
110
25% of all-time downloads
All-time downloads
436
Public
Parameters
24.9B
27.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors27.1 GB · 100%
How the weights are stored.
U3224.2B · 97%
From the Hugging Face model README
Voxtral Small (24B)
quantised for Apple Silicon, built to be the highest-quality Voxtral build we
could assemble rather than a practical everyday one: the language model and
lm_head are 8 bit, and the audio encoder and its projector are left in bf16.
| value | |
|---|---|
| size | 25 GB |
| average bits/weight | 8.71 |
| minimum RAM to run | ~34 GB (so 48 GB or more in practice) |
| speed (M1 Max, when it fits) | ~0.8x realtime — slower than the recording |
Alternative for 32 GB Macs: Voxtral-Small-24B-2507-4bit-dense-encoder, the same layout with a 4-bit language model: 15 GB, ~19 GB peak for a ten-minute pass, ~2x realtime. It is the 24B build noScribe offers. A 6-bit body measured no better than its 4-bit one; this 8-bit body has not been measured against either.
We could not measure this build's accuracy. It was produced and tested on a 32 GB machine, where the 25 GB of weights do not fit in RAM alongside the OS: a benchmark run swapped continuously and did not finish a single 25-minute pass in four and a half hours. So unlike our other builds, there is no measured WER for this model — on our reference audio or on FLEURS.
What we can say:
lm_head is quantised because a matching sweep showed it
makes no difference to accuracy while bf16 costs throughput.Only on a machine with 48 GB of RAM or more, for clean, single-speaker audio (lectures, dictation) where you want the best possible transcript and do not care that it runs slower than realtime. If any of those is not true, use the 3B Mini build instead — on hard conversational audio it is more accurate than the 24B model (4.27 % vs 7.82 % WER on our reference), and it runs on any Mac with 16 GB.
If your machine has under ~34 GB, this build will not run — it will swap until
nothing progresses. There is no memory-safety net inside a bare generate()
call; the check lives in noScribe, which
refuses it before a run starts.
These weights were built for noScribe — a free, open-source app for high-quality interview transcripts (speaker diarization, timestamps, editable output). noScribe no longer offers this build in its model menu; its 24B model is the 4-bit alternative above. This one stays here for machines with 48 GB or more. For almost every recording the 3B Mini build is the better choice — see above.
Setup and the engine's own notes:
VOXTRAL.md.
The engine currently lives on the
voxtral branch of this
fork of kaixxx/noScribe.
from mlx_voxtral import load_voxtral_model, VoxtralProcessor
import mlx.core as mx, soundfile as sf
repo = "MarkusKaemmerer/Voxtral-Small-24B-2507-8bit-dense-encoder"
model, _ = load_voxtral_model(repo, dtype=mx.bfloat16)
proc = VoxtralProcessor.from_pretrained(repo)
audio, sr = sf.read("speech.wav", dtype="float32") # 16 kHz mono
inp = proc.apply_transcrition_request(audio=audio, language="de", sampling_rate=sr)
out = model.generate(input_ids=inp.input_ids, input_features=inp.input_features,
max_new_tokens=4096, temperature=0.0, repetition_penalty=1.0)
print(proc.decode(out[0, inp.input_ids.shape[1]:], skip_special_tokens=True))
Set repetition_penalty=1.0. mlx-voxtral defaults to 1.2, a chat default
that in verbatim speech penalises punctuation and function words.
python tools/quantize_voxtral.py mistralai/Voxtral-Small-24B-2507 \
out-dir 8 64 dense-encoder --lm-head-bits 8
The conversion script and the full measurement write-up are in
this noScribe fork
under tools/ and docs/voxtral-quantisation.md.
Apache 2.0, inherited from mistralai/Voxtral-Small-24B-2507.