--- license: cc-by-4.0 base_model: nvidia/canary-qwen-2.5b base_model_relation: quantized library_name: transcribe.cpp pipeline_tag: automatic-speech-recognition language: - en tags: - gguf - transcribe.cpp - asr - speech-to-text - canary - canary-qwen - salm - audio-llm - fastconformer - qwen3 transcribe_cpp: wer_librispeech_test_clean: bf16: 1.63 f16: 1.63 q8_0: 1.63 q6_k: 1.63 q5_k_m: 1.63 q4_k_m: 1.63 rtf_m4_max: metal: 39.8 cpu: 7.3 rtf_ryzen_4750u: vulkan: 4.1 cpu: 2.1 streaming: false translate: false lang_detect: false timestamps: none --- # canary-qwen-2.5b: transcribe.cpp GGUF GGUF conversions of [nvidia/canary-qwen-2.5b](https://huggingface.co/nvidia/canary-qwen-2.5b) for use with [transcribe.cpp](https://github.com/handy-computer/transcribe.cpp). Ported from upstream commit [b1469e1bba1cfe140205529c79c434ca47180960](https://huggingface.co/nvidia/canary-qwen-2.5b/commit/b1469e1bba1cfe140205529c79c434ca47180960), pinned 2026-05-15. Validated against the NeMo SALM 2.7.3 reference at transcribe.cpp commit [6f6c699](https://github.com/handy-computer/transcribe.cpp/tree/6f6c699) on 2026-05-16. Offline English speech-to-text. NeMo SALM (Speech-Augmented Language Model): a FastConformer audio encoder (32 layers, `d_model=1024`) feeds audio embeddings into a Qwen3-1.7B causal LM (28 layers, `hidden_size=2048`) via audio-token injection at a sentinel position in the prompt. English only. Takes a 16 kHz mono WAV and produces a transcript via greedy decoding. ## Downloads | Quantization | Download | Size | WER (LibriSpeech test-clean) | | --- | --- | ---: | ---: | | BF16 | [canary-qwen-2.5b-BF16.gguf](https://huggingface.co/handy-computer/canary-qwen-2.5b-gguf/resolve/main/canary-qwen-2.5b-BF16.gguf) | 4.73 GB | 1.63% | | F16 | [canary-qwen-2.5b-F16.gguf](https://huggingface.co/handy-computer/canary-qwen-2.5b-gguf/resolve/main/canary-qwen-2.5b-F16.gguf) | 4.73 GB | 1.63% | | Q8_0 | [canary-qwen-2.5b-Q8_0.gguf](https://huggingface.co/handy-computer/canary-qwen-2.5b-gguf/resolve/main/canary-qwen-2.5b-Q8_0.gguf) | 2.61 GB | 1.63% | | Q6_K | [canary-qwen-2.5b-Q6_K.gguf](https://huggingface.co/handy-computer/canary-qwen-2.5b-gguf/resolve/main/canary-qwen-2.5b-Q6_K.gguf) | 2.06 GB | 1.63% | | Q5_K_M | [canary-qwen-2.5b-Q5_K_M.gguf](https://huggingface.co/handy-computer/canary-qwen-2.5b-gguf/resolve/main/canary-qwen-2.5b-Q5_K_M.gguf) | 1.85 GB | 1.63% | | Q4_K_M | [canary-qwen-2.5b-Q4_K_M.gguf](https://huggingface.co/handy-computer/canary-qwen-2.5b-gguf/resolve/main/canary-qwen-2.5b-Q4_K_M.gguf) | 1.62 GB | 1.63% | WER measured on the full LibriSpeech `test-clean` split (2620 English utterances) with the Whisper-style English text normalizer and jiwer 3.x, on the metal backend of an Apple M4. The same-machine NeMo SALM reference run (CPU torch, dither=0.0, greedy `model.generate`) lands at **1.61%** with 95% bootstrap CI [1.47%, 1.75%]: `0.01` above NVIDIA's published 1.60% but well within statistical noise. All six GGUF presets land at exactly 1.63% (`+0.02` over our reference run, same CI band). Investigation of the worst per-utterance differences shows scattered token-level noise consistent with BF16 weight precision (homophones, word-boundary flips, function-word substitutions). Reproduce with `scripts/wer/run.py` + `scripts/wer/score.py`. ## Usage Build transcribe.cpp from source: ```bash git clone git@github.com:handy-computer/transcribe.cpp.git cd transcribe.cpp cmake -B build && cmake --build build ``` Run on a 16 kHz mono WAV: ```bash build/bin/transcribe-cli \ -m canary-qwen-2.5b-Q8_0.gguf \ input.wav ``` If your audio isn't already 16 kHz mono WAV, convert it first: ```bash ffmpeg -i input.mp3 -ar 16000 -ac 1 output.wav ``` See the [transcribe.cpp model page](https://github.com/handy-computer/transcribe.cpp/blob/main/docs/models/canary-qwen-2.5b.md) for performance numbers, numerical validation, and reproduction steps. ## License Inherited from the base model: **CC-BY-4.0**. See the [upstream model card](https://huggingface.co/nvidia/canary-qwen-2.5b) for full terms. --- ## Original Model Card > The section below is reproduced from > [nvidia/canary-qwen-2.5b](https://huggingface.co/nvidia/canary-qwen-2.5b) at commit > `b1469e1bba1cfe140205529c79c434ca47180960` for offline reference. The upstream card is the > authoritative source. [![Model architecture](https://img.shields.io/badge/Model_Arch-SALM-blue#model-badge)](#model-architecture) | [![Model size](https://img.shields.io/badge/Params-2.5B-green#model-badge)](#model-architecture) | [![Language](https://img.shields.io/badge/Language-en-orange#model-badge)](#datasets) # Model Overview ## Description: NVIDIA NeMo Canary-Qwen-2.5B is an English speech recognition model that achieves state-of-the art performance on multiple English speech benchmarks. With 2.5 billion parameters and running at 418 RTFx, Canary-Qwen-2.5B supports automatic speech-to-text recognition (ASR) in English with punctuation and capitalization (PnC). The model works in two modes: as a transcription tool (ASR mode) and as an LLM (LLM mode). In ASR mode, the model is only capable of transcribing the speech into text, but does not retain any LLM-specific skills such as reasoning. In LLM mode, the model retains all of the original LLM capabilities, which can be used to post-process the transcript, e.g. summarize it or answer questions about it. In LLM mode, the model does not "understand" the raw audio anymore - only its transcript. This model is ready for commercial use. ### License/Terms of Use: Canary-Qwen-2.5B is released under the CC-BY-4.0 license. By using this model, you are agreeing to the [terms and conditions](https://choosealicense.com/licenses/cc-by-4.0/) of the license.
### Discover more from NVIDIA: For documentation, deployment guides, enterprise-ready APIs, and the latest open models—including Nemotron and other cutting-edge speech, translation, and generative AI—visit the NVIDIA Developer Portal at developer.nvidia.com. Join the community to access tools, support, and resources to accelerate your development with NVIDIA’s NeMo, Riva, NIM, and foundation models.
#### Explore more from NVIDIA:
What is [Nemotron](https://www.nvidia.com/en-us/ai-data-science/foundation-models/nemotron/)?
NVIDIA Developer [Nemotron](https://developer.nvidia.com/nemotron)
[NVIDIA Riva Speech](https://developer.nvidia.com/riva?sortBy=developer_learning_library%2Fsort%2Ffeatured_in.riva%3Adesc%2Ctitle%3Aasc#demos)
[NeMo Documentation](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/asr/models.html)
## References: [1] [Less is More: Accurate Speech Recognition & Translation without Web-Scale Data](https://www.isca-archive.org/interspeech_2024/puvvada24_interspeech.pdf) [2] [Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10389701) [3] [Attention Is All You Need](https://arxiv.org/abs/1706.03762) [4] [Qwen/Qwen3-1.7B Model Card](https://huggingface.co/Qwen/Qwen3-1.7B) [5] [Training and Inference Efficiency of Encoder-Decoder Speech Models](https://arxiv.org/abs/2503.05931) [6] [NVIDIA NeMo Toolkit](https://github.com/NVIDIA/NeMo) [7] [Granary: Speech Recognition and Translation Dataset in 25 European Languages](https://arxiv.org/abs/2505.13404) [8] [Towards Measuring Fairness in AI: the Casual Conversations Dataset](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9634168) [9] [SALM: Speech-augmented Language Model with In-context Learning for Speech Recognition and Translation](https://arxiv.org/abs/2310.09424) ### Deployment Geography: Global ### Use Case: The model is intended for users requiring speech-to-text transcription capabilities for English speech, and/or transcript post-processing capabilities enabled by prompting the underlying LLMs. Typical use-cases: transcription, summarization, answering user questions about the transcript. ### Release Date: Huggingface 07/17/2025 via https://huggingface.co/nvidia/canary-qwen-2.5b ## Discover more from NVIDIA: For documentation, deployment guides, enterprise-ready APIs, and the latest open models—including Nemotron and other cutting-edge speech, translation, and generative AI—visit the NVIDIA Developer Portal at [developer.nvidia.com](https://developer.nvidia.com/). Join the community to access tools, support, and resources to accelerate your development with NVIDIA’s NeMo, Riva, NIM, and foundation models.
### Explore more from NVIDIA:
What is [Nemotron](https://www.nvidia.com/en-us/ai-data-science/foundation-models/nemotron/)?
NVIDIA Developer [Nemotron](https://developer.nvidia.com/nemotron)
[NVIDIA Riva Speech](https://developer.nvidia.com/riva?sortBy=developer_learning_library%2Fsort%2Ffeatured_in.riva%3Adesc%2Ctitle%3Aasc#demos)
[NeMo Documentation](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/asr/models.html)
## Model Architecture: Canary-Qwen is a Speech-Augmented Language Model (SALM) [9] model with FastConformer [2] Encoder and Transformer Decoder [3]. It is built using two base models: `nvidia/canary-1b-flash` [1,5] and `Qwen/Qwen3-1.7B` [4], a linear projection, and low-rank adaptation (LoRA) applied to the LLM. The audio encoder computes audio representation that is mapped to the LLM embedding space via a linear projection, and concatenated with the embeddings of text tokens. The model is prompted with "Transcribe the following: