• Stars
    star
    446
  • Rank 97,230 (Top 2 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created 9 months ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

Quadcopter-AI

Controlling a Rigidbody Quadcopter using Control Theory and Reinforcement Learning
Python
161
star
2

Python-Fluid-Simulation

A 2D Python Implementation of Smoothed Particle Hydrodynamics
Python
51
star
3

Unity-Fluid-Simulation

An Implementation of Smoothed Particle Hydrodynamics in Unity
C#
31
star
4

Python-Ecosystem

A simple discrete ecosystem model in Python illustrating prey-predator systems and natural selection
Python
9
star
5

Unity-Ecosystem

A Simple Ecosystem with Lions, Chickens and Grass in Unity
Jupyter Notebook
6
star
6

Weather-Classification

Classifying street-level images according to weather to help the training of autonomous vehicles
Python
5
star
7

Coding-with-Codex

Solving various coding problems with the help of OpenAI's Codex
Jupyter Notebook
5
star
8

Coders-Strike-Back

Our Top 2% (out of 120,000 participants) submission to the Pod Racing AI Competition from CodinGame: Coders Strike Back
Python
4
star
9

Intent-Classification

A benchmark of different approaches on the task of Intent Classification
Jupyter Notebook
4
star
10

TaipyCopilot

Manipulate and visualize data with only natural language prompts
Python
3
star
11

Taipy-GPT4-Demo

GPT-4 Chat Web App created in 80 lines of Python using Taipy
Python
2
star
12

Taipy-Dask-Demo

Querying Big Data using Taipy and Dask
Python
2
star
13

Taipy-Dask-ML-Demo

Scaling ML models with Taipy and Dask
Python
2
star
14

Airbnb-Price-Prediction

Predicting prices of Airbnb rentals for an ML course at CentraleSupélec
Jupyter Notebook
2
star
15

Carl

Winning Carl: a Car Racing Reinforcement Learning Competition hosted at CentraleSupélec
Python
1
star
16

Moa-Accuracy-Sim

Python
1
star
17

Carl-demo

A demo for the Carl repository
Python
1
star
18

Coding-Tools-Tutorials

Concise and efficient tutorials about coding tools
1
star
19

Conversations-with-GPT-3

Some interesting conversations I had with GPT-3
1
star
20

Twitter-Sentiment-Analysis-FR

Relève le ressenti positif ou négatif de tweets récents associé à un mot clé
Python
1
star
21

Understanding-AlphaGo

Understanding AlphaGo: An Introduction to Supervised and Reinforcement Learning. A presentation I made for an English class at CentraleSupélec.
1
star
22

Trickle-Algorithm

A model and visualization of the Trickle algorithm in Python
Python
1
star
23

Experiment-Tracking-Benchmark

A benchmark of multiple experiment tracking tools (Tensorboard, Weights and Biases, Neptune and Comet)
Python
1
star
24

FuseCensor

A web extension that censors sensible textual content using NLP
JavaScript
1
star
25

EYDataChallenge2021

Our Top 12%, France finalist submission to the fire mapping AI competition organized by EY
Python
1
star
26

Line-Following-Robot

Winning an autonomous line following robot competition at CentraleSupélec. The robot is capable of navigating lines, intersections and roundabouts
Python
1
star
27

Shot-Cards

A Taipy app to analyze shooting performance
Python
1
star
28

Multi-Agent-Debate

Multi Agent Simulation of a Simple Firearm Debate using Mesa
Python
1
star