IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Erreur Commande vocale IA Python


Sujet :

Python

  1. #1
    Invité
    Invité(e)
    Par défaut Erreur Commande vocale IA Python
    Bonjour.

    Je sollicite à nouveau votre aide, sur Python cette fois.

    J'ai crée un (petit) projet d'assistant virtuel qui interagit avec la personne (comme Alexa chez Amazon).

    Mais après une mise à jour de PIP et des librairies associées à ce projet (pyaudio, pywhatkit, speech_recognition ...), cette commande ne répond plus et n'émet plus de son après le premier bonjour.

    Voilà les erreurs : line 52, in alicia_command

    voice = listener.listen(source)

    ^^^^^^^^^^^^^^^^^^^^^^^

    File "d:\Chemin_du_Projet\venv\Lib\site-packages\speech_recognition\__init__.py", line 651, in listen

    assert source.stream is not None, "Audio source

    must be entered before listening, see documentation

    for ``AudioSource``; are you using ``source`` outside of a ``with`` statement?"

    ^^^^^^^^^^^^^^^^^^^^^^^^^

    AssertionError: Audio source must be entered before

    listening, see documentation for ``AudioSource``; are you using ``source`` outside of a ``with`` statement?

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):

    File "d:\Chemin_du_Projet\main.py", line 188, in <module>

    run_alicia()

    File "d:\Chemin_du_Projet\main.py", line 68, in run_alicia

    command = alicia_command()

    ^^^^^^^^^^^^^^^^

    File "d:\Chemin_du_Projet\main.py", line 47, in alicia_command

    with sr.Microphone() as source:

    File "d:\Chemin_du_Projet\venv\Lib\site-packages\speech_recognition\__init__.py", line 201, in __exit__

    self.stream.close()

    ^^^^^^^^^^^^^^^^^

    AttributeError: 'NoneType' object has no attribute 'close'

    Et voilà l'extrait du code concerné :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    # import des librairies
    import sys
    import pyttsx3
    import speech_recognition as sr
    import pywhatkit
    import datetime
    import wikipedia
    import random
    import webbrowser
     
    # initialisation de la reconnaissance vocale
    listener = sr.Recognizer()
    engine = pyttsx3.init()
    # Pour la langue parlée
    engine.setProperty("voice", "french")
    # Pour la vitesse d'élocution
    engine.setProperty("rate", 200)
     
    name = input("Comment t'appelles-tu ? ")
     
    # FONCTION pour parler
    def talk(text) :
        engine.say(text)
        engine.runAndWait()
     
    # FONCTION pour saluer
    def greetme():
        # initialisation de l'heure actuelle
        currentHour = int(datetime.datetime.now().hour)
        # création des conditions
        if 0 <= currentHour <= 18:
            talk("Bonjour" + name)
        if 18 <= currentHour <= 24:
            talk("Bonsoir" + name)
     
    # pour paramétrer la voix féminine française
    voices = engine.getProperty("voices")
    engine.setProperty("voice", voices[0].id)
    # appel de la fonction greetme
    greetme()
    engine.say("Comment vas-tu ? ")
    engine.runAndWait()
     
    # FONCTION pour envoyer des instructions
    def alicia_command():
        # utilisation du microphone interne
        with sr.Microphone() as source:
            print("Un instant, s'il te plait ...")
            # un temps de pause
            listener.pause_threshold = 3
            # passer le texte à la commande vocale
            voice = listener.listen(source)
            command = listener.recognize_google(voice, language="fr-FR")
            # vérification si la commande est bien demandée
            if "alicia" in command :
                command = command.replace("alicia", "")
            return command
     
     
    # FONCTION pour éxécuter des tâches
    def run_alicia():
     
        # définir un navigateur pour ouvrir les pages
        navigateur_path = r"C:\CheminDuNavigateur\Navigateur.exe"
        # enregistrer le site
        webbrowser.register('navigateur', None, webbrowser.BackgroundBrowser(navigateur_path))
        # appel de la fonction alicia_command
        command = alicia_command()

    Merci d'avance !!!

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Salut,

    Citation Envoyé par (.....) Voir le message
    Mais après une mise à jour de PIP et des librairies associées à ce projet (pyaudio, pywhatkit, speech_recognition ...), cette commande ne répond plus et n'émet plus de son après le premier bonjour.
    Les solutions sont revenir en arrière en installant les versions avec lesquelles vous savez l'application marcher ou corriger les problèmes rencontrés en cherchant un peu sur Internet ce qu'on fait ceux qui ont eu le même genre de soucis (s'il est causé par la montée de version de xyz, ça a du faire jaser).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Peut on mettre une commande linux avec python
    Par specimen35 dans le forum Général Python
    Réponses: 2
    Dernier message: 20/12/2007, 16h06
  2. erreur commande rake
    Par John1234 dans le forum Ruby on Rails
    Réponses: 6
    Dernier message: 12/06/2007, 19h11
  3. Masquer une commande système dans python
    Par Mysti¢ dans le forum Général Python
    Réponses: 5
    Dernier message: 03/11/2006, 16h33
  4. Réponses: 3
    Dernier message: 23/01/2006, 16h29
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo