CoolFace
Modelpublic

OpenVoiceOS/stt_es_quartznet15x5_onnx

sourceHugging Facecc-by-4.0updated 2mo agoView on Hugging Face
0likes11downloads
Model Card

sttesquartznet15x5_onnx

Spanish speech-to-text model. ONNX export of stt_es_quartznet15x5 — an NVIDIA NeMo QuartzNet15x5 (char CTC) CTC model — for onnx-asr. Runs offline with ONNX Runtime; PyTorch and NeMo are not required.

Part of the OpenVoiceOS STT/ASR ONNX collection.

Files

FilePurpose
model.onnxEncoder + CTC head, fp32
vocab.txtToken vocabulary (<token> <id> per line, = space, <blk> = CTC blank)
config.jsononnx-asr metadata: model_type: nemo-conformer-ctc, features_size: 64, subsampling_factor: 2

There is no int8 variant: these architectures are convolution-dominated, and dynamic quantization produces ConvInteger nodes that ONNX Runtime cannot execute on CPU. int8 requires static QDQ quantization with calibration data.

Note: 64-mel NeMo models need onnx-asr with nemo64 preprocessor support — currently the TigreGotico fork or the runtime backfill in ovos-stt-plugin-onnx-asr — until it lands upstream.

Usage

With onnx-asr (pip install onnx-asr[cpu,hub]):

python
import onnx_asr

model = onnx_asr.load_model("OpenVoiceOS/stt_es_quartznet15x5_onnx")
print(model.recognize("speech.wav"))  # 16 kHz PCM wav

With OpenVoiceOS, through ovos-stt-plugin-onnx-asr (mycroft.conf):

json
{
  "stt": {
    "module": "ovos-stt-plugin-onnx-asr",
    "ovos-stt-plugin-onnx-asr": {
      "model": "OpenVoiceOS/stt_es_quartznet15x5_onnx"
    }
  }
}

Export and verification

Exported from the original checkpoint with NeMo's model.export() (see the conversion guide). The subsampling_factor was measured empirically on the exported graph, and the export was verified differentially: the ONNX model and the original NeMo checkpoint produce identical transcriptions on a reference clip.

Accuracy, training data and limitations

See the source model card for benchmark results, training corpora and known limitations. This repo changes the runtime, not the weights.

Related projects