ovos-core vs mycroft-core

Speech Client

Feature Mycroft OVOS Description
Wake Word (listen) yes yes Only transcribe speech (STT) after a certain word is spoken
Wake Up Word (sleep mode) yes yes When in sleep mode only listen for "wake up" (no STT)
Hotword (bus event) no yes Emit bus events when a hotword is detected (no STT)
Multiple Wake Words no yes Load multiple hotword engines/models simultaneously
Fallback STT no yes fallback STT if the main one fails (eg, internet outage)
Instant Listen no yes Do not pause between wake word detection and recording start
Hybrid Listen no WIP Do not require wake word for follow up questions
Continuous Listen no WIP Do not require wake word, always listen using VAD
Recording mode no WIP Save audio instead of processing speech
Wake Word Plugins yes yes Supports 3rd party integrations for hotword detection
STT Plugins yes yes Supports 3rd party integrations for STT
VAD plugins no * yes Supports 3rd party integrations for voice activiy detection

NOTES:

  • HiveMind Voice Satellite uses ovos-core and supports the same features
  • Pyaudio has a bug in python 3.10, you may need to use this fork (ovos-core and mk2 only)
  • VAD is supported in mycroft mark2 branch, but is hardcoded for silero
  • Sleep mode loop has been rewritten in ovos-core and is much more responsive than mycroft
  • Mic handling logic has been ported from mk2 branch and is much more responsive than mycroft dev branch
  • Instant / Hybrid / Continuous listen settings are experimental, good microphone and AEC are highly recommended (such as a mark2)
  • in ovos-core this functionality has been refactored and moved to the new mycroft.listenermodule

Audio

Feature Mycroft OVOS Description
MPRIS integration no yes Integrate with MPRIS protocol

NOTES:

  • OCP can be used with mycroft-core, but not mk2
  • OCP can be controlled via MPRIS, eg. KDEConnect
  • OCP can control MPRIS enabled players, eg. spotify

Skills

Feature Mycroft OVOS Description
Skill Plugins no yes skills can be packaged like standard python projects and installed via setup.py (eg. with pip or your package manager)
User Resources no yes Users can override resource files, eg. customize dialogs for installed skills
Skill permissions no WIP Users can limit converse and fallback functionality per skill and configure the order in which skills are executed
Intent Plugins no WIP Supports 3rd party integrations for Intent Matching

Hardware

Feature Mycroft OVOS Description
System Plugins no yes Support for 3rd party hardware (eg. mk2-plugin) and OS level integrations (eg. wifi-setup)

NOTES:

  • PHAL can be used with mycroft-core

Misc

Feature Mycroft OVOS Description
Offline usage no yes Can be configured to work without internet connectivity
MultiLingual no WIP Can be configured to work in multiple languages at the same time
HiveMind support WIP WIP Supports HiveMind for a distributed/remote mycroft experience
XDG compliance WIP yes All resources respect XDG standards and support multiple users
Usage as a lib no yes Packaged as a library, supports derivative voice assistants

NOTES: