Skip to content

Instantly share code, notes, and snippets.

@JarbasAl
Last active May 2, 2024 20:44
Show Gist options
  • Select an option

  • Save JarbasAl/7309d3dbb47c5b21cbc93336742369bd to your computer and use it in GitHub Desktop.

Select an option

Save JarbasAl/7309d3dbb47c5b21cbc93336742369bd to your computer and use it in GitHub Desktop.

Building blocks

OVOS offer many "types" of plugins, each can be replaced at any point with a different version, this allows you to endlessly customize OVOS!

Compromises can be made to run on low end hardware, or if you have the juice and want to run the State of the Art on all fronts, you can make a plugin for it!

image

There are 4 main types of plugins in OVOS:

  • "essential" plugins - the user selects which plugin to use, only 1 is in use at any time (eg, Microphone, VAD, TTS, STT)
  • "sequential" plugins - these plugins are used in a specific order in the pipeline (eg, transformers)
  • "parallel" plugins - these plugins are run side by side doing their own thing (eg, wake words, PHAL)
  • "app" plugins - the user installs as many of these as desired, we can think of these as "apps" for OVOS, can often be run standalone or dynamically loaded as part of a ovos-service (eg, Skills)

For some plugins it is possible to configure a secondary one to handle failures of the primary plugin

image

Case Study 1: Offline OpenVoiceOS

Everything runs on the same device, internet not required

image

Case Study 2: Cloud Services + OpenVoiceOS

image

Cloud services can be plugins integrating with 3rd party services, or a collection of publicly hosted ovos servers

image

Case Study 2.5: Fallback Plugins

There are many reasons to use a cloud service, such as accuracy, but a device should remain functional even on internet outages

image

Case Study 3: Home Server

It might be benefitial to run the "brain" of OVOS in a machine, and then spread voice satellites around the house

image

image

image

Demo video MacOS voice satellite - https://www.youtube.com/watch?v=yRe0wcok4LA

Demo video - Local vs Satellite comparison

image

Demo video Raspberrypi 0 - satellite

image

Case Study 4: Your own HiveMind interface

image

Split your OVOS components as you want between server and devices

image

image

A bot in your chatroom

image

Accessing OVOS on mobile

image

A browser app

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment