When it comes to voice assistants, three names dominate the game. Siri was the first on the scene, shipping with new iOS devices in 2010. Next up was Cortana (though it was short-lived), followed by Alexa and Google Assistant, which have become the two biggest players. But what if I told you there was another option, an open-source option? Enter Open Voice OS, an open-source, modular voice assistant.

Let’s be clear about one thing right from the start, though. Open Voice OS is unquestionably still in the “project” state of development. There are some kinks that need to be worked out before this can be considered a viable tool for the masses. At its present point of development, it’s a shell of what “proper” voice assistants can do and is suited best for power-users who are very familiar with Linux and Python.

Installing Open Voice OS on the Raspberry Pi 5

Still here? Awesome, let’s get Open Voice OS set up on the Raspberry Pi 5.

Before you get started, make sure you have a microphone so you can talk with the voice assistant, and some means of sound output. I borrowed the webcam from my desktop computer and used the speakers in my portable HDMI monitor for this build.

I did all of these steps on a clean installation of the 64-bit Raspberry Pi OS with desktop.

  1. Start off by updating your list of packages by typing “sudo apt update” into the terminal.
  2. Next, you need to install git and curl, so type in “sudo apt install -y git curl” into the terminal. If you’re installing Open Voice OS on a full RPiOS install, you should already have these installed.
  3. To begin the installation of Open Voice OS, type or copy the following command into the terminal:
    sh -c "curl -s https://raw.githubusercontent.com/OpenVoiceOS/ovos-installer/main/installer.sh -o installer.sh && chmod +x installer.sh && sudo ./installer.sh && rm installer.sh"
  4. After about 30 seconds, the first pre-installation dialog should show up, prompting you to select a language. Use the arrow keys to navigate, space bar to mark your selection, and enter to move to the next screen.
  5. The next two screens are just a greeting from the developers and your detected system settings. Press Enter to continue.
  6. Next, choose whether you want to install in a Docker container or in a Python virtual environment. I went with the virtual environment.
  7. The next screen illustrates how Open Voice OS is still highly experimental. You cannot choose to install the stable release because there isn’t one. Press Enter to continue.
  8. Choose which features to enable. This screen is not an either/or choice. You can choose both, but I was never able to get the GUI working. You may have better luck. Press Enter to continue.
  9. Select whether you would like Open Voice OS to tune its software to work better on your Pi. I chose yes.
  10. Next, confirm the choices you’ve made so far.
  11. Finally, choose whether you wish to share telemetry with Open Voice OS.

At this point, the full installation process should begin. The whole thing took about eight minutes for me, but it will depend on your storage medium (SSD is faster than SD) and internet speeds. Once it’s finished, a confirmation message will appear in your terminal. Press enter to close it.

Your new AI voice assistant is now ready to go! To use it, say “Hey Mycroft,” then ask your question. When you use the wake word, you should hear a notification sound to let you know it’s actively listening to you.

If you’ve had any trouble with your installation, the development team behind the project is very helpful and will try to solve your problems if you’re patient and polite with them. They maintain a Matrix chatroom (kind of an open-source Slack or Discord) which is free to use.

👁 Overhead view of the Khadas Mind mounted on the Mind Dock
Here are 6 projects where mini PCs crush SBCs

SBCs may have a lot of use cases, but some projects call for the superior computing prowess of a mini PC

Installing skills with Open Voice OS

Once you’ve got your voice assistant up and running, you’ll probably want to add a few skills to it. All OpenVoiceOS skills take the form of Python packages, therefore the easiest way to add them is to use the “pip install” command in your terminal. But before you do that, you’ll have to activate Python’s virtual environment within OpenVoiceOS with this command.

source ~/.venvs/ovos/bin/activate

Skills can be found on this page. Once you’ve installed the new skill, you’ll need to restart your voice assistant with the “systemctl --user restart ovos-core” command.

I have to reiterate here that just about everything about this project is still in the experimental stages. You might need to tweak some settings in the skills configuration files to get things to work (read the skill documentation) or the skill could be missing features. In my testing, I wasn’t able to make any non-default skill work properly. The ChatGPT skill couldn’t access ChatGPT and the TuneIn skill could play music just fine, but there was no easy way to stop the music.

So how is Open Voice OS?

Brutal honesty time: my experience with Open Voice OS was not that good. The software frequently misheard me and gave me default “Could you repeat that” types of answers. The response speed also varied considerably. Usually it took about five seconds to produce a response to a “What time is it?” query, but sometimes it was very snappy, other times it could take 10 or more seconds.

By default, Open Voice OS installs with skills for time, date, alarms, timers, and weather. I could never successfully set an alarm or timer, but the other skills mostly worked as they should when my voice was properly interpreted.

If you want to get a better look at what’s going on under the hood, you can use the command “journalctl --user -xlefu ovos-listener” to see what your voice assistant is hearing, and you can use “journalctl --user -xlefu ovos-core” to see how it’s processing that information. I was running both at once in two terminal windows when I was testing everything.

Despite all that, I want to see this project succeed. The big voice assistants that are out there (Alexa, Siri, Google Assistant, and Copilot) work fine, but each one favors its own ecosystem and does its best to steer you to an Amazon, Apple, Google, or Microsoft answer. Consumers need an open alternative that will give them unbiased assistance. Although, if you’re more interested in retro gaming than voice assistants, you might like this emulation project instead.