Skip to content

Your own personal voice assistant: Voice to Text to LLM to Speech, displayed in a web interface

License

Notifications You must be signed in to change notification settings

AlexandreSajus/JARVIS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9988ec5 Β· Dec 21, 2023

History

20 Commits
Dec 15, 2023
Dec 17, 2023
Dec 18, 2023
Dec 15, 2023
Dec 18, 2023
Dec 21, 2023
Dec 17, 2023
Dec 17, 2023
Dec 17, 2023
Dec 17, 2023
Dec 17, 2023
Dec 16, 2023
Dec 17, 2023

Repository files navigation

JARVIS

JARVIS helping me choose a firearm

Your own voice personal assistant: Voice to Text to LLM to Speech, displayed in a web interface.

How it works

  1. 🎀 The user speaks into the microphone
  2. ⌨️ Voice is converted to text using Deepgram
  3. πŸ€– Text is sent to OpenAI's GPT-3 API to generate a response
  4. πŸ“’ Response is converted to speech using ElevenLabs
  5. πŸ”Š Speech is played using Pygame
  6. πŸ’» Conversation is displayed in a webpage using Taipy

Video Demo

Youtube Devlog

Requirements

Python 3.8 - 3.11

Make sure you have the following API keys:

How to install

  1. Clone the repository
git clone https://github.com/AlexandreSajus/JARVIS.git
  1. Install the requirements
pip install -r requirements.txt
  1. Create a .env file in the root directory and add the following variables:
DEEPGRAM_API_KEY=XXX...XXX
OPENAI_API_KEY=sk-XXX...XXX
ELEVENLABS_API_KEY=XXX...XXX

How to use

  1. Run display.py to start the web interface
python display.py
  1. In another terminal, run jarvis.py to start the voice assistant
python main.py
  • Once ready, both the web interface and the terminal will show Listening...
  • You can now speak into the microphone
  • Once you stop speaking, it will show Stopped listening
  • It will then start processing your request
  • Once the response is ready, it will show Speaking...
  • The response will be played and displayed in the web interface.

Here is an example:

Listening...
Done listening
Finished transcribing in 1.21 seconds.
Finished generating response in 0.72 seconds.
Finished generating audio in 1.85 seconds.
Speaking...

 --- USER: good morning jarvis
 --- JARVIS: Good morning, Alex! How can I assist you today?

Listening...
...

Saying good morning

About

Your own personal voice assistant: Voice to Text to LLM to Speech, displayed in a web interface

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published