JARVIS Voice Assistant
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
For the frontend we use
Other libraries, tools and packages can be found in source code.
Neural Networks
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)
Supported Languages
Currently, only Russian language is supported.
But soon, Ukranian and English will be added for the interface, wake-word detection and speech recognition.
How to build?
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.
Author
Abraham Tugalov
Python version?
Old version of Jarvis was built with Python.
The last Python version commit can be found here.
License
Attribution-NonCommercial-ShareAlike 4.0 International
See LICENSE.txt file for more details.