Downloads · 30 days
17
15% of all-time downloads
divydeep/granite-speech-4.1-2b-mlx-5bit
granite-speech-4.1-2b-mlx-5bit is a automatic speech recognition model from divydeep. Use it when you need speech turned into text. It is set up for mlx. The card lists the license as apache-2.0.
Quality-oriented mixed-precision MLX conversion of ibm-granite/granite-speech-4.1-2b for Apple Silicon. This is the autoregressive Granite Speech model, not the separate NAR variant.
Downloads · 30 days
17
15% of all-time downloads
All-time downloads
115
Public
Parameters
2.3B
5 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.8 GB · 100%
How the weights are stored.
U321.4B · 62%
From the Hugging Face model README
Quality-oriented mixed-precision MLX conversion of
ibm-granite/granite-speech-4.1-2b
for Apple Silicon. This is the autoregressive Granite Speech model, not the
separate NAR variant.
The model runs with
mlx-audio and supports multilingual
automatic speech recognition (ASR), speech translation (AST), punctuation and
capitalization, and keyword-biased transcription.
This conversion uses post-training weight quantization only. No training, fine-tuning, calibration dataset, or importance matrix was used.
| Component | Precision |
|---|---|
| 16-layer Conformer speech encoder | BF16 |
| 2-layer Q-Former speech projector | BF16 |
| Granite language model, ordinary eligible internal linear layers | MLX affine 5-bit, group size 64 |
All v_proj and down_proj layers | MLX affine 6-bit, group size 64 |
| Token embedding | BF16 |
| Language-model output head | BF16 |
| Norms, biases, and unsupported tensors | BF16 |
Value and down projections receive extra precision because mixed-tensor quantizers commonly protect these sensitive paths. The acoustic stack, token embedding, and output head remain BF16. This is conceptually similar to medium mixed-tensor quantizations such as GGUF Q5_K_M, but the file format and numerical representation are MLX affine quantization rather than GGUF K-quants.
de575db64086f84fdc79da4932d1076e965bc546model.safetensors: approximately 2.5 GBmlx-audio >= 0.4.5pip install -U mlx-audio
python -m mlx_audio.stt.generate \
--model divydeep/granite-speech-4.1-2b-mlx-5bit \
--audio audio.wav \
--output-path transcript \
--format txt \
--prompt "transcribe the speech with proper punctuation and capitalization."
Python:
from mlx_audio.stt.utils import load_model
model = load_model("divydeep/granite-speech-4.1-2b-mlx-5bit")
result = model.generate(
"audio.wav",
prompt="transcribe the speech with proper punctuation and capitalization.",
temperature=0.0,
)
print(result.text)
Greedy decoding with temperature=0.0 is recommended for transcription.
| Task | Prompt |
|---|---|
| Raw ASR | can you transcribe the speech into a written format? |
| Punctuated ASR | transcribe the speech with proper punctuation and capitalization. |
| Keyword-biased ASR | transcribe the speech to text. Keywords: <kw1>, <kw2>, ... |
| Speech translation | translate the speech to <language>. |
| Punctuated translation | translate the speech to <language> with proper punctuation and capitalization. |
For non-English punctuation, translation, and keyword biasing, use the English prompt forms recommended by IBM.
The conversion was validated by:
mlx-audio.granite_speech, not granite_speech_nar.multilingual_sample.wav.This is a conversion smoke test, not a full WER benchmark. The upstream IBM evaluation results describe the original model and should not be interpreted as measured results for this quantized conversion.
Apache-2.0, matching the original model.
@misc{granite-speech-4.1-2b,
title={Granite 4.1 Speech},
author={IBM Granite Speech Team},
year={2026},
url={https://huggingface.co/ibm-granite/granite-speech-4.1-2b}
}