granite-speech-4.1-2b
by ibm-granite
Compact 2B multilingual ASR and speech translation with Conformer encoder and 5.33 mean WER
ibm-granite/granite-speech-4.1-2bmixpeek://transcription@v1/ibm_granite_speech_41_2b_v1Overview
Granite Speech 4.1 2B is IBM's compact speech-language model designed for multilingual automatic speech recognition (ASR) and bidirectional automatic speech translation (AST) across English, French, German, Spanish, Portuguese, and Japanese. It combines a 16-layer Conformer encoder trained with dual-head CTC for character and BPE units with a 2-layer window Q-Former that downsamples acoustic embeddings by 10x, producing a 10Hz embedding rate for the language model.
Trained on 174,000 hours of public audio corpora plus synthetic datasets for Japanese ASR and keyword-biased recognition, the model achieves a mean WER of 5.33 on the Open ASR Leaderboard. On Mixpeek, it powers multilingual audio transcription for video and podcast content, enabling full-text search across spoken content in six languages.
Architecture
16-layer Conformer encoder with dual-head CTC (character + BPE). 2-layer window Q-Former downsamples acoustic embeddings by 10x to 10Hz. Trained on 174K hours of audio. Encoder training: 26 days on 8x H100; projector fine-tuning: 4 days.
Mixpeek SDK Integration
// No extractor parameter takes a Hugging Face model id (checked against
// GET /v1/discovery/extractors, which returns 13), so granite-speech-4.1-2b runs
// on your side and the output is upserted through POST
// /v1/namespaces/{namespace_id}/documents/upsert. On Enterprise the other
// path is to upload the weights instead: POST /v1/namespaces/{id}/models
// accepts the huggingface format and a custom plugin loads them.
const res = await fetch(
"https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
{
method: "POST",
headers: {
Authorization: "Bearer API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
collection_id: "col_your_collection",
documents: [
{
document_id: "asset-00412",
// The model produces text, so it lands in payload. Give the
// collection a text vector index and embed that text to make it
// searchable rather than only filterable.
payload: { extracted_text: modelOutput, source_key: "archive/2026/asset-00412" },
vectors: { "text-embedding": embeddingOfModelOutput },
},
],
}),
},
);
// Managed alternative, if this exact model is not the requirement:
// universal_extractor@v1 runs google/gemini-embedding-2
// (3072-d) over a bucket, with no inference of your own.Capabilities
- 6-language ASR: English, French, German, Spanish, Portuguese, Japanese
- Bidirectional automatic speech translation
- Mean WER 5.33 on Open ASR Leaderboard
- Keyword-biased ASR for domain-specific terminology
- Compact 2B parameters for cost-efficient deployment
Use Cases on Mixpeek
Benchmarks
| Dataset | Metric | Score | Source |
|---|---|---|---|
| Open ASR Leaderboard | Mean WER | 5.33 | IBM, April 2026: Model Card |
| LibriSpeech (clean) | WER | 1.33% | IBM, April 2026: Model Card |
| LibriSpeech (other) | WER | 2.50% | IBM, April 2026: Model Card |
Performance
Common Pipeline Companions
Explore on Mixpeek
Compare alternatives in this category
Hand-picked tools & platforms compared
Deep-dive technical guide
See how Mixpeek runs models as extractors
Store & search embeddings at scale
Usage-based pricing for pipelines
Compare models, APIs & infrastructure
Specification
Research Paper
Granite Speech 4.1
arxiv.orgBuild a pipeline with granite-speech-4.1-2b
Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.
Run it on your own data, free