Glossary of Terms¶
This glossary defines common terms, acronyms, and concepts used throughout the OpenVoiceOS (OVOS) ecosystem. New to OVOS? Skim this first. Most pages assume these words.
Entries that cite a spec
An entry that links to an OVOS-* spec names part of the formal vocabulary of the
OVOS architecture: a concept with a normative, implementation-agnostic definition, and the
link goes to the spec that defines it. For the full set and how they fit together, see the
spec index. You can safely skip those links on a first read.
They matter once you are checking a component for spec conformance, not for everyday use.
Day-one terms
Brand new and just following Your First Skill? The entries you actually need first are: terminal / shell, pip, virtual environment (venv), skill, intent, utterance, wake word, STT, TTS, messagebus, and skill_id. Everything else here is reference material you can meet when a page links to it.
A¶
- Adapt
- A keyword-based intent parser used for simple, high-confidence commands. Its
.vockeywords use the shared template grammar (OVOS-INTENT-1). - Agent Engine
- (Formerly Solver) A plugin that provides answers to questions or interacts with LLMs (e.g., ChatEngine, RetrievalEngine).
- ASR (Automatic Speech Recognition)
- Another name for STT: it turns spoken audio into text.
- Audio Service
- The OVOS component (
ovos-audio) responsible for TTS synthesis and audio playback.
B¶
- Bus / messagebus
- The WebSocket-based communication backbone of OVOS. Every service talks by sending JSON messages over it.
C¶
- Common Play (OCP)
- OpenVoiceOS Common Play: a framework and intent handler specialized in finding and playing media (music, video, podcasts). The per-session virtual media player it arbitrates is specified by OVOS-OCP-1.
- Constraints file
- A version "filter" (a pip constraints file) that pins which package versions a release channel allows.
- Converse
- A mechanism that allows skills to intercept utterances during an active session (continuous conversation). Specified by OVOS-CONVERSE-1.
D¶
- Dialog
- A
.dialogfile holding sentences OVOS speaks (often with{variables}). The output counterpart of an intent. Its format is specified by OVOS-INTENT-2, its grammar by OVOS-INTENT-1. - Dinkum Listener
ovos-dinkum-listener, the default voice loop: wake word → record → VAD → STT.- Dispatch-shaped topic
- A bus topic containing
:, assembled from identifiers to address one specific registered handler: canonically<skill_id>:<intent_name>. The:is the marker. Only a formal specification may define a colon-bearing topic shape. OVOS-MSG-1 §2.1.1. - Dotted addressed topic
- An ordinary
:-free dotted topic (<x>.<y>.<verb>) that names a specific recipient in one of its segments, for example the legacy{skill_id}.converse.request. It is an addressed message, not a dispatch. The spec treats these as legacy: per OVOS-MSG-1 §2.1.1 a spec-conformant dotted topic is a static string, and addressing travels in the payload instead (as inovos.common_query.requestnaming its target indata.skill_id).
E¶
- Embeddings
- Numeric vectors that capture the meaning of text (or audio/images), so similar things sit close together. Used for semantic search and RAG memory.
- Enclosure
- The physical hardware housing the assistant (e.g., Mycroft Mark 1).
- Entity
- A specific piece of data extracted from an utterance (e.g., "London" in "What is the weather in London?").
- Entry point
- A line in a package's
pyproject.toml/setup.pythat advertises a plugin or skill class to OVOS, so OPM can discover it (e.g. underopm.sttoropm.skill). - Extras
- Optional install bundles in brackets, e.g.
ovos-core[mycroft], that pull in predefined groups of components. See Installation.
F¶
- Fallback
- A stage in the intent pipeline where skills can attempt to handle utterances that weren't matched by high-priority parsers. Specified by OVOS-FALLBACK-1.
- First-match-wins
- The pipeline's arbitration model: the orchestrator walks the pipeline plugins in
session.pipelineorder and dispatches the first one that returns aMatch. Ordering is policy: an earlier plugin gets to answer before any later plugin is asked. This (not a confidence ranking) is what lets a stage such as Converse intercept an utterance ahead of normal intent matching. OVOS-PIPELINE-1.
G¶
- G2P (Grapheme-to-Phoneme)
- The process of converting written text into phonetic representations for pronunciation. See G2P plugins.
- GUI Service
- The component (
ovos-gui) that manages visual displays and QML/HTML interfaces. Warning: the current ("legacy") GUI is deprecated. There is no usable OVOS GUI. A replacement is in progress.
H¶
- Headless
- A device with no monitor or keyboard (e.g. a Raspberry Pi you control over SSH). OVOS runs happily headless.
- home.mycroft.ai
- The old Mycroft AI cloud account/backend portal used for device pairing, remote skill settings, and STT. OVOS has no equivalent: it is backendless by design, with no account or pairing step required. See Deprecated & Archived Repositories and Migrating from Mycroft.
- HiveMind
- A protocol and ecosystem for connecting "satellites" (limited hardware) to a central OVOS server.
hivemind-core- In HiveMind, the central server that satellites and clients connect to for the heavy work (skills, STT/TTS, LLM).
I¶
- Intent
- The identified goal or request of a user's utterance (e.g., "WeatherIntent").
- Intent file (
.intent) - A list of example sentences a user might say to trigger a skill: a template (example-based) intent matched by Padatious.
- Intent Pipeline
- The ordered sequence of parsers and matchers used to resolve an utterance into an intent. Specified by OVOS-PIPELINE-1.
- IPA (International Phonetic Alphabet)
- A standard notation for the individual sounds of speech, used by G2P / phonemizers.
K¶
- Kirigami
- A UI framework from KDE used for building responsive OVOS GUI interfaces.
L¶
- Listener
- The service that captures microphone audio, detects the wake word, and records speech for transcription. See Speech Service.
M¶
- Mark 1 / Mark 2
- Mycroft's reference hardware devices. The Mark 1 is a faceplate-only speaker, fully supported; the Mark 2 is a Raspberry Pi 4 device with a touchscreen, discontinued and best-effort. See Mark 1 / Mark 2 for current status.
- Match Contract
- The single method every pipeline plugin exposes:
match(utterances, lang, session) → Match \| None. It is the "system-call ABI" of the voice OS: the orchestrator knows nothing about a plugin except this signature. Returning aMatchclaims the utterance. ReturningNonedeclines it. OVOS-PIPELINE-1. - Message
- A JSON object sent over the messagebus, containing a
type,data, andcontext. - MiniCroft
- A lightweight, in-process version of
ovos-coreused for end-to-end testing withovoscope. mycroft.conf- OVOS's main configuration file (JSON). The same filename is layered across system → distribution → user locations, with the user's copy winning.
O¶
- OCP Stream Extractor
- A plugin that resolves abstract URIs (like YouTube links) into playable media streams.
- ONNX
- An open, portable model format OVOS uses to run STT / TTS / wake-word neural models efficiently across platforms (CPU-friendly).
- OPM (ovos-plugin-manager)
- The library responsible for discovering and loading OVOS plugins.
- Orchestrator
- The logical role that drives the intent pipeline: it iterates the pipeline plugins, dispatches the winning Match to the owning handler on
<skill_id>:<intent_name>, and emits the handler-lifecycle events (ovos.intent.handler.start/.complete/.error). In OVOS this role is filled by ovos-core, but the spec is implementation-agnostic: any conformant orchestrator works. OVOS-PIPELINE-1. - OVOS (OpenVoiceOS)
- The whole open-source, privacy-respecting voice assistant platform this manual documents.
- ovos-core
- The "brain" service that runs skills and decides which one should answer an utterance. See ovos-core.
- ovos-installer
- The guided installer (a TUI wizard) that sets OVOS up for you: the recommended way to install.
P¶
- Padatious
- An example-based intent parser that uses a small neural network to match utterances against sample sentences.
- Persona
- A configurable AI personality (backed by an agent engine / LLM) that answers open-ended questions.
- PHAL
- Platform & Hardware Abstraction Layer. A service that handles low-level hardware interactions (volume, buttons, etc.).
- pip
- Python's package installer: the command you run (
pip install ...) to add a library or skill to a Python environment. See virtual environment (venv) below for which environment it installs into. - Pipeline Plugin
- A matcher that exposes the match contract:
match(utterances, lang, session) → Match \| None. The orchestrator iterates the installed pipeline plugins insession.pipelineorder, first-match-wins. A plugin returns aMatchto claim the utterance, orNoneto pass. Adapt, Padatious, Converse, Fallback, OCP and Persona are all pipeline plugins. OVOS-PIPELINE-1. - Plugin
- A swappable building block (a STT, TTS, wake word, VAD… engine). Plugins change how OVOS works. Skills add what it can do.
Q¶
- QML
- A declarative language used for designing the user interface of OVOS skills.
R¶
- RAG (Retrieval-Augmented Generation)
- Fetching relevant remembered/retrieved context and giving it to an LLM before it answers. See Persona Memory.
- Recency-targeted stop
- How the stop plugin picks a target: among positive responders to the stoppability poll it stops the entry with the highest
activated_atinsession.active_handlers. When no handler answers positively it still falls back to recency over the fullactive_handlersset rather than escalating; a global stop is reserved for explicit global-stop vocabulary and the empty-active_handlerscase. OVOS-STOP-1 §4.1. - Release Channel
- A stability track, either stable, testing, or alpha, that controls how new the installed packages are. See Release Channels.
- Reserved
intent_name - A small set of intent names (
stop,converse,response,fallback,common_query) that skills must not register, because the orchestrator dispatches them on<skill_id>:<intent_name>on behalf of a pipeline plugin (e.g. Converse emitsresponse, Stop emitsstop). Each is leased to its owning spec. OVOS-PIPELINE-1 §7.3.
S¶
- Satellite
- In HiveMind, a lightweight device (e.g. a small Pi) that captures voice and forwards it to
hivemind-core. - Session
- A data structure representing a specific user interaction or conversation state across multiple turns. See Session (carrier) below. Its wire shape is OVOS-SESSION-1, its lifecycle OVOS-SESSION-2.
- Session (carrier)
- The per-conversation JSON state that rides inside
Message.context.sessionon every bus message: the voice OS's "shared memory". OVOS-SESSION-1 fixes its wire shape and the field registry other specs extend (e.g.session.pipeline,session.response_mode,session.persona_id). OVOS-SESSION-2 fixes its lifecycle: who owns it, when it may be mutated, and the reserved"default"device session. - Skill
- A modular add-on that gives OVOS a new ability (e.g., "Weather Skill").
- Skill Settings
- Per-skill configuration, optionally editable by the user. See Skill Settings.
skill_id- A skill's unique identifier (e.g.
ovos-skill-weather.openvoiceos), taken from its entry point. Used to namespace its settings, events, and resources. - Solver
- The former name for an Agent Engine. You'll still see it in older configs and code.
- SSML (Speech Synthesis Markup Language)
- Tags that control how TTS speaks a sentence: pauses, emphasis, pitch, rate. Experimental and engine-dependent: most TTS plugins ignore it. See SSML.
- STT (Speech-to-Text)
- The process of transcribing spoken audio into text.
- systemd
- The Linux service manager most OVOS installs run under. It starts each OVOS component (
ovos-core,ovos-audio, …) as a background service and restarts it if it crashes. Its unit files describe how each service is launched (which command, which environment).
T¶
- terminal / shell
- The text-only command window where you type commands instead of clicking things. On Linux this is usually
bashorzsh. Most OVOS install and troubleshooting steps happen here. - Transformer
- A plugin that modifies audio, text, or metadata as it moves through the pipeline. Specified by OVOS-TRANSFORM-1. See Transformer Chain below.
- Transformer Chain
- One of six ordered chains (audio, utterance, metadata, intent, dialog, tts) that reshape an artifact at a fixed point in the utterance lifecycle. Unlike a pipeline plugin (which decides whether to claim an utterance), every transformer in a chain always runs at its injection point. OVOS-TRANSFORM-1.
- TTS (Text-to-Speech)
- The process of synthesizing spoken audio from text.
U¶
- Utterance
- The text transcription of a user's spoken command.
V¶
- VAD (Voice Activity Detection)
- The process of detecting when a user starts and stops speaking.
- virtual environment (venv)
- An isolated Python install with its own set of packages, kept separate from the system Python. You activate a venv (e.g.
source path/to/venv/bin/activate) so that pip installs into that isolated copy instead of somewhere else. This matters for OVOS because a skill installed into the wrong environment won't be found byovos-core. - Visemes
- Visual representations of phonemes used for lip-sync animations on a GUI.
- Voice Operating System
- The framing the formal specs are built around: OVOS is a platform, not a product. Like a general-purpose OS, it defines the boundary between user input and computation, arbitrates which application handles each utterance, and exposes a stable ABI (the match contract) that third-party skills and plugins run against without knowing about each other. See the spec index for the OS-concept ↔ voice-OS mapping. OVOS-PIPELINE-1.
- Vocabulary (
.voc) - A file of keywords / sentence fragments (not full sentences) used by keyword (rule-based) intents: what Adapt and skills match against.
W¶
- Wake word
- The specific phrase (e.g., "Hey Mycroft") that triggers the listener to start recording.
- Wyoming
- A simple voice protocol (from the Home Assistant world) that OVOS can bridge to and from.
X¶
- XDG
- The freedesktop standard for where config / data / cache files live (
~/.config,~/.local/share, …). OVOS follows it, so your settings aren't scattered.
Deprecated & alias terms¶
Older docs, code comments, and community posts sometimes use terms that have since been replaced. These still mean the same thing. You don't need to update anything working, but prefer the current name in new writing:
| Old term | Current term |
|---|---|
| Solver | Agent Engine |
| Intent engine / intent parser | Pipeline plugin |
| Hotword / wake word (as a standalone term) | Wake word. Note: this stays as written inside real identifiers, such as the wakeword config keys and the recognizer_loop:wakeword bus message. |
Read next: Start Here Related: Concepts Overview · Formal Specifications · Project Timeline & History