Licence for sherpa-onnx-streaming-zipformer-small-ru-vosk-2025-08-16?

Author: tehkiCreated Sep 3, 2026Updated Sep 4, 2026

Hello, and thank you for sherpa-onnx and for publishing so many models in a directly loadable form.

I'd like to ask about the licence of one model, because I can't currently use it and I think the fix may be a single line of metadata.

The model

csukuangfj/sherpa-onnx-streaming-zipformer-small-ru-vosk-2025-08-16 has no licence declared — the repo card has no YAML metadata, and the Hub API returns license: None.

It works: it loads and streams correctly. But for an Apache-2.0 project, "no licence declared" isn't something we can treat as permissive, so we've had to leave Russian at batch latency (through Whisper) rather than use it.

Why I can't just use the upstream model instead

The obvious answer is to go to the upstream publisher, and Alphacephei do publish under Apache-2.0. But both of their Russian ONNX exports are missing the metadata sherpa-onnx's streaming transducer needs:

Model Licence OnlineRecognizer.from_transducer
alphacep/vosk-model-ru apache-2.0 'encoder_dims' does not exist in the metadata
alphacep/vosk-model-small-ru apache-2.0 ✗ same
csukuangfj/...-small-ru-vosk-2025-08-16 none declared ✓ works

Their encoder metadata is:

alphacep/vosk-model-ru        comment = "non-streaming zipformer2", model_type = zipformer2
alphacep/vosk-model-small-ru  comment = "zipformer",                model_type = zipformer

vosk-model-ru loads fine as an OfflineRecognizer, so that one is genuinely non-streaming. vosk-model-small-ru looks like it may be streaming-capable but exported without the streaming metadata block.

So the only artefact that streams is the one without a licence, and the only licensed artefacts don't stream. That's the whole reason for asking.

The ask

Would it be possible to declare a licence on the republication — presumably the Apache-2.0 it inherits from upstream, if that's the correct reading?

I appreciate this may be more complicated than it looks from outside, and that inherited licensing isn't always straightforward to state on someone else's behalf. If the right move is for me to ask Alphacephei for a streaming export instead, I'm happy to do that — I just wanted to check here first, since the model that already works is the one published in this ecosystem.

Reproducing

python
import sherpa_onnx  # 1.13.7
sherpa_onnx.OnlineRecognizer.from_transducer(
    tokens="lang/tokens.txt",
    encoder="am/encoder.int8.onnx",
    decoder="am/decoder.int8.onnx",
    joiner="am/joiner.int8.onnx",
    num_threads=2, provider="cpu", sample_rate=16000, feature_dim=80,
)
# alphacep/vosk-model-small-ru ->
#   online-zipformer-transducer-model.cc:InitEncoder:110
#       'encoder_dims' does not exist in the metadata

Thanks again for the project — the English streaming model has been working very well for us.