mars 22, 2026
Skill

Voici pour celles et ceux qui souhaite installer Jarvis sous Rasberry Pi :

Ce code est totalement fonctionnelle, je l’utilise et vous pouvez le modifier à volonté, n’oubliez pas d’y intégrer votre code API :

intégrer ce code dans un fichier jarvis.py puis taper la commande suivnat après avoir installer python3

# python3 jarvis.py

  • à partir de là, vous devrez die à voix haute : jarvis
  • ensuite jarvis se mettra en mode écoute et vous pourrez lui demander ce que vous voulez.
  • dans le code ci-dessous jarvis vous répondra à voix haute et par écrit.
Skill
50%

import os
import openai
from dotenv import load_dotenv
import time
import speech_recognition as sr
import pyttsx3
import numpy as np
from gtts import gTTS

language = ‘fr’

openai.api_key = ‘CODE_API_KEY
load_dotenv()
model = ‘gpt-3.5-turbo’

Set up the speech recognition and text-to-speech engines

r = sr.Recognizer()
engine = pyttsx3.init(“dummy”)
voice = engine.getProperty(‘voices’)[1]  # Ajustez cet indice pour sélectionner la voix française
engine.setProperty(‘voice’, voice.id)

def listen_for_wake_word(source):
    print(“À l’écoute de ‘Jarvis’…”)

    while True:
        audio = r.listen(source)
        try:
            text = r.recognize_google(audio, language=”fr”)
            if “jarvis” in text.lower():
                print(“Mot d’activation détecté.”)
                engine.say(“Bonjour Azais, comment puis-je vous aider ?”)
                engine.runAndWait()
                listen_and_respond(source)
                break
        except sr.UnknownValueError:
            pass

def listen_and_respond(source):
    print(“À l’écoute…”)
    while True:
        audio = r.listen(source)
        try:
            text = r.recognize_google(audio, language=”fr”)
            print(f”Vous avez dit: {text}”)
            if not text:
                continue
            # Send input to OpenAI API
            response = openai.ChatCompletion.create(
                model=”gpt-3.5-turbo”,
                messages=[
                    {“role”: “user”, “content”: f”[En français s’il vous plaît] {text}”}
                ]
            )
            response_text = response.choices[0].message.content
            print(response_text)
            print(“Génération audio”)
            myobj = gTTS(text=response_text, lang=language, slow=False)
            myobj.save(“response.mp3”)
            print(“Lecture audio”)
            os.system(“vlc response.mp3”)
            # Speak the response
            print(“Lecture audio”)
            engine.say(response_text)
            engine.runAndWait()
            if not audio:
                listen_for_wake_word(source)
        except sr.UnknownValueError:
            time.sleep(2)
            print(“Silence détecté, j’arrête de parler, j’écoute…”)
            listen_for_wake_word(source)
            break
        except sr.RequestError as e:
            print(f”Erreur lors de la demande de résultat; {e}”)
            engine.say(f”Erreur lors de la demande de résultat; {e}”)
            engine.runAndWait()
            listen_for_wake_word(source)
            break

Use the default microphone as the audio source

with sr.Microphone() as source:
    listen_for_wake_word(source)