VoiceAssistant
Empower Your Voice, Secure Your Privacy - Experience VoiceAssistant, Your Customizable Offline Voice Assistant!
Install / Use
/learn @tim-gromeyer/VoiceAssistantREADME
NOTE: I will continue developing this when I have some time. I use MarkdownEdit for school and need to improve it
VoiceAssistant 🎙️
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 ✨
- Fully customizable and extendable (I'm still working on this) ✏️
- Offline functionality for enhanced privacy and security 🔐
- Voice recognition for executing predefined commands 🗣️
- Privacy-first approach with everything offline and local on the device 🏡
Supported Platforms 🖥️
The project has been tested on x86_64 Linux, but it should theoretically work on the following platforms:
- [x] Aarch64/Arm64 Linux/Android/Raspberry Pi
- [x] Armv7l Linux/Android
- [x] Riscv64 Linux
- [x] x86 Linux/Android
- [x] x86_64 Linux/Android
- [x] 32-bit Windows (not suggested and untested)
- [x] 64-bit Windows
- [x] macOS (Intel)
- [ ] macOS (M1)
- [ ] iOS
- [ ] WebAssembly
Note: The Android build works and starts, but I can't load the speech-to-text plugin.
To-Do's 📝
- [ ] Full customizability
- [ ] Implement Whisper.cpp backend (this will add WebAssembly, iOS, and M1 macOS support)
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):
Creating a plugin 🧩
Credits 💙
VoiceAssistant uses the following open-source projects:
Thank you to these amazing projects and their contributors for making VoiceAssistant possible! 🙏
Related Skills
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
