Model reference · open weights
canary-flash is an open-weight audio or speech model from NVIDIA.
Summary of the nvidia/canary-1b-flash model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | NVIDIA |
|---|---|
| Released | 2025-03-07 |
| Parameters | 811M |
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| canary-1b-flash ↗ | 811M | FP32 | 1.6 GB | RTX 3060 12 GB |
| canary-180m-flash (above) ↗ | — | BF16 | — | — |
From the model card
img { display: inline; }
🎉 NEW: Canary 1B V2 is now available! 🌍 25 European Languages | ⏱️ Much Improved Timestamp Prediction | 🔄 Enhanced ASR & AST | 🔗 Try it here: nvidia/canary-1b-v2
NVIDIA NeMo Canary Flash [1] is a family of multilingual multi-tasking models based on Canary architecture [2] that achieve state-of-the-art performance on multiple speech benchmarks. With 883 million parameters and an inference speed of more than 1000 RTFx (on open-asr-leaderboard datasets), canary-1b-flash supports automatic speech-to-text recognition (ASR) in four languages (English, German, French, Spanish) and translation from English to German/French/Spanish and from German/French/Spanish to English with or without punctuation and capitalization (PnC). Additionally, canary-1b-flash offers an experimental feature for word-level and segment-level timestamps in English, German, French, and Spanish. This model is released under the permissive CC-BY-4.0 license and is available for commercial use.
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.
What is Nemotron? NVIDIA Developer Nemotron NVIDIA Riva Speech NeMo Documentation
Canary is an encoder-decoder model with FastConformer [3] Encoder and Transformer Decoder [4]. With audio features extracted from the encoder, task tokens such as , , \ and \ are fed into the Transformer Decoder to trigger the text generation process. Canary uses a concatenated tokenizer [5] from individual SentencePiece [6] tokenizers of each language, which makes it easy to scale up to more languages. The canary-1b-flash model has 32 encoder layers and 4 decoder layers, leading to a total of 883M parameters. For more details about the architecture, please refer to [1].
To train, fine-tune or transcribe with canary-1b-flash, you will need to install NVIDIA NeMo.
The model is available for use in the NeMo Framework [7], and can be used as a pre-trained checkpoint for inference or for fine-tuning on another dataset.
Please refer to our tutorial for more details.
A few inference examples are listed below:
from nemo.collections.asr.models import EncDecMultiTaskModel
# load model
canary_model = EncDecMultiTaskModel.from_pretrained('nvidia/canary-1b-flash')
# update decode params
decode_cfg = canary_model.cfg.decoding
decode_cfg.beam.beam_size = 1
canary_model.change_decoding_strategy(decode_cfg)
Input Type(s): Audio Input Format(s): .wav or .flac files Input Parameters(s): 1D Other Properties Related to Input: 16000 Hz Mono-channel Audio, Pre-Processing Not Needed
Input to canary-1b-flash can be either a list of paths to audio files or a jsonl manifest file.
If the input is a list of paths, canary-1b-flash assumes that the audio is English and transcribes it. I.e., canary-1b-flash default behavior is English ASR.
output = canary_model.transcribe(
['path1.wav', 'path2.wav'],
batch_size=16, # batch size to run the inference with
pnc='yes', # generate output with Punctuation and Capitalization
)
predicted_text_1 = output[0].text
canary-1b-flash can also generate word and segment level timestamps
output = canary_model.transcribe(
['filepath.wav'],
timestamps='yes', # generate output with timestamps
)
predicted_text = output[0].text
word_level_timestamps = output[0].timestamp['word']
segment_level_timestamps = output[0].timestamp['segment']
For audio files longer than 10 seconds, we recommend using longform inference script (explained in next section) with chunk_len_in_secs=10.0 to generate timestamps.
To use canary-1b-flash for transcribing other supported languages or perform Speech-to-Text translation or provide word-level timestamps, specify the input as jsonl manifest file, where each line in the file is a dictionary containing the following fields:
# Example of a line in input_manifest.json
{
"audio_filepath": "/path/to/audio.wav", # path to the audio file
"source_lang": "en", # language of the audio input, set `source_lang`==`target_lang` for ASR, choices=['en','de','es','fr']
"target_lang": "en", # language of the text output, choices=['en','de','es','fr']
"pnc": "yes", # whether to have PnC output, choices=['yes', 'no']
"timestamp": "yes", # whether to output word-level timestamps, choices=['yes', 'no']
}
and then use:
output = canary_model.transcribe(
"",
batch_size=16, # batch size to run the inference with
)
Canary models are designed to handle input audio smaller than 40 seconds. In order to handle longer audios, NeMo includes speech_to_text_aed_chunked_infer.py script that handles chunking, performs inference on the chunked files, and stitches the transcripts.
The script will perform inference on all .wav files
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Benchmarks
As published on the model card: the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| Automatic Speech Recognition | LibriSpeech (other) | Test WER | 2.870 |
| automatic-speech-recognition | SPGI Speech | Test WER | 1.950 |
| automatic-speech-recognition | Mozilla Common Voice 16.1 | Test WER (En) | 6.990 |
| automatic-speech-recognition | Mozilla Common Voice 16.1 | Test WER (De) | 4.090 |
| automatic-speech-recognition | Mozilla Common Voice 16.1 | Test WER (ES) | 3.620 |
| automatic-speech-recognition | Mozilla Common Voice 16.1 | Test WER (Fr) | 6.150 |
| automatic-speech-translation | FLEURS | Test BLEU (En->De) | 32.270 |
| automatic-speech-translation | FLEURS | Test BLEU (En->Es) | 22.600 |
| automatic-speech-translation | FLEURS | Test BLEU (En->Fr) | 41.220 |
| automatic-speech-translation | FLEURS | Test BLEU (De->En) | 35.500 |
| automatic-speech-translation | FLEURS | Test BLEU (Es->En) | 23.320 |
| automatic-speech-translation | FLEURS | Test BLEU (Fr->En) | 33.420 |
| automatic-speech-translation | COVOST | Test BLEU (De->En) | 39.330 |
| automatic-speech-translation | COVOST | Test BLEU (Es->En) | 41.860 |
| automatic-speech-translation | COVOST | Test BLEU (Fr->En) | 41.430 |