# SOV-Transcribe-1: Languages, Mac Support, Benchmarks & Live Caption Limits

> I break down Salesforce's open-weight SOV-Transcribe-1 speech-to-text model across its 7 languages, 80GB+ GPU requirements, clean vs.

- URL: https://freelivecaption.com/en/posts/sov-transcribe-1
- Author: Jonas Weber (https://freelivecaption.com/en/about)
- Topic: Dictation (https://freelivecaption.com/en/topics/dictation)

## Summary

- SOV-Transcribe-1 is an Apache 2.0 speech-to-text model from Salesforce that pairs a Whisper large-v3 encoder with a Gemma 4 26B A4B MoE decoder (26.6B total.
- It supports 7 European languages (English, French, German, Spanish, Italian, Portuguese, Dutch) in non-streaming batch mode up to 30 minutes.
- While it tops the clean Artificial Analysis open-weight leaderboard at 2.28% WER.
- Running the unquantized BF16 weights takes roughly 53 GB of VRAM on an 80 GB+ NVIDIA GPU, and there is no official Apple Silicon or Mac setup yet.

---

When Salesforce's Missionforce Sovereign AI team released [SOV-Transcribe-1 on Hugging Face](https://huggingface.co/salesforce-sovereign-intelligence/SOV-Transcribe-1) under an Apache 2.0 license, it immediately took the number-one spot among open-weight speech-to-text models. Before you try to pull the weights for your own meetings or local transcription workflow, here are the four things you actually need to know:

First, SOV-Transcribe-1 is not a small standalone acoustic model. It is a speech-augmented language model that feeds an audio encoder through a linear-GELU projector into Google's Gemma 4 26B A4B mixture-of-experts (MoE) decoder. It carries 26.6 billion total parameters, with 4.6 billion active parameters per token including the audio encoder.

Second, it only supports seven languages: English, French, German, Spanish, Italian, Portuguese, and Dutch. If your calls include Mandarin, Japanese, Korean, or Arabic, this model will not cover them.

Third, it is strictly a non-streaming batch model tested on recordings up to 30 minutes long. Because it processes recorded audio chunks rather than a live audio stream, you cannot use it for real-time rolling captions during a Zoom or Teams call.

Fourth, the official documentation only covers Linux systems with high-end NVIDIA GPUs running Hugging Face Transformers or a vLLM plugin. There is no public hosted API from Salesforce, and there is no official guide for running it locally on a Mac.

## Clean Leaderboard Numbers vs. Real Phone and Meeting Audio

If you only look at standard speech-to-text leaderboards, the top open-weight models look almost identical. On the Artificial Analysis Word Error Rate (AA-WER) Index, SOV-Transcribe-1 scores 2.28% (displayed as 2.3% on the public board), ranking first among open-weight models and seventh overall across 44 proprietary and open systems. 

On that clean benchmark, the top three open models sit within half a percentage point of each other. Mistral's Voxtral Small scores 2.77% while activating roughly 24B parameters—more than five times the active compute per token of SOV-Transcribe-1—and [NVIDIA Nemotron 3.5 Transcribe](/en/posts/nemotron-3-5-transcribe) scores 2.81% at a similar 4B active parameter scale. Across individual Artificial Analysis subsets, SOV-Transcribe-1 hits 4.1% WER on Earnings22 (versus 4.8% for Voxtral Small), 1.5% on VoxPopuli parliamentary speech (versus 1.8%), and 1.8% on AA-AgentTalk voice-agent conversations.

The picture changes completely when you move from clean evaluation sets to HALAS, a human-annotated benchmark built specifically from messy, hallucination-prone sections of real earnings-call recordings.

| Model | Active / Total Params | Clean AA-WER Index | Real Noisy Calls (HALAS WER) | Supported Languages |
| :--- | :--- | :--- | :--- | :--- |
| **Salesforce SOV-Transcribe-1** | 4.6B / 26.6B | 2.28% (2.3%) | 25.69% | 7 (EN, FR, DE, ES, IT, PT, NL) |
| **Mistral Voxtral Small** | ~24B / 24B | 2.77% (2.8%) | 27.35% | 50+ |
| **NVIDIA Nemotron 3.5 Transcribe** | ~4B / 30B | 2.81% (2.8%) | 31.59% | 40 |
| **Alibaba Qwen3-ASR 1.7B** | 1.7B / 1.7B | N/A | 26.01% | Multilingual |
| **IBM Granite Speech 5.0 2B** | 2B / 2B | N/A | 34.51% | English-focused |

On HALAS, SOV-Transcribe-1's word error rate jumps more than elevenfold to 25.69%. That looks rough on paper, until you see what happens to the rest of the field on the exact same audio: Qwen3-ASR 1.7B drops to 26.01%, Voxtral Small falls to 27.35%, Nemotron 3.5 Transcribe hits 31.59%, and Granite Speech 5.0 2B lands at 34.51%. Where the clean benchmark compressed everyone into a 0.5-point window, real conference-call audio opens an 8.8-point gap between the top open models. If you want to see how Mistral and NVIDIA handle broader multilingual workloads and diarization, I broke down their trade-offs in my [Voxtral 3 vs. Nemotron 3.5 comparison](/en/posts/voxtral-3-vs-nemotron-3-5).

Beyond general word error rate, SOV-Transcribe-1 holds up well when a transcript needs exact entities rather than just conversational gist. On VoiceCodeBench, which tests whether a model can accurately capture spoken phone numbers, email addresses, and URLs, it recovers 93.4% of entities and achieves a 76.3% full-task success rate, placing first among open models and second out of 23 systems overall. On AppTek's call-center dialogue benchmark across 14 English accents, it averages 8.21% WER and posts the lowest error rate on eight accents, including Indian, Singaporean, Scottish, British, and Australian English.

## Fixing Proper Nouns with Context Biasing and Prompts

Because SOV-Transcribe-1 uses a Gemma 4 language model as its decoder, you do not just feed it raw audio and hope for the best. You pass natural-language instructions in the user prompt to control formatting, strip out verbal fillers, normalize spoken numbers into digits (`22` instead of `twenty two`), or bias the decoder toward specific vocabulary.

In real meetings, proper nouns—executive names, internal project codenames, and product SKUs—are usually the first things an ASR model mangles. Without any prompt context on the Contextual Earnings-22 benchmark (15-second clips packed with company and person names), SOV-Transcribe-1 scores a 71.9 keyword F1.

When you pass the exact keywords for that 15-second clip in the prompt, keyword F1 jumps to 96.8. More importantly, in a real workflow you rarely know which names will show up in which 15-second window. If you dump the entire keyword list for a full one-hour earnings call into the prompt—meaning almost every term in the list is a distractor for the current clip—SOV-Transcribe-1 still maintains a 94.0 keyword F1 without hallucinating the unmentioned names into the transcript.

To use that global keyword biasing in your own calls, pass this structure in your user prompt:

`This audio may contain the following words or phrases (some may not be present in the clip): {keyword_list}. Transcribe the English audio into text, ensuring all punctuation marks are included.`

If you want a clean transcript with "um" and "uh" stripped out instead of the default verbatim output, swap the prompt to:

`Transcribe the audio, omitting fillers and accidental repetitions while preserving the remaining words. Use punctuation and capitalization. Output only the transcript.`

## GPU Requirements, vLLM Setup, and Mac Support

Here is the hardware catch that keeps SOV-Transcribe-1 off consumer laptops. While only 4.6B parameters are active on each token, the GPU still has to hold all 26.6B parameters in memory. The model ships in 16 BF16 safetensors shards totaling roughly 53 GB on disk, with the MoE router running in FP32 for numerical stability.

In practice, single-GPU serving requires an 80 GB or 96 GB workstation or data-center card—such as an NVIDIA A100 80GB, H100 80GB, or the 96 GB RTX PRO 6000 Blackwell that Salesforce used in its [official launch benchmarks](https://huggingface.co/blog/salesforce-sovereign-intelligence/sov-transcribe-1). On one RTX PRO 6000 paired with Salesforce's speculative decoding draft model (`SOV-Transcribe-1-DFlash`, which proposes 15 tokens at a time for a 2x to 3x single-request speedup), the model processes up to 1,039 seconds of audio per second and returns a 30-second clip in 0.22 seconds.

If you deploy it on your own Linux server, watch out for three configuration traps documented in the model card:

- **Plugin version pinning:** Native vLLM and Transformers support is still being merged upstream. For now, you have to install the `vllm_plugin/` directory from the repo (which pins `vLLM 0.32.0`) or run `transformers>=5.19,<5.23` with `trust_remote_code=True` (or use the standalone `transcribe_hf` function from the card if your security policy blocks remote code).
- **The 10-minute truncation cap:** When you launch the server via `vllm serve salesforce-sovereign-intelligence/SOV-Transcribe-1 --max-model-len 32768`, the `/v1/audio/transcriptions` endpoint cuts off audio at 600 seconds by default. To transcribe up to the full 30-minute tested limit, you must export `VLLM_MAX_AUDIO_DECODE_DURATION_S=1800` before starting the server.
- **CUDA OOM with the DFlash draft model:** If you attach `SOV-Transcribe-1-DFlash` for speculative decoding, vLLM's default `max_num_seqs=1024` will blow past your VRAM ceiling and crash. Drop `max_num_seqs` down to `64`.

### Unconfirmed Mac and Apple Silicon Support

Right now, there is no official Apple Silicon support—no MLX port, no Core ML weights, and no official GGUF quantization for `llama.cpp`. Because the unquantized weights alone take 53 GB, a standard 16 GB, 24 GB, or 36 GB MacBook Pro cannot load the model in BF16. While a Mac Studio or MacBook Pro with 64 GB to 128 GB of unified memory theoretically has enough RAM to hold the weights, running the custom Whisper-plus-Gemma-4-MoE projection pipeline locally on macOS remains unconfirmed until upstream Transformers or MLX adds native support and 4-bit quantization for this audio architecture.

## Known Limits and What to Use for Live Captions Instead

Even if you have an 80 GB NVIDIA server ready, SOV-Transcribe-1 has a few operational limits you need to plan around:

First, it does not output speaker diarization labels (`Speaker 1`, `Speaker 2`) out of the box, and any recording longer than 30 minutes must be split on silence boundaries before you send it to the model.

Second, you must run greedy decoding (`temperature=0.0`, `do_sample=False`) with thinking explicitly turned off (`enable_thinking=False`) and `max_new_tokens=8192`. Even with greedy decoding, the Gemma 4 decoder can occasionally fall into a repetition loop where it repeats a short phrase until it hits the 8,192-token ceiling. For production pipelines, you need a regex or script pass afterward (similar to the cleanup script in the Qwen3-ASR toolkit) to strip repeated tail strings.

Finally, because SOV-Transcribe-1 is batch-only and requires data-center VRAM, it is the wrong tool if you just want live captions or translated subtitles on your screen during a meeting. If you are on a Mac or PC and need working captions today, you have three practical paths depending on your workflow:

If you only need basic English captions for system audio on an Apple Silicon Mac, turn on Apple's built-in macOS Live Captions in System Settings; it is completely free, though it cannot export transcripts or translate other languages. If you only transcribe pre-recorded audio files offline on your Mac and do not need real-time streaming, MacWhisper runs local Whisper and Parakeet models well, with a free tier for basic models and a one-time Pro license for top models.

If you need real-time rolling captions, live bilingual translation, and saved transcripts during Zoom, Teams, or browser calls without inviting a meeting bot or renting an 80 GB GPU, use **Vocena**. I built it for people who need instant desktop captions and translation across dozens of languages right over their active meeting window. You can use Vocena's core live captioning for free, while its paid plans unlock extended translation hours and full transcript exports. For a deeper look at how desktop tools stack up on macOS, check my guide to [live caption apps for Mac compared](/en/posts/live-caption-apps-mac).

## Sources and checks

<a id="source-huggingface-co-1"></a>

- [SOV-Transcribe-1 on Hugging Face](<https://huggingface.co/salesforce-sovereign-intelligence/SOV-Transcribe-1>) — Checked 2026-11-13

<a id="source-huggingface-co-2"></a>

- [official launch benchmarks](<https://huggingface.co/blog/salesforce-sovereign-intelligence/sov-transcribe-1>) — Checked 2026-11-13

