SenseVoiceSmall ONNX

ONNX export of FunAudioLLM/SenseVoiceSmall for onnx-asr, model type sensevoice.

SenseVoiceSmall is a non-autoregressive speech model. One encoder pass and one CTC greedy collapse give the transcript, so there is no decoder loop. It also reports the spoken language, an emotion and an audio event.

Languages: Chinese, Cantonese, English, Japanese, Korean.

Files

File Size Notes
model.onnx + model.onnx_data 941 MB fp32
model_int8.onnx 241 MB dynamic int8, weights only (MatMul and Gemm)
vocab.txt 25055 tokens SentencePiece pieces, id 0 renamed to <blk>
config.json model type, prompt id tables

Usage

import onnx_asr

model = onnx_asr.load_model("sensevoice", "OpenVoiceOS/sensevoice-small-onnx")
print(model.recognize("audio.wav"))

# language detection is automatic, or force one
print(model.recognize("audio.wav", language="zh"))
# inverse text normalization adds punctuation and digits
print(model.recognize("audio.wav", use_itn=True))

The detected language, emotion, audio event and text-normalization mode are the first four entries of result.tokens when you call recognize with timestamps:

result = model.recognize("audio.wav", timestamps=True)
print(result.tokens[:4])   # ['<|zh|>', '<|NEUTRAL|>', '<|Speech|>', '<|woitn|>']
print(result.text)         # rich tokens are not in the text

Graph contract

Input Type Shape Meaning
features f32 (B, T, 80) kaldi fbank, the onnx-asr wespeaker preprocessor
features_lens i64 (B,) valid frames per item
language i64 (B,) FunASR lid embedding index (auto 0, zh 3, en 4, yue 7, ja 11, ko 12)
textnorm i64 (B,) 14 withitn, 15 woitn
Output Type Shape
logprobs f32 (B, ceil(T/6) + 4, 25055)
logprobs_lens i64 (B,)

The FunASR WavFrontend does three things: a kaldi fbank, a low frame rate stack (lfr_m 7, lfr_n 6) and the am.mvn mean-variance statistics. Only the fbank stays outside the graph, because onnx-asr already computes exactly that fbank for wespeaker (hamming window, snip_edges, dither 0, preemphasis 0.97, 400/160/512, 80 mel bins, log(max(x, eps))). The LFR stack and the CMVN are folded into model.onnx, together with the four prompt frames.

Batch padding is replaced in-graph by each item's last valid frame before the LFR stack, which is what the FunASR right-padding does. Batched and single-clip results are therefore identical.

License and attribution

The weights are not Apache-2.0 and not an OSI-approved open-source license. They are a conversion of FunAudioLLM/SenseVoiceSmall, which is released by Alibaba Group under the FunASR Model Open Source License Agreement, version 1.1 (text). Read it before you use this model. The terms that matter, as written:

  • You may use, copy, modify and share the model.
  • You must attribute the source and author and retain the model names. This repository keeps the name SenseVoice and credits Alibaba Group and the FunASR project, as required.
  • The model is provided "for reference and learning purposes only". Alibaba Group accepts no responsibility for direct or indirect losses, and you carry all risk.
  • Section 4.2 forfeits your license if you engage in "unjustified denigration, malicious smearing, or baseless insults" against the software. This is a conduct-based termination clause. No OSI-approved license has one, so this model cannot be called open source.
  • Section 6 lets Alibaba Group revise the agreement at any time by publishing a new version, and continued use counts as acceptance.
  • Section 7 names the governing law only as "[Country/Region]", an unfilled placeholder in the published text.

Nothing in this export changes those terms. Only the onnx-asr runtime code is Apache-2.0; it lives in the onnx-asr repository, not here.

Model: Copyright (C) 2023-2028 Alibaba Group. All rights reserved. Original model: https://huggingface.co/FunAudioLLM/SenseVoiceSmall Project: https://github.com/modelscope/FunASR

Downloads last month
315
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for OpenVoiceOS/sensevoice-small-onnx

Quantized
(9)
this model

Collections including OpenVoiceOS/sensevoice-small-onnx