sherpa-onnx C API 1.0
Public C API and C++ wrapper for sherpa-onnx
Loading...
Searching...
No Matches
Non-Streaming (Offline) ASR Models

sherpa-onnx supports many non-streaming ASR model families through the SherpaOnnxCreateOfflineRecognizer() API. Configure exactly one model family by filling in the corresponding sub-struct of SherpaOnnxOfflineModelConfig.

See also
SherpaOnnxCreateOfflineRecognizer, SherpaOnnxOfflineRecognizerConfig, SherpaOnnxOfflineModelConfig

Zipformer Transducer

Zipformer transducer is a general-purpose offline ASR model using the encoder-decoder-joiner architecture.

memset(&config, 0, sizeof(config));
config.feat_config.sample_rate = 16000;
"./sherpa-onnx-zipformer-small-en-2023-06-26/encoder-epoch-99-avg-1.onnx";
"./sherpa-onnx-zipformer-small-en-2023-06-26/decoder-epoch-99-avg-1.onnx";
"./sherpa-onnx-zipformer-small-en-2023-06-26/joiner-epoch-99-avg-1.onnx";
"./sherpa-onnx-zipformer-small-en-2023-06-26/tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";
const SherpaOnnxOfflineRecognizer *recognizer =
const SherpaOnnxOfflineRecognizer * SherpaOnnxCreateOfflineRecognizer(const SherpaOnnxOfflineRecognizerConfig *config)
Create a non-streaming ASR recognizer.
struct SherpaOnnxOfflineRecognizer SherpaOnnxOfflineRecognizer
Non-streaming recognizer handle.
Definition c-api.h:1196
SherpaOnnxOfflineTransducerModelConfig transducer
Definition c-api.h:1058
Configuration for a non-streaming ASR recognizer.
Definition c-api.h:1166
SherpaOnnxOfflineModelConfig model_config
Definition c-api.h:1170
SherpaOnnxFeatureConfig feat_config
Definition c-api.h:1168

Model package: sherpa-onnx-zipformer-small-en-2023-06-26

Example source: zipformer-c-api.c

Zipformer CTC

Zipformer CTC uses CTC decoding instead of transducer decoding.

"./sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03/model.int8.onnx";
"./sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03/tokens.txt";
SherpaOnnxOfflineZipformerCtcModelConfig zipformer_ctc
Definition c-api.h:1093

Model package: sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03

Whisper

Whisper is OpenAI's general-purpose speech recognition model. It supports language hints and translation.

memset(&config, 0, sizeof(config));
config.feat_config.sample_rate = 16000;
"./sherpa-onnx-whisper-tiny/tiny-encoder.onnx";
"./sherpa-onnx-whisper-tiny/tiny-decoder.onnx";
config.model_config.whisper.task = "transcribe";
"./sherpa-onnx-whisper-tiny/tiny-tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";
const SherpaOnnxOfflineRecognizer *recognizer =
SherpaOnnxOfflineWhisperModelConfig whisper
Definition c-api.h:1064

Model package: sherpa-onnx-whisper-tiny

Example source: whisper-c-api.c

SenseVoice

SenseVoice is a multilingual model supporting Chinese, English, Japanese, Korean, and Cantonese. It supports automatic language detection and inverse text normalization.

"./sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17-int8/model.int8.onnx";
"./sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17-int8/tokens.txt";
SherpaOnnxOfflineSenseVoiceModelConfig sense_voice
Definition c-api.h:1085

Model package: sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17-int8

Example source: sense-voice-c-api.c

NeMo Parakeet TDT

Parakeet TDT is an NVIDIA NeMo transducer model. Set model_type to "nemo_transducer" so the runtime selects the correct decoder implementation.

"./sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8/encoder.int8.onnx";
"./sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8/decoder.int8.onnx";
"./sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8/joiner.int8.onnx";
"./sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8/tokens.txt";
config.model_config.model_type = "nemo_transducer";

Model package: sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8

Example source: nemo-parakeet-c-api.c

GigaAM v2 (NeMo Transducer, Russian)

GigaAM v2 is a NeMo transducer model for Russian speech recognition. Like Parakeet, set model_type to "nemo_transducer".

"./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/"
"encoder.int8.onnx";
"./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/"
"decoder.onnx";
"./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/"
"joiner.onnx";
"./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/"
"tokens.txt";
config.model_config.model_type = "nemo_transducer";

Model package: sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19

Example source: nemo-giga-am-v2-c-api.c

NeMo CTC

NeMo CTC models use CTC decoding. They are simpler than NeMo transducer models (no joiner network).

"./sherpa-onnx-nemo-ctc-en-citrinet-512/model.onnx";
"./sherpa-onnx-nemo-ctc-en-citrinet-512/tokens.txt";
SherpaOnnxOfflineNemoEncDecCtcModelConfig nemo_ctc
Definition c-api.h:1062

Model package: sherpa-onnx-nemo-ctc-en-citrinet-512

Example source: nemo-ctc-c-api.c

Paraformer

Paraformer is a non-autoregressive ASR model from FunASR.

"./sherpa-onnx-paraformer-zh-small-2024-03-09/model.int8.onnx";
"./sherpa-onnx-paraformer-zh-small-2024-03-09/tokens.txt";
SherpaOnnxOfflineParaformerModelConfig paraformer
Definition c-api.h:1060

Model package: sherpa-onnx-paraformer-zh-small-2024-03-09

Example source: paraformer-c-api.c

Moonshine

Moonshine is a compact speech recognition model. It uses a preprocessor, encoder, and decoder (cached or uncached).

"./sherpa-onnx-moonshine-tiny-en-int8/preprocess.onnx";
"./sherpa-onnx-moonshine-tiny-en-int8/encode.int8.onnx";
"./sherpa-onnx-moonshine-tiny-en-int8/uncached_decode.int8.onnx";
"./sherpa-onnx-moonshine-tiny-en-int8/cached_decode.int8.onnx";
"./sherpa-onnx-moonshine-tiny-en-int8/tokens.txt";
SherpaOnnxOfflineMoonshineModelConfig moonshine
Definition c-api.h:1087

Model package: sherpa-onnx-moonshine-tiny-en-int8

Example source: moonshine-c-api.c

FireRedAsr

FireRedAsr is an encoder-decoder ASR model supporting Chinese and English.

"./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/encoder.int8.onnx";
"./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/decoder.int8.onnx";
"./sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/tokens.txt";
SherpaOnnxOfflineFireRedAsrModelConfig fire_red_asr
Definition c-api.h:1089

Model package: sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16

Example source: fire-red-asr-c-api.c

FireRedAsr CTC

CTC variant of FireRedAsr.

"./sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25/model.int8.onnx";
"./sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25/tokens.txt";
SherpaOnnxOfflineFireRedAsrCtcModelConfig fire_red_asr_ctc
Definition c-api.h:1105

Model package: sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25

Example source: fire-red-asr-ctc-c-api.c

Dolphin

Dolphin is a multilingual CTC model.

"./sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02/model.int8.onnx";
"./sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02/tokens.txt";
SherpaOnnxOfflineDolphinModelConfig dolphin
Definition c-api.h:1091

Model package: sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02

Example source: dolphin-ctc-c-api.c

NeMo Canary

Canary is an NVIDIA NeMo model supporting English, Spanish, German, and French with source/target language selection and punctuation.

"./sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8/encoder.int8.onnx";
"./sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8/decoder.int8.onnx";
"./sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8/tokens.txt";
SherpaOnnxOfflineCanaryModelConfig canary
Definition c-api.h:1095

Model package: sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8

Example source: nemo-canary-c-api.c

Cohere Transcribe

Cohere Transcribe is a multilingual encoder-decoder model with built-in punctuation and inverse text normalization.

"./sherpa-onnx-cohere-transcribe-14-lang-int8-2026-04-01/encoder.int8.onnx";
"./sherpa-onnx-cohere-transcribe-14-lang-int8-2026-04-01/decoder.int8.onnx";
"./sherpa-onnx-cohere-transcribe-14-lang-int8-2026-04-01/tokens.txt";
SherpaOnnxOfflineCohereTranscribeModelConfig cohere_transcribe
Definition c-api.h:1109

Model package: sherpa-onnx-cohere-transcribe-14-lang-int8-2026-04-01

Example source: cohere-transcribe-c-api.c

WeNet CTC

WeNet CTC models support Chinese, English, and Cantonese.

"./sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/"
"model.int8.onnx";
"./sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/"
"tokens.txt";
SherpaOnnxOfflineWenetCtcModelConfig wenet_ctc
Definition c-api.h:1097

Model package: sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10

Example source: wenet-ctc-c-api.c

Omnilingual

Omnilingual is a CTC model supporting 1600 languages.

"./sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12/"
"model.int8.onnx";
"./sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12/"
"tokens.txt";
SherpaOnnxOfflineOmnilingualAsrCtcModelConfig omnilingual
Definition c-api.h:1099

Model package: sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12

Example source: omnilingual-asr-ctc-c-api.c

FunASR Nano

FunASR Nano is an LLM-based ASR model from FunASR.

"./sherpa-onnx-funasr-nano-int8-2025-12-30/encoder_adaptor.int8.onnx";
"./sherpa-onnx-funasr-nano-int8-2025-12-30/embedding.int8.onnx";
"./sherpa-onnx-funasr-nano-int8-2025-12-30/llm.int8.onnx";
"./sherpa-onnx-funasr-nano-int8-2025-12-30/Qwen3-0.6B";
"./sherpa-onnx-funasr-nano-int8-2025-12-30/tokens.txt";
SherpaOnnxOfflineFunASRNanoModelConfig funasr_nano
Definition c-api.h:1103

Model package: sherpa-onnx-funasr-nano-int8-2025-12-30

Example source: funasr-nano-c-api.c

Qwen3-ASR

Qwen3-ASR is an LLM-based ASR model from Alibaba.

"./sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25/conv_frontend.onnx";
"./sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25/encoder.int8.onnx";
"./sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25/decoder.int8.onnx";
"./sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25/tokenizer";
"./sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25/tokens.txt";
SherpaOnnxOfflineQwen3ASRModelConfig qwen3_asr
Definition c-api.h:1107

Model package: sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25

Example source: qwen3-asr-c-api.c

MedASR

MedASR is a medical-domain CTC model.

"./sherpa-onnx-medasr-ctc-en-int8-2025-12-25/model.int8.onnx";
"./sherpa-onnx-medasr-ctc-en-int8-2025-12-25/tokens.txt";
SherpaOnnxOfflineMedAsrCtcModelConfig medasr
Definition c-api.h:1101

Model package: sherpa-onnx-medasr-ctc-en-int8-2025-12-25

Example source: medasr-ctc-c-api.c

TeleSpeech CTC

TeleSpeech is a Chinese CTC model. Note the simple string assignment for the model path.

"./sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04/model.int8.onnx";
"./sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04/tokens.txt";
const char * telespeech_ctc
Definition c-api.h:1083

Model package: sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04

Example source: telespeech-c-api.c