Jarvis
- is a voice assistant made as an experiment using neural networks for things like STT/TTS/Wake Word/NLU etc.
The main project challenges we try to achieve is:
- 100% offline (no cloud)
- Open source (full transparency)
- No data collection (we respect your privacy)
Our backend stack is 🦀 Rust with ❤️ Tauri.
For the frontend we use ⚡️ Vite + 🛠️ Svelte.
Other libraries, tools and packages can be found in source code.
This are the neural networks we are currently using:
- Speech-To-Text
- Text-To-Speech
Silero TTS(currently not used)Coqui TTS(currently not used)WinRT(currently not used)gTTS(currently not used)SAM(currently not used)
- Wake Word
- Rustpotter (Partially implemented, still WIP)
- Picovoice Porcupine via official SDK (requires API key)
- Vosk Speech Recognition Toolkit via Vosk-rs (very slow)
- [
Snowboy] (currently not used)
- NLU
- Nothing yet.
- Chat
ChatGPT(coming soon)
Currently, only Russian language is supported.
But soon, Ukranian and English will be added for the interface, wake-word detection and speech recognition.
Nothing special was used to build this project.
You need only Rust and NodeJS installed on your system.
Other than that, all you need is to install all the dependencies and then compile the code with cargo tauri build
command.
Or run dev with cargo tauri dev
.
Thought you might need some of the platform specific libraries for PvRecorder and Vosk.
Abraham Tugalov
Old version of Jarvis was built with Python.
The last Python version commit can be found here.
Attribution-NonCommercial-ShareAlike 4.0 International
See LICENSE.txt file for more details.