/jarvis

Voice Assistant made as an experiment using Silero TTS + Vosk STT + Picovoice Porcupine + ChatGPT.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Kesha v3.0 very early (aka Jarvis update)

Simple Voice Assistant made as an experiment using Silero & Vosk.
Later on Picovoice Porcupine Wake Word Detection & ChatGPT was added.

image

The code has NOT been polished and is provided "as is". There are a lot of code that are redundant and there are tons of improvements that can be made.

Installation

First, install the requirements, the requirements.txt file is just an output of pip freeze from my test venv 'k.
Second, check config.py and set required values (api key, device index).
Next, run the main.py script and Voilà, as simple as that.

And don't forget to put models of Vosk to main folder.
You can get the latest from the official website.
The one I was using is small.
p.s. If you don't understand how to install or where to put the Vosk model, I've made a screenshot for you.

Python version

I was using Python 3.8.3, but it should work on any newer version.

ToDo

  • Адекватная архитектура кода, собрать всё и переписать from the ground up.
  • Задержка воспроизведения звука на основе реальной длительности .wav файла (прогружать при запуске?)
  • Speech to intent?
  • Отключать self listening protection во время воспроизведения с наушников.
  • Указание из списка или по имени будет реализовано позже.

Author

(2022) Abraham Tugalov