Subtitle Edit can automatically transcribe audio to text using Whisper-based and other modern speech recognition engines.

| Engine | Platform | Notes |
|---|---|---|
| Whisper CPP | Windows, Linux, macOS | Local CPU engine. On Windows the cuBLAS (NVIDIA CUDA) and Vulkan GPU backends can also be selected from the Whisper CPP backend dropdown. |
| Purfview Faster Whisper XXL | Windows, Linux | Fast local engine, often used with NVIDIA CUDA |
| Whisper CTranslate2 | Windows, Linux (x64), macOS (Apple Silicon) | CPU / NVIDIA CUDA depending on installation; CUDA requires CUDA 12.x |
| Whisper Const-me | Windows | DirectX-based engine |
| WhisperX | Windows (x64), Linux (x64), macOS (Apple Silicon) | Faster-Whisper with wav2vec2 word-level alignment, packaged as a standalone build (no Python install needed). Progress and the decoded lines are shown live while it runs |
| Whisper OpenAI | All | Python-based OpenAI Whisper workflow |
| OpenAI Compatible Server | All | Connect to any OpenAI-compatible speech-to-text endpoint |
| OpenRouter | All | Online. One API key routes to Whisper, gpt-4o-transcribe, Groq and Google Chirp |
| Alibaba Qwen3-ASR | All | Online Qwen3-ASR via Alibaba Model Studio (DashScope) |
| Google Cloud Speech-to-Text | All | Online Google Cloud Speech-to-Text v2 (Chirp models) with word-level timings. Needs a service account key file (JSON) - the v2 API does not accept API keys |
| Qwen3 ASR CPP | Windows, Linux, macOS | Local Qwen3 ASR engine with downloadable GGUF models |
| Crisp ASR | Windows, Linux, macOS | Single engine with selectable backends: Parakeet, Canary, Cohere, Fire Red, Fun-ASR Nano, GigaAM, GLM, Granite, Index-Echo, Qwen3, Mega, MOSS Diarize, Omni, Kyutai, SenseVoice, ARK, Voxtral |
Engines and models are downloaded automatically on first use.
(speaker 0), using NVIDIA’s Sortformer diarization (up to 8 speakers). The Nemotron-3-Diarization (Sortformer) model (107 MB) is downloaded on first use, and Crisp ASR v0.8.37 or newer is needed. Works best with backends that split lines where the speaker changes, like Parakeet and Cohere.gcloud auth application-default login and fill in the Project ID. The other fields are Region (us or eu for chirp_3, or a specific region for other models), Model (chirp_3, chirp_2, long, latest_long…), a Language hint (leave it empty for automatic detection with the Chirp models), the Cloud Storage bucket name long audio is uploaded to (one named <project>-subtitle-edit-stt is created on first use, and uploads are deleted after each run), Dynamic batching (on by default - about a fifth of the price, but Google gives no latency guarantee) and a timeout.Crisp ASR is one engine wrapping many backends. Set Engine to Crisp ASR, then pick the backend from the Crisp ASR backend dropdown - the model list updates to that backend’s models.
The languages column counts what the backend dropdown offers (an auto entry is not counted as a language).
Output is what you actually get back. Native timings means the backend times its own lines and can use the built-in aligner; needs aligner means the text arrives untimed and a forced aligner (Canary CTC, Qwen3, or a wav2vec2 aligner) places it in time. Anything else a backend adds - speaker labels, punctuation and casing - is called out there too.
| Backend | Languages | Output | Model size range | Good for |
|---|---|---|---|---|
| Parakeet | 13 (European + zh, ja, ko) | Native timings | 75 MB - 2.14 GB | The fast default. NVIDIA Parakeet TDT and RNN-T in 0.6B (v2 and v3) and 1.1B, plus the hybrid TDT+CTC models: parakeet-tdt_ctc-110m (the smallest Crisp ASR model of all) and parakeet-tdt_ctc-1.1b in q4_k, q8_0 and unquantized - same decoding and native timestamps as parakeet-tdt-1.1b, with a CTC head available to the runtime. Has a Japanese fine-tune |
| Canary | 25 (European) | Native timings | 705 MB - 1.97 GB | NVIDIA Canary 1B v2. Broad European coverage with its own timings; also usable as a CTC forced aligner for other backends |
| Cohere | 14 | Native timings | 1.51 - 4.14 GB | Cohere Transcribe. Separate Arabic and Japanese fine-tunes. VAD is on by default (see the VAD section below) |
| GigaAM | 1 (Russian) | Native timings; punctuation + casing on e2e only |
151 - 452 MB | Russian only, and very small. Use an e2e revision - those emit punctuation and capitalisation, the plain ctc / rnnt heads return bare lowercase text |
| MOSS Diarize | 2 (en, zh) | Native timings + speaker labels | 1.41 - 1.82 GB | Labels who is speaking. This is the backend preselected by the text-to-speech speaker-separation workflow |
| Qwen3 | 30 | Needs aligner | 631 MB - 4.7 GB | Strong all-rounder in 0.6B and 1.7B, with an anime / visual-novel Japanese fine-tune. Also supplies the Qwen3 forced-aligner model |
| Omni | 149 | Needs aligner | 1.08 - 3.26 GB | By far the widest language coverage - the place to start for a language no other backend lists. Languages use NLLB-style codes (eng_Latn, cmn_Hans) |
| Fire Red | 49 | Needs aligner | 1 - 2.4 GB | FireRedASR2. Chinese-first, and the only backend covering Chinese regional languages: Cantonese, Shanghainese, Minnan, Gan, Hakka and Xiang |
| GLM | 17 | Needs aligner | 1.3 - 4.5 GB | GLM-ASR Nano, Chinese-first with a wide second tier of languages |
| SenseVoice | 5 (zh, yue, en, ja, ko) | Needs aligner | 136 - 469 MB | Tiny and quick for CJK audio - useful on machines where the larger backends are too slow |
| Fun-ASR Nano | 5 (en, zh, yue, ja, ko) | Needs aligner | 0.90 - 1.98 GB | CJK-focused Fun-ASR |
| Index-Echo | 3 target languages (Chinese → en, ja, es) | Native timings | 2.7 - 5.1 GB (model + decoder pair) | Speech translation: Chinese audio in, English, Japanese or Spanish subtitles out. The language dropdown picks the target language. Needs Crisp ASR v0.8.41 or newer |
| Mega | 2 (en, zh) | Needs aligner | 1.3 - 4.4 GB | Mega-ASR 1.7B. VAD is on by default (see the VAD section below) |
| Granite | 6 (en, fr, de, es, pt, ja) | Needs aligner | 1.54 - 5.58 GB | IBM Granite Speech 4.1 2B. The plus models are the newer revision; mini and f16enc trade encoder precision for size |
| ARK | 19 (European + zh, ja, ko) | Needs aligner | 3.52 - 7.51 GB | A 3B model - the heaviest backend here, so only worth it when the smaller ones fall short |
| Kyutai | 2 (en, fr) | Needs aligner | 0.67 - 5.01 GB | Kyutai STT in 1B and 2.6B |
| Voxtral | 8 | Needs aligner | 2.65 - 9.36 GB | Mistral Voxtral Mini 3B. The backend has no built-in aligner entry at all, so a CTC aligner is always used |
Most backends list the same model several times with a quantization suffix. The suffix only changes file size, memory use and speed - the model is the same:
q4_k - smallest and fastest, with the most accuracy lost. A good first downloadq5_0 / q5_1 / q6_k - middle ground where offeredq8_0 - close to full precision at roughly half the size. The best default when disk space allowsf16 / unquantized - full precision, largest and slowest, and rarely worth it over q8_0A model name with a language in it (-ja, -arabic) is a fine-tune for that language and usually beats the general model on it - see below.
Some backends offer models fine-tuned for one language, which usually beat the general model on that language.
These models live under the Crisp ASR engine, not under the standalone Qwen3 ASR CPP engine. To reach them, set Engine to Crisp ASR, then pick the backend from the Crisp ASR backend dropdown - the model list updates to that backend’s models. For Japanese:
| Backend | Model | Notes |
|---|---|---|
| Crisp ASR Qwen3 | qwen3-asr-1.7b-ja-anime-q8_0.gguf (or -q4_k.gguf) |
Fine-tuned on anime / visual novel speech - the best starting point for anime audio |
| Crisp ASR Cohere | cohere-asr-ja-q8_0.gguf (also q4_k / q6_k / f16) |
Japanese fine-tune covering general and anime domains |
| Crisp ASR Parakeet | parakeet-tdt-0.6b-ja-q8_0.gguf (also q4_k / unquantized) |
Fast Japanese model |
| Whisper CPP, Purfview Faster Whisper XXL, Whisper CTranslate2, WhisperX | anime.ja |
anime-whisper, a kotoba-whisper fine-tune for anime / visual novel dialogue - a Whisper model, so it is under the Whisper engines rather than Crisp ASR |
The general qwen3-asr-1.7b and Whisper large-v3-turbo models are also strong on Japanese if you prefer a single model for mixed content.
Each engine has its own set of models. Common model sizes:
Models ending in .en are English-only and perform better for English audio. Models with another language suffix are fine-tunes for that language: the Swedish .sv and Norwegian .nb models, and anime.ja - anime-whisper, a Japanese fine-tune for anime and visual novel dialogue, offered by Whisper CPP, Purfview Faster Whisper XXL, Whisper CTranslate2 and WhisperX.
Transcribe multiple video files at once:
.srt files next to the video filesAdd language code to file name names the output video.en.srt instead of video.srt.
Click the Advanced button to configure custom command-line arguments for the Whisper engine:
Advanced settings are stored per engine, so you can keep separate parameters for Whisper CPP, Qwen3 ASR, Crisp ASR, and other engines.
For the Cohere and Mega backends, Subtitle Edit adds --vad and the bundled Silero VAD model to the command line by default. Crisp ASR turns VAD on for these models by itself on longer audio, so passing the bundled model mainly keeps Crisp ASR from downloading its own copy in the middle of a transcription.
VAD usually gives tighter timings, but on some material it drops quiet speech and clips the first word of a line. Crisp ASR has no --no-vad switch, so VAD is turned off by asking for fixed chunking instead: add --chunk-seconds 30 (or -ck 30) to the advanced parameters, and Subtitle Edit leaves --vad out of the command line entirely. Expect the trade-off that comes with it - with VAD off, long stretches of silence or music can produce invented lines.
To keep VAD and only change how it behaves, put --vad in the advanced parameters yourself (the Enable VAD button fills in the flag and the model path). An explicit --vad wins over --chunk-seconds, so the two can be combined.
If a Crisp ASR run with VAD comes back with no lines at all - Silero can reject a short clip as non-speech - Subtitle Edit retries once with VAD suppressed before reporting an empty result.
With a Crisp ASR engine selected, Isolate speech (slow) splits the speech from music and sound effects before the audio is transcribed. The engine - and its voice activity detection - then only hears the dialogue.
Use it for audio with loud or constant music: trailers, music videos, action scenes, anime. On such audio it recovers lines that are otherwise dropped, stops line starts from being clipped, and keeps a subtitle from stretching across a musical passage. On plain dialogue it changes little and is not worth the wait.
Click the Post-processing button to configure:
With Show quality report after transcription ticked (the default), a report window opens after a transcription that has something to flag - nothing opens for a clean result. It checks the finished subtitle against your general timing settings, so it agrees with what the main grid colors as errors:
[Music] or (laughs)Summary cards at the top filter the table by category; each row shows the line number, time codes, a detail (duration, cps or overlap) and the text. Lines the post-processor already dropped - when Remove non-speech lines or Remove repeated lines is on - are listed as removed, so you can tell what was fixed from what is still there. Export… copies the report to the clipboard or saves it as text, an Excel file or a web page. Do not show again turns the report off; it is the same setting as the post-processing checkbox.
The console log at the bottom shows real-time output from the Whisper process, useful for debugging issues.
--standard parameter is automatically added for Purfview Faster Whisper XXL