• Stars
    star
    231
  • Rank 173,434 (Top 4 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open Voice Operating System - Buildroot edition is a minimalistic linux OS bringing the OVOS voice assistant to embbeded, low-spec headless and/or small (touch)screen devices.

Open Voice Operating System - Buildroot Edition

A minimalistic Linux OS bringing the open source voice assistant ovos-core to embbeded, low-spec headless and/or small (touch)screen devices.

System.

OpenVoiceOS - Full 64 Bit distribution

  • Linux kernel 5.15.x (LTS)
  • Buildroot 2022.02.x (LTS)
  • OVOS-Core (Latest development version)
  • Raspberry Pi 3|3b|3b+ (Initial development hardware = 3b)
  • Raspberry Pi 4 (Current development hardware, minimum recommended RAM 2GB)

Stats:

Build Status GitHub last commit
This shows if the code is valid and can be build. This shows when this repo was updated for the last time
GitHub stars GitHub issues
Please ⭐ this repo if you find it useful Issues are like my personal TODO list and information archive
License: Apache License 2.0 contributions welcome
I'm using the Apache License 2.0 similar as Mycroft A.I. which means commercial use is allowed If you have any ideas, they're always welcome. Either submit an issue or a PR!
Uptime Robot status Buy me a
I use uptime robot to monitor for things i can't monitor when the connection drops. If you feel the need, now it's as easy as clicking this button!

Getting started.

At this moment development is in very early stages and focussed on the Raspberry Pi 3B & 4. As soon as an initial first workable version is created, other hardware might be added.

Build Environment

Only use x86_64 based architecture/ hardware to build the image.

The following example Build environment has been tested :

  • Architecture: x86_64
  • Hardware: Intel Core i5 processor, 8GB RAM, 240GB SSD (you can build on less RAM (2GB) and slower storage but more RAM, faster storage = quicker image building)
  • OS: Ubuntu 22.04 LTS desktop

Installing System Build Dependencies

The following system packages are required to build the image:

  • gcc
  • subversion
  • qttools5-dev
  • qttools5-dev-tools
  • python
  • git
  • make
  • g++
  • curl
  • wget
  • qtdeclarative5-dev

The following firewall ports need to be allowed to the internet.

In addition to the usual http/https ports (tcp 80, tcp 443) a couple of other ports need to be allowed to the internet :

  • tcp 9418 (git).
  • tcp 21 (ftp PASV) and random ports for DATA channel. This can be optional but better to have this allowed along with the corresponding random data channel ports. (knowledge of firewalls required)

Getting the code.

First, get the code on your system! The simplest method is via git.

Patching Buildroot.

(ONLY at the first clean checkout/clone) If this is the very first time you are going to build an image, you need to execute the following command once;

  • ./scripts/br-patches.sh

This will patch the Buildroot packages.

Building the image.

Building the image(s) can be done by utilizing a proper Makefile;
To see the available commands, just run: 'make help'
As example to build the rpi4 version;

  • make clean
  • make rpi4_64-gui-config
  • make rpi4_64-gui

Now grab a cup of coffee, go for a walk, sleep and repeat as the build process takes up a long time pulling everything from source and cross compiling everything for the device. Especially the qtwebengine package is taking a LONG time.
(At the moment there is an outstanding issue which prevents the build to run completely to the end. The plasma-workspace package will error out, not finding the libGLESv4 properly linked within QT5GUI. When the build stopped bacause of this error, edit the following file;

buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake

at the bottom of the file replace this line;

_qt5gui_find_extra_libs(OPENGL "GLESv2" "" "")

And replace it bit this line;

_qt5gui_find_extra_libs(OPENGL "${CMAKE_SYSROOT}/usr/lib/libGLESv2.so" "" "${CMAKE_SYSROOT}/usr/include/libdrm")

Then you can continue the build process by re-running the "make rpi4_64-gui" command. (DO NOT, run "make clean" and/or "make rpi4_64-gui-config" again, or you will start from scratch again !!!)

When everything goes fine the xz compressed image will be available within the release directory.

Booting image from sd card for the first time (setting up Wifi and backend).

1.Ensure all required peripherals (mic, speakers, HDMI, usb mouse etc) are plugged in before powering on your RPI4 for the first time.
2. Skip this step if RPI4 is using an ethernet cable. Once powered on, the screen will present the Wifi setup screen ( a Wifi HotSpot is created). Connect to the Wifi HotSpot (ssid OVOS) from another device and follow the on-screen instructions to setup Wifi.
3.Once Wifi is setup a choice of Mycroft backend and Local backend is presented. Choose the Mycroft backend for now and follow the on-screen instructions, Local backend is not ready to use yet. After the pairing process has completed and skills downloaded it's time to test/ use it.

Accessing the CLI.

  • SSH to ip address of RPI4
  • default credentials 'mycroft/mycroft'

Documentation.

More information and instructions can be found within the "documentation" folder.

Credits

Mycroft AI (@MycroftAI)
Buildroot (@buildroot) HelloChatterbox (@hellochatterbox)

Inspired by;

HassOS (@home-assistant)

More Repositories

1

ovos-personal-backend

personal backend - self-hosted backend to manage multiple OVOS devices
Python
78
star
2

ovos-installer

Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface
Shell
72
star
3

ovos-docker

Open Voice OS container images and docker-compose.yml files for x86_64 and aarch64 CPU architectures.
Dockerfile
41
star
4

raspOVOS

Run ovos ontop of RaspberryPiOS
Shell
32
star
5

skill-ovos-fallback-chatgpt

Python
21
star
6

jurebes

intent engine
Python
21
star
7

ovos-tts-plugin-piper

Python
17
star
8

ovos-stt-plugin-vosk

vosk STT plugin for mycroft
Python
14
star
9

community-docs

community maintained documentation - https://openvoiceos.github.io/community-docs
11
star
10

ovos-plugin-manager

plugin manager for OpenVoiceOS , STT/TTS/Wakewords that can be used anywhere
Python
11
star
11

ovos-systemd

Systemd service files for the Mycroft A.I. software stack
Python
10
star
12

skill-ovos-dictation

save transcripts to home directory
Python
9
star
13

status

Open Voice OS Status Page
Markdown
9
star
14

ovos-tts-server

simple flask server to host OpenVoiceOS tts plugins as a service
Python
8
star
15

ovos-ww-plugin-vosk

vosk wake word plugin for mycroft
Python
8
star
16

ovos-docker-stt

Open Voice OS Speech-to-Text (STT) container images and docker-compose.yml file for x86_64 CPU architecture.
Dockerfile
7
star
17

ovos-stt-http-server

Python
7
star
18

ovos-skill-laugh

make mycroft do an evil laugh
Python
6
star
19

skill-ovos-dismissal

Python
6
star
20

awesome-ovos-plugins

List of ovos-plugin-manager plugins and projects
6
star
21

ovos-solver-plugin-llmcpp

Python
6
star
22

ovos-stt-plugin-whispercpp

Python
5
star
23

ovos_skill_manager

skill installer for OVOS
Python
5
star
24

skill-ovos-bandcamp

bandcamp common play skill
Python
5
star
25

skill-ovos-wikipedia

wikipedia skill for mycroft
Python
5
star
26

ovos-media-plugin-spotify

Python
5
star
27

skill-ovos-parrot

taks back to user like a parrot
Python
5
star
28

precise-lite-trainer

train wake word models
Python
5
star
29

ovos-technical-manual

developer oriented documentation
4
star
30

OVOS-skills-store

Python
4
star
31

ovos-qubes

setting up a hardened ovos-core under QubesOS
4
star
32

ovos-ocp-audio-plugin

QML
4
star
33

skill-ovos-youtube

play music from youtube in mycroft
Python
4
star
34

ovos-stt-plugin-fasterwhisper

FasterWhisper for OpenVoiceOS
Python
4
star
35

precise_lite_runner

Python
4
star
36

OVOS-workshop

frameworks, templates and patches for the OpenVoiceOS universe
Python
4
star
37

ovos-backend-manager

A simple web UI for personal backend, powered by PyWebIO
Python
3
star
38

ovos-ww-plugin-precise-lite

Python
3
star
39

ovos-tts-plugin-responsivevoice

responsive voice TTS plugin for mycroft
Python
3
star
40

skill-template-repo

Python
3
star
41

skill-ovos-spotify

Python
3
star
42

ovos-ansible

Jinja
3
star
43

skill-ovos-timer

Timer Skill
Python
3
star
44

awesome-ocp-skills

Media skills for OCP, music, movies, radio, audiobooks and more!
3
star
45

ovos-ww-plugin-snowboy

snowboy plugin for mycroft
Python
3
star
46

ovos-dinkum-listener

ovos-listener based on the voice loop from mycroft-dinkum
Python
3
star
47

ovos-solver-openai-persona-plugin

Python
3
star
48

ovos-backend-client

client library for interaction with all compatible ovos-core backend services
Python
3
star
49

ovos-tts-plugin-beepspeak

experiment adding new r2d2 tts engine for mycroft
Python
3
star
50

ovos-classifiers

Python
3
star
51

ovos-skill-pyradios

Pyradios skill for OpenVoiceOS
Python
3
star
52

ovos-bus-client

messagebus client for the OVOS ecosystem
Python
2
star
53

skill-monkey-patcher

apply patches to mycroft-core at runtime
Python
2
star
54

ovos-translate-plugin-deepl

Python
2
star
55

documentation

OVOS and Projects related documentation
2
star
56

ovos_assets

Images, Icon, Artwork type assets used across OpenVoiceOS
2
star
57

ovos-ww-community-dataset

Python
2
star
58

skill-ovos-wallpapers

Pictures from selected subreddits
Python
2
star
59

ovos-utils

Python
2
star
60

ovos-stt-plugin-chromium

A stt plugin for mycroft using the google chrome browser api
Python
2
star
61

ovos-tts-plugin-marytts

Python
2
star
62

ovos-tts-plugin-mimic2

Python
2
star
63

ovos-tts-plugin-voicerss

VoiceRSS TTS plugin for mycroft
Python
2
star
64

ovos-translate-server-plugin

Python
2
star
65

ovos-tts-plugin-mimic3-server

Python
2
star
66

VocalFusionDriver

Raspberry Pi VocalFusion linux driver for kernel 5.10
C
2
star
67

skill-ovos-homescreen

Provides the resting screen for OVOS
QML
2
star
68

ovos-PHAL-plugin-analog-media-devices

Python
2
star
69

ovos-docker-tts

Open Voice OS TTS Docker images
Dockerfile
2
star
70

ovos-PHAL-sensors

expose your OVOS device under HomeAssistant
Python
2
star
71

skill-ovos-news

News Streams from around the globe
Python
2
star
72

ovos-tts-plugin-cotovia

galician tts plugin for mycroft
Python
2
star
73

ovos-PHAL-plugin-commonIOT

WIP
Python
2
star
74

message_spec

2
star
75

ovos-gui-plugin-shell-companion

QML
2
star
76

Open-Linguistika

Skills GUI Translation Tool
C++
2
star
77

ovos-ww-plugin-nyumaya-legacy

hotword plugin for mycroft-core
Python
2
star
78

ovos-config

OVOS configuration manager library
Python
2
star
79

ovos-translate-plugin-nllb

No Language Left Behind
Python
2
star
80

ovos-utterance-corrections-plugin

Python
2
star
81

skill-ovos-randomness

An OVOS skill for all kinds of chance - make a choice, roll a die, flip a coin, pick between two choices, etc.
Python
2
star
82

ovos-listener

ovos-core metapackage for speech daemon
Python
1
star
83

ovos-ww-plugin-nyumaya

mycroft wake word plugin for nyumaya v1.0.0
Python
1
star
84

ovos-iot-plugin-kasa

WIP
Python
1
star
85

ovos-stt-plugin-whisper-tflite

Python
1
star
86

skill-ovos-youtube-music

Python
1
star
87

ovos-tts-plugin-softcatala

softcatala tts plugin
Python
1
star
88

skill-balena-wifi-setup

Python
1
star
89

skill-ovos-stop

stop whatever the assistant is doing
Python
1
star
90

ovos-cli-client

Python
1
star
91

ovos-skill-easter-eggs

fun easter eggs for mycroft
Python
1
star
92

ovos-ww-plugin-openWakeWord

Python
1
star
93

ovos-ocp-deezer-plugin

Python
1
star
94

ovos-tts-plugin-coqui

Python
1
star
95

ovos-stt-plugin-pocketsphinx

pocketsphinx STT plugin for mycroft
Python
1
star
96

ovos-bidirectional-translation-plugin

Python
1
star
97

pet-fish-skill

QML
1
star
98

ovos-PHAL-zmqamera

Python
1
star
99

quebra_frases

chunks strings into byte sized pieces
Python
1
star
100

ovos-PHAL-plugin-mk2

Python
1
star