GGUF speech-recognition weights

Quantized GGUF conversions of two upstream speech-recognition models, hosted here so downloads resolve from one place. The weights are conversions of the upstream releases; no fine-tuning or other modification has been applied.

File Base model Quant Size
cohere-transcribe-arabic-07-2026-Q4_K_M.gguf CohereLabs/cohere-transcribe-arabic-07-2026 Q4_K_M 1.56 GB
whisper-small.en-Q8_0.gguf openai/whisper-small.en Q8_0 0.27 GB

Both are licensed Apache-2.0 by their original authors, and that licence carries over unchanged. Credit for the models belongs to the upstream teams.

Transcribing long recordings

Split the audio. There is no configuration of these weights that transcribes a multi-hour recording in one pass, and the reasons are arithmetic rather than a matter of tuning. Written out here because the obvious first instinct โ€” raise the declared limit and re-upload โ€” does not work, and the way it fails is quiet rather than loud.

The limit people find first is not the binding one

The Arabic model declares stt.cohere.encoder.pos_emb_max_len = 5000, which fixes how much audio one encoder pass accepts:

hop_length 160 @ 16 kHz  = 100 frames/s
8x encoder subsampling   =  12.5 frames/s
5000 frames / 12.5       = 400.0 s

so max_audio_ms is 400000 and longer input is rejected with input too long. That figure is metadata, not a trained weight โ€” the encoder uses relative positional encoding (attn.linear_pos, attn.pos_bias_u, attn.pos_bias_v), computed at inference time, and no tensor caps sequence length. Editing the field really does let the model accept more: patched to 15000, it consumed 6694 frames in one pass.

The transcript came back roughly half the length of the same audio split into two in-spec passes. Which brings up the limit that actually binds.

The decoder is the binding limit

stt.cohere.decoder.max_seq_len = 1024

and in practice a run stops at 512 generated tokens:

cohere run: output truncated at 512 tokens โ€” decode reached the
context/budget before end-of-stream

A pass carrying more speech than that does not return a short transcript โ€” it fails, and the partial is only available on the error. A three-hour Arabic transcript is on the order of 90,000-150,000 tokens, so a single pass can emit about 0.4% of it. Doubling the cap to the declared 1024 reaches 0.9%. No edit to this file closes that gap.

And the encoder could not afford it anyway

Self-attention cost grows with the square of sequence length. At 12.5 frames/s, with 8 heads and 48 encoder layers:

audio frames attention, per head per layer
400 s 5,000 0.1 GB
1 h 55 min 86,362 14.9 GB
3 h 135,000 36.5 GB

One layer of the three-hour case needs about 292 GB across its heads, and there are 48 layers. Raising the declared cap does not make that affordable.

What to do instead

Split on silence into segments under the limit, transcribe each, and concatenate. Cutting in a pause means segments need no overlap and no token-level de-duplication. Size the segments to the decoder budget, not the encoder ceiling: around 60 s of speech is a reasonable target, with a retry that splits any segment which still truncates.

Measured this way on Arabic speech, scoring recall of distinct source sentences rather than character count (the model applies inverse text normalisation, so a correct transcript is legitimately shorter than its source):

audio segments sentences recovered
16 min 18 148/150 (99%)
56 min 65 500/500 (100%)
1 h 55 min 135 1000/1000 (100%)

Sizing the same segments to the 400 s encoder ceiling instead recovered 40/150 (27%) on the first of those, because most segments overran the decoder and failed.

See Bain et al., WhisperX: Time-Accurate Speech Transcription of Long-Form Audio (Interspeech 2023) for the VAD "Cut & Merge" segmentation this follows.

Verifying a download

shasum -a 256 cohere-transcribe-arabic-07-2026-Q4_K_M.gguf
# 4671080cd10ffc6166e1e1b36216f9b51e1455f170d55c59cff7b81332ad4621

shasum -a 256 whisper-small.en-Q8_0.gguf
# 9614e6b7fda2d26018e4f268aece8ca25a83296ea0b534169a585b740bfd71ef
Downloads last month
198
GGUF
Model size
2B params
Architecture
cohere_asr
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for pnsw123/quietfield