Assistant Vocal

Fermé
sandy2525 Messages postés 4 Date d'inscription mercredi 25 janvier 2023 Statut Membre Dernière intervention 16 mars 2023 - Modifié le 17 mars 2023 à 12:55
hypothetix Messages postés 197 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 octobre 2024 - 17 mars 2023 à 13:44

Bonjour 

Je suis débutant en programmation en langage python et j'aurais aimé savoir ce qui ne va pas dans mon code. Pourquoi j'ai l'erreur de syntaxe suivante (j'ai cherché sur internet pour l'erreur de syntaxe mais je n'ai rien  trouvé )

Le message d'erreur et le suivant : 

 voices = engine.getProperty('voices') 
        ^
SyntaxError: invalid syntax

Process finished with exit code 1

Voici le code :

import sys

import pyttsx3
import speech_recognition as sr
import pywhatkit
import datetime
import wikipedia
import random



listener = sr.Recognizer
engine = pyttsx3.init()
engine.setProperty("voice", "french")
engine.setProperty("rate", 170)



def talk(text):
     engine.say(text)
     engine.runAndWait()


def greetme():
     current_hour = int(datetime.datetime.now().hour)
     if 0 <= current_hour < 12:
          talk("Bonjour sandy Dev")

     if 12 <= current_hour < 18:
          talk("Bon après midi eric Dev")

     if current_hour >= 18 and current_hour != 0:
          talk("Bonsoir sandy Dev"

 #set french female voice
voices = engine.getProperty ('voices')
engine.setProperty("voice", voices[0].id)
greetme()
engine.say("Comment vas tu")

engine.runAndWait()

def sandy_command():
     with sr.Microphone() as  source:
        print("listening...")
        listener.pause_threshold = 5
        voice = listener.listen(source)
        command = listener.recognize_google(voice, language="fr.FR")
        command = command.lower()
        print(command)
        if "sandy" in command:
             command = command.replace("sandy", "")
             print(command)
             return command

def run_sandy():
    commmand = sandy_command()
    if "musique" in commmand:
        song = commmand.replace("musique", "")
        talk("musique en cour...")
        pywhatkit.playonyt(song)
    elif "heure" in commmand:
        time = datetime.datetime.now().strftime("%H:%M")
        print(time)
        talk("il est actuellement: " + time)
    elif "qui est" in commmand:
        person = commmand.replace("qui est", "")
        wikipedia.set_lang("fr")
        info = wikipedia.summary(person, 1)
    elif "sortir" in commmand:
        talk("Désolé, je suis un peu souffrante en ce moment.")
    elif "es tu en couple" in commmand:
        talk("non pas encore, mon coeur est toujour a prendre")
    elif "vas chercher sur google une blague de toto" in commmand:
        jokes = []
        talk(random.choice(jokes))
    elif "et toi" in commmand:
        msgs = []
        talk(dandom.choice(msgs))
    elif "désactive toi" in commmand:
        talk("merci de m'avoir utilisè, sandy Dev")
        sys.exit() else:
        talk(" pourrais tu répéter je n'ai pas bien compris.")


    if __name__ == '__main__':
     while True:
         run_sandy()


               pouvez vous m'aider s'il vous plait
                    Merci d'avance pour  vos réponse</strong>
A voir également:

2 réponses

mamiemando Messages postés 33345 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
Modifié le 17 mars 2023 à 12:57

Bonjour,

Vu le message d'erreur, je dirais que tu as fait une faute de frappe et inséré un caractère invisible sur la ligne :

 voices = engine.getProperty('voices') 

Je t'invite donc à simplement effacer puis réécrire cette ligne.

Bonne chance 

0
hypothetix Messages postés 197 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 octobre 2024 55
17 mars 2023 à 13:44

Bonjour,

Au moins 2 erreurs:

Ligne 33 à la fin il manque )  

Ligne 82 else: devrait etre à la ligne suivante

@+

0