Capacit-ai/saga is a state-of-the-art Danish automatic speech recognition model based on Qwen/Qwen3-ASR-1.7B.
The model is optimized for fast inference, with aggressive input downsampling and variable chunk sizing unlike the competing models, this enables our Saga model to achieve state-of-the-art performance, while being significantly more efficient.
This repository is intended for Danish transcription only. The underlying Qwen3-ASR base model is multilingual, but this finetuned checkpoint is Danish-focused and the model has unlearned most of its multilingual capabilities.
The base Qwen3-ASR architecture supports long inputs, but the most stable long-form decoding in this project came from accumulated-audio continuation decoding rather than a single naive generate call. The model.transcribe() method already implements this strategy it walks through the audio in step_seconds chunks, re-feeding the accumulated waveform together with previously decoded text so the model keeps prior context. The step_seconds, rollback_tokens, and max_new_tokens parameters can be tuned for your use case.
The processor.load_audio and model.transcribe methods accept the following parameters:
python
1# Load and resample any audio file to a mono float32 waveform2audio = processor.load_audio(3 path="audio.wav",4 target_sr=16_000,# target sample rate (default: 16 000)5)67# Transcribe with accumulated-audio continuation decoding8text = model.transcribe(9 audio,10 processor,11 language="Danish",# language tag in the prompt (default: "Danish")12 target_sr=16_000,# must match load_audio target_sr (default: 16 000)13 step_seconds=15.0,# seconds of new audio per continuation step (default: 15.0)14 rollback_tokens=8,# token rollback for prefix overlap (default: 8)15 max_new_tokens=2048,# generation budget per step (default: 2048)16)
All of the finetuned models has been trained on CoRal data, as it's the most comprehensive and high quality (open-source) danish ASR dataset family, therefore we evaluated them on CoRal.
All Qwen based models where evaluated using the same script and all Whisper based models where evaluated using the same script.
Upcoming: More unseen datasets and performance metrics on the way!
Dataset
Model
Samples
CER
WER
CoRal read_aloud (test)
capacit-ai/saga
8000
6.7%
15.6%
CoRal read_aloud (test)
Qwen/Qwen3-ASR-1.7B
8000
15.0%
33.6%
CoRal read_aloud (test)
pluttodk/milo-asr
8000
7.6%
16.8%
CoRal read_aloud (test)
openai/whisper-large-v3
8000
10.3%
25.2%
CoRal read_aloud (test)
CoRal-project/roest-v3-whisper-1.5b
8000
4.7%
11.6%
CoRal read_aloud (test)
syvai/hviske-v3-conversation
8000
7.7%
18.2%
plot
plot
Model
RTFx
capacit-ai/saga
470
Qwen/Qwen3-ASR-1.7B
585
openai/whisper-large-v3
50
plot
RTFx figures are with vllm and fastattention enabled for Qwen backends, we succesfully ran pluttodk/milo-asr with a vllm backend and saw no significant drop in WER or CER.
All evaluation metrics where created using a single RTX 5090 instance.
Acknowledgements
Credit to the talented Qwen team, for making efficient and accurate models and open sourcing them.