2026-01-17 06:27:35 +05:00
# JARVIS Voice Assistant (this readme is outdated)
2023-04-28 19:39:48 +05:00
2023-05-01 01:52:47 +05:00

2023-04-28 19:39:48 +05:00
`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)*
2023-04-28 19:41:44 +05:00
Our backend stack is 🦀 ** [Rust ](https://www.rust-lang.org/ )** with ❤️ ** [Tauri ](https://tauri.app/ )**.< br >
2023-04-28 19:39:48 +05:00
For the frontend we use ⚡️ ** [Vite ](https://vitejs.dev/ )** + 🛠️ ** [Svelte ](https://svelte.dev/ )**.
*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
- [Vosk Speech Recognition Toolkit ](https://github.com/alphacep/vosk-api ) via [Vosk-rs ](https://github.com/Bear-03/vosk-rs )
- Text-To-Speech
2023-05-01 02:00:15 +05:00
- [~~Silero TTS~~ ](https://github.com/snakers4/silero-models ) *(currently not used)*
- [~~Coqui TTS~~ ](https://github.com/coqui-ai/TTS ) *(currently not used)*
2023-05-07 06:15:09 +03:00
- [~~WinRT~~ ](https://github.com/ndarilek/tts-rs ) *(currently not used)*
- [~gTTS~ ](https://github.com/nightlyistaken/tts_rust ) *(currently not used)*
- [~~SAM~~ ](https://github.com/s-macke/SAM ) *(currently not used)*
2023-04-28 19:39:48 +05:00
- Wake Word
2023-05-01 02:00:15 +05:00
- [Rustpotter ](https://github.com/GiviMAD/rustpotter ) *(Partially implemented, still WIP)*
- [Picovoice Porcupine ](https://github.com/Picovoice/porcupine ) via [official SDK ](https://github.com/Picovoice/porcupine#rust ) *(requires API key)*
- [Vosk Speech Recognition Toolkit ](https://github.com/alphacep/vosk-api ) via [Vosk-rs ](https://github.com/Bear-03/vosk-rs ) *(very slow)*
2023-05-07 06:15:09 +03:00
- [~~Snowboy~~ ](https://github.com/Kitt-AI/snowboy ) *(currently not used)*
2023-04-28 19:39:48 +05:00
- NLU
- Nothing yet.
2023-04-28 19:42:55 +05:00
- Chat
- [~~ChatGPT~~ ](https://chat.openai.com/ ) (coming soon)
2023-04-28 19:39:48 +05:00
## Supported Languages
2023-04-28 19:41:44 +05:00
Currently, only Russian language is supported.< br >
2023-05-01 02:00:15 +05:00
But soon, Ukranian and English will be added for the interface, wake-word detection and speech recognition.
2023-04-28 19:39:48 +05:00
## How to build?
2023-04-28 19:41:44 +05:00
Nothing special was used to build this project.< br >
You need only Rust and NodeJS installed on your system.< br >
Other than that, all you need is to install all the dependencies and then compile the code with `cargo tauri build` command.< br >
2023-04-28 19:39:48 +05:00
Or run dev with `cargo tauri dev` .
2023-05-01 02:00:15 +05:00
< br > < br >
*Thought you might need some of the platform specific libraries for [PvRecorder ](https://github.com/Picovoice/pvrecorder ) and [Vosk ](https://github.com/alphacep/vosk-api ).*
2023-04-28 19:39:48 +05:00
## Author
2023-04-28 19:49:22 +05:00
Abraham Tugalov
2023-04-28 19:41:44 +05:00
## Python version?
2023-05-04 01:06:44 +05:00
Old version of Jarvis was built with Python.< br >
2023-04-28 19:41:44 +05:00
The last Python version commit can be found [here ](https://github.com/Priler/jarvis/tree/943efbfbdb8aeb5889fa5e2dc7348ca4ea0b81df ).
2023-04-28 19:39:48 +05:00
## License
2023-04-28 19:41:44 +05:00
[Attribution-NonCommercial-ShareAlike 4.0 International ](https://creativecommons.org/licenses/by-nc-sa/4.0/ )< br >
2023-05-07 06:15:09 +03:00
See LICENSE.txt file for more details.