Skip to content

STT Plugins Reference

In a nutshell

This page holds the full technical entry for each STT plugin in the roster: repository link, license notes, and a default configuration snippet where one exists. Start at STT Plugins to pick a plugin; come here for the exact settings.

ovos-stt-plugin-wav2vec

Example Configuration

  "stt": {
    "module": "ovos-stt-plugin-wav2vec",
    "ovos-stt-plugin-wav2vec": {
        "model": "proxectonos/Nos_ASR-wav2vec2-large-xlsr-53-gl-with-lm"
    }
  }

There is no single hardcoded default model: the plugin picks a model from an internal per-language table (keyed by BCP-47 language code) unless model is set explicitly, and raises an error if the configured lang has no entry and no model is given. The proxectonos/Nos_ASR-... model above is only the entry for Galician (gl). Other languages resolve to different pretrained models.


ovos-stt-plugin-azure


ovos-stt-plugin-chromium

Note

This plugin talks to the same unofficial, undocumented endpoint used by the Chrome browser's speech recognition feature. It is not a published Google Cloud Speech-to-Text API with an API key. Google can change or revoke access to this endpoint at any time.


ovos-stt-plugin-mms

Default Configuration

"stt": {
    "module": "ovos-stt-plugin-mms",
    "ovos-stt-plugin-mms": {
      "model": "facebook/mms-1b-all"
    }
}

ovos-stt-server-plugin

Talks to a public community server by default

Leaving urls unset falls back to a best-effort, publicly-run community STT server, not a private or guaranteed-available endpoint. Point it at your own self-hosted server (see stt-server) if you need privacy or reliability.

  "stt": {
    "module": "ovos-stt-plugin-server",
    "ovos-stt-plugin-server": {
      "urls": ["https://your-own-server.example/stt"],
      "verify_ssl": true
    },
 }

Leaving urls unset falls back to a shuffled pick from the plugin's own hardcoded public community-run server list, currently stt.openvoiceos.pt and stt.smartgic.io, rather than failing. See stt-server for a self-hosted alternative, or pick a fully offline engine from the table above.

Community servers are best-effort demos

The public OVOS servers exist for easy onboarding and demos only. They are best-effort, not optimized, carry no uptime guarantees, and may vanish at any time. OVOS will be slow and unreliable if you rely on them. The official recommendation is to self-host — or skip servers entirely: fully offline plugins exist for everything.


ovos-stt-http-server


ovos-stt-plugin-whisper

  • GitHub: TigreGotico/ovos-stt-plugin-whisper (the identically named OpenVoiceOS/ovos-stt-plugin-whisper repo is an older, different plugin wrapping the whisper pip package, default model base, no CUDA switch)

  • Description: OpenVoiceOS STT plugin for Whisper, using transformers library

Defaults when unset: model is openai/whisper-large-v3-turbo and use_cuda is off (CPU).

  "stt": {
    "module": "ovos-stt-plugin-whisper",
    "ovos-stt-plugin-whisper": {
        "model": "openai/whisper-large-v3-turbo",
        "use_cuda": true
    }
  }

ovos-stt-plugin-whispercpp

Default Configuration

  "stt": {
    "module": "ovos-stt-plugin-whispercpp",
    "ovos-stt-plugin-whispercpp": {
        "model": "base"
    }
  }

ovos-stt-plugin-fasterwhisper

CTranslate2 also supports int8 / int8_float16 compute types for lower-RAM CPU deployments. Change compute_type to use them.

Defaults when unset: model is large-v3-turbo, compute_type is int8, and use_cuda is false.

  "stt": {
    "module": "ovos-stt-plugin-fasterwhisper",
    "ovos-stt-plugin-fasterwhisper": {
        "model": "large-v3-turbo",
        "use_cuda": true,
        "compute_type": "float16",
        "beam_size": 5,
        "cpu_threads": 4
    }
  }

ovos-stt-plugin-nemo

CPU is the shipped default (use_cuda: false). Set use_cuda: true for acceptable throughput on supported GPUs. The GPU recommendation is about speed, not a required default.

Example Configuration

  "stt": {
    "module": "ovos-stt-plugin-nemo",
    "ovos-stt-plugin-nemo": {
        "model": "stt_eu_conformer_ctc_large",
        "use_cuda": false
    }
  }

The model shown is the Basque pick; without config the plugin resolves the model from the global lang via its internal table (en resolves to stt_en_quartznet15x5).


ovos-stt-plugin-whisper-lm

Example Configuration

  "stt": {
    "module": "ovos-stt-plugin-whisper-lm",
    "ovos-stt-plugin-whisper-lm": {
        "model": "zuazo/whisper-medium-eu",
        "lm_repo": "HiTZ/whisper-lm-ngrams",
        "lm_model": "5gram-eu.bin",
        "lm_alpha": 0.33582369,
        "lm_beta": 0.68825565,
        "use_cuda": true
    }
  }

This is a Basque-language example. The plugin only auto-selects pretrained models for gl/es/eu/ca; on any other configured language, set model, lm_repo, and lm_model explicitly or init raises a ValueError.


ovos-stt-plugin-citrinet

Example Configuration

  "stt": {
    "module": "ovos-stt-plugin-citrinet",
    "ovos-stt-plugin-citrinet": {
      "lang": "ca"
    }
  }

ovos-stt-plugin-nos

Default Configuration

"stt": {
    "module": "ovos-stt-plugin-nos"
}

ovos-stt-plugin-HiTZ

Default Configuration

  "stt": {
    "module": "ovos-stt-plugin-HiTZ",
    "ovos-stt-plugin-HiTZ": {
        "model": "stt_eu_conformer_transducer_large"
    }
  }

ovos-stt-plugin-vosk

Example Configuration

  "stt": {
    "module": "ovos-stt-plugin-vosk",
    "ovos-stt-plugin-vosk": {
        "model": "/path/to/unzipped/model/folder"
    }
  }

With no model configured, the plugin auto-downloads a default model for the configured language; the path here is where a custom local model would go.


ovos-stt-plugin-onnx-asr

  • GitHub: OpenVoiceOS/ovos-stt-plugin-onnx-asr

  • Description: Runs onnx-asr models via ONNX Runtime with no PyTorch/transformers dependency. Inference is fully offline. Models are downloaded from Hugging Face on first load, so it runs offline after the model has been fetched once (there is currently no plugin-level option to pin a purely-local model directory). Supports NeMo Parakeet and Canary, Whisper, and wav2vec2 model families.

If model is omitted, the plugin loads its built-in default nemo-canary-1b-v2, a ~1B-parameter model with strong accuracy but a heavier footprint. For typical offline devices we recommend setting the lighter nemo-parakeet-tdt-0.6b-v3 explicitly:

  "stt": {
    "module": "ovos-stt-plugin-onnx-asr",
    "ovos-stt-plugin-onnx-asr": {
        "model": "nemo-parakeet-tdt-0.6b-v3"
    }
  }
Config key Default Effect
model nemo-canary-1b-v2 Built-in alias or any Hugging Face ONNX ASR repo id
quantization unset Set "int8" to load int8 weights where a model ships them (smaller/faster)
use_cuda false Select the CUDA execution provider (with a CPU fallback)
providers unset Explicit list of onnxruntime execution providers, takes precedence over use_cuda
lang2model unset Per-language routing map, e.g. {"ru": "gigaam-v2-rnnt"}. BCP-47 keys, full tags beat primary subtags. A language named here (or via an ONNX_ASR_DEFAULT_<LANG> env var) beats model; an unnamed language still uses model if set, and only falls to the plugin's built-in best-model-per-language registry when neither is configured. Routed models load lazily on first request and stay cached
max_loaded_models unset LRU cap on resident models (each is multi-GB when serving many languages). Unset keeps every loaded model forever; when set, the least-recently-used model is evicted as a new one would exceed the cap. Bounds cache retention, not peak memory: a model mid-transcription is held by its thread
cpu_models_only false When true, drops any model whose id advertises 0.6B+ parameters from the built-in per-language registry and swaps the ultimate fallback from nemo-canary-1b-v2 (1B) to whisper-base (74M). Naming an excluded model explicitly through model or lang2model is refused at startup rather than silently swapped. Off by default; leaving it unset keeps every model selectable

Language handling is model-family-gated

The configured/utterance language is only passed to the ASR call for Whisper and Canary (NeMo Conformer AED) families. Other families (Parakeet, GigaAM, Vosk, wav2vec2, T-one) ignore lang. For those, pick a language-specific model instead of relying on a lang setting to steer a multilingual one.

Besides the built-in aliases and the onnx-asr repository's own model hub, the plugin loads any repo id from the OpenVoiceOS/stt-asr-onnx collection. This collection holds curated single-language and regional ONNX conversions of NeMo Conformer/Parakeet and Whisper checkpoints, grouped roughly by family: AI4Bharat/Vaani models for Indian languages, NVIDIA Conformer/Parakeet models for major European languages (plus Kabyle, Belarusian, Esperanto, Kinyarwanda), Iberian-language Conformer models, and per-language Whisper finetunes. Most ship both fp32 and int8 weights (quantization: "int8" works). A few large models are fp32-only. See the collection itself for the exhaustive, current list. It grows independently of this plugin's release cycle.



Read next: STT Plugins Related: Writing an STT Plugin · Wake-word Plugins · STT Server