tim-gromeyer / VoiceAssistant

Empower Your Voice, Secure Your Privacy - Experience VoiceAssistant, Your Customizable Offline Voice Assistant!
https://tim-gromeyer.github.io/VoiceAssistant/
GNU General Public License v3.0
10 stars 2 forks source link
android offline-first qt raspberry-pi rule-based speech-recognition voice-assistant vosk-api

NOTE: I will continue developing this when I have some time. I use MarkdownEdit for school and need to improve it

VoiceAssistant 🎙️

Build Status Translated using Weblate

VoiceAssistant is a resource-efficient and customizable voice assistant that is still in the early stages of development but already functional. 🚀

Privacy is our top priority, and VoiceAssistant ensures that all operations are performed offline on your local device, keeping your data secure and protected. 🔒

Goal 🎯

The main goal of VoiceAssistant is to provide a fully customizable and extendable voice assistant that can be controlled entirely using voice commands. 🌟

Features ✨

Supported Platforms 🖥️

The project has been tested on x86_64 Linux, but it should theoretically work on the following platforms:

Note: The Android build works and starts, but I can't load the speech-to-text plugin.

To-Do's 📝

Customization 🎛️

In the near future, I'll add settings to the app!

To customize the commands, edit the commands/<your_language>/default.json file.

There are some default commands. See Add Commands.

Add Commands ➕

To add your command, edit the commands/<your_language>/default.json file. The supported values are:

Name Type Description Notes
commands Array of strings All commands that the voice assistant should react to Required
funcName String The name of the function to call (MainWindow::<funcName>)
responses Array of strings It selects a random response from the array Use [wait <number of ms>] to wait between words
program String A program to execute
args Array of strings Arguments passed to program ${TEXT} will be replaced with the voice input
sound String Path to local or remote file that gets played Volume can be controlled via voice/GUI

Build 🛠️

See the build section in INSTALL.md (direct link).

Translation Status 🌍

You can check the translation status of VoiceAssistant on Weblate (click the image below):

Translation Status

Creating a plugin 🧩

See plugins/README.md

Credits 💙

VoiceAssistant uses the following open-source projects:

Thank you to these amazing projects and their contributors for making VoiceAssistant possible! 🙏