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

sherpa-onnx supports several streaming ASR model families through the SherpaOnnxCreateOnlineRecognizer() API. Configure exactly one model family by filling in the corresponding sub-struct of SherpaOnnxOnlineModelConfig.

See also
SherpaOnnxCreateOnlineRecognizer, SherpaOnnxOnlineRecognizerConfig, SherpaOnnxOnlineModelConfig

Transducer (Zipformer)

Streaming Zipformer transducer models are the most widely used streaming ASR models in sherpa-onnx.

memset(&config, 0, sizeof(config));
config.feat_config.sample_rate = 16000;
"./sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20/"
"encoder-epoch-99-avg-1.int8.onnx";
"./sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20/"
"decoder-epoch-99-avg-1.onnx";
"./sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20/"
"joiner-epoch-99-avg-1.int8.onnx";
"./sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20/tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";
const SherpaOnnxOnlineRecognizer *recognizer =
struct SherpaOnnxOnlineRecognizer SherpaOnnxOnlineRecognizer
Streaming recognizer handle.
Definition c-api.h:424
const SherpaOnnxOnlineRecognizer * SherpaOnnxCreateOnlineRecognizer(const SherpaOnnxOnlineRecognizerConfig *config)
Create a streaming ASR recognizer.
const char * provider
Definition c-api.h:244
SherpaOnnxOnlineTransducerModelConfig transducer
Definition c-api.h:234
Configuration for a streaming ASR recognizer.
Definition c-api.h:338
SherpaOnnxOnlineModelConfig model_config
Definition c-api.h:342
SherpaOnnxFeatureConfig feat_config
Definition c-api.h:340

Model package: sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20

Example source: streaming-zipformer-c-api.c

Nemotron (NeMo Transducer)

Nemotron is an NVIDIA NeMo streaming transducer model. The runtime auto-detects NeMo transducer models from the decoder's output node count, so no model_type string is needed.

"./sherpa-onnx-nemotron-speech-streaming-en-0.6b-560ms-int8-2026-04-25/"
"encoder.int8.onnx";
"./sherpa-onnx-nemotron-speech-streaming-en-0.6b-560ms-int8-2026-04-25/"
"decoder.int8.onnx";
"./sherpa-onnx-nemotron-speech-streaming-en-0.6b-560ms-int8-2026-04-25/"
"joiner.int8.onnx";
"./sherpa-onnx-nemotron-speech-streaming-en-0.6b-560ms-int8-2026-04-25/"
"tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";

Model package: sherpa-onnx-nemotron-speech-streaming-en-0.6b-560ms-int8-2026-04-25

Available variants: 80ms, 160ms, 560ms, 1120ms chunk sizes.

Example source: streaming-nemotron-c-api.c

Streaming Paraformer

Streaming Paraformer is a non-autoregressive streaming ASR model from FunASR.

"./sherpa-onnx-streaming-paraformer-bilingual-zh-en/encoder.int8.onnx";
"./sherpa-onnx-streaming-paraformer-bilingual-zh-en/decoder.int8.onnx";
"./sherpa-onnx-streaming-paraformer-bilingual-zh-en/tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";
SherpaOnnxOnlineParaformerModelConfig paraformer
Definition c-api.h:236

Model package: sherpa-onnx-streaming-paraformer-bilingual-zh-en

Example source: streaming-paraformer-c-api.c

Zipformer2 CTC

Streaming Zipformer2 CTC models use CTC decoding instead of transducer decoding.

"./sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13/"
"ctc-epoch-20-avg-1-chunk-16-left-128.int8.onnx";
"./sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13/"
"tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";
SherpaOnnxOnlineZipformer2CtcModelConfig zipformer2_ctc
Definition c-api.h:238

Model package: sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13

Example source: streaming-ctc-buffered-tokens-c-api.c

T-One CTC

T-One is a streaming CTC model for Russian.

"./sherpa-onnx-streaming-t-one-russian-2025-09-08/model.onnx";
"./sherpa-onnx-streaming-t-one-russian-2025-09-08/tokens.txt";
config.model_config.provider = "cpu";
config.decoding_method = "greedy_search";
SherpaOnnxOnlineToneCtcModelConfig t_one_ctc
Definition c-api.h:268

Model package: sherpa-onnx-streaming-t-one-russian-2025-09-08

Example source: streaming-t-one-ctc-c-api.c