Seite 1 von 1

Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 14:18
von Bio Salami
Hi,
ich programmiere momentan einen Sprachasistenten und habe Probleme mit vorlegendem Skript:

Code: Alles auswählen

import speech_recognition as sr
import time
import pyttsx3

r= sr.Recognizer()

voice = pyttsx3.init()
voice.setProperty('rate', 130)


def record_audio():
    with sr.Microphone() as source:
        
        print("wait for order")
        audio = r.listen(source, timeout=20, phrase_time_limit=4)
        voice_data = ''

        try:
            print("send order to Server")
            voice_data = r.recognize_google(audio, language="de-DE",)
            print("order detected! " + voice_data)
        except sr.UnknownValueError:
            print("order not understood")
        #    bingo_speak("Endschuldige das habe ich nicht verstanden")
        except sr.RequestError:
            print("server not accessible")
            bingo_speak("Meine Server sind gerade nicht erreichbar")
        return voice_data


def bingo_speak(text):
    print("say: " + text)
    voice.say(text)
    voice.runAndWait()

def respond(voice_data):
    
    if 'Projekt' in voice_data:
        exit()
    


time.sleep(1)

while 1:
    
    voice_data = record_audio()
    respond(voice_data)

Beim ausführen entstehen eine menge Fehlermeldungen mit denen ich nichts anfangen kann.
Meist wird angezeigt das ich einige APIs nicht importiert habe. Hilfe wäre nett

Re: Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 16:13
von YAPD
Hi,

könntest du genauer beschreiben, welche Fehlermeldungen du erhältst, bzw. diese posten ?

Vielen Dank !

YAPD

Re: Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 16:13
von rogerb
@Bio Salami,

Ich weiß zwar nicht welche Fehlermeldungen du bekommst, aber das SpeechRecognition Package scheint PyAudio zu benötigen.
Du kannst versuchen, es nach zu installieren. Bei mir hat das aber leider nicht funktioniert.
PyAudio wurde wohl nur bis Python 3.6 unterstützt.
Ist vielleicht besser, du suchst dir ein anderes Sprachpaket.

Re: Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 16:22
von YAPD
Genau das angesprochene Problem hatte ich auch bei der Ausführung deines Codes !
Es kreidet auch die C++ Version an. Keine Ahnung, ob du das Problem auch hattest.

Viele Grüße
YAPD

Re: Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 17:00
von YAPD
Hey BioSalami,

Also das mit der Unterstützung bis 3.6 scheint nicht richtig zu sein.
Folgende 2 Schritte und PyAudio wurde installiert :-) :

Code: Alles auswählen

pip install pipwin
pipwin install pyaudio
Ausgabe :

wait for order
send order to Server
order not understood
wait for order
send order to Server
order not understood
wait for order
send order to Server
order not understood
...

Hab gerade kein Mikro angeschlossen :)

VG
YAPD

Re: Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 17:23
von __blackjack__
Vielleicht hat Google etwas an der API geändert. Klappt es eventuell mit einem anderen Backend?

Re: Fehlermeldung

Verfasst: Mittwoch 28. Juli 2021, 17:36
von rogerb
@YAPD,
Also das mit der Unterstützung bis 3.6 scheint nicht richtig zu sein.
Ähhh, naja. Also es ist schonmal gut dass es geklappt hat. Und das sollte auch so funktionieren, denke ich.
Ich hatte auch nach der Seite
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
gesucht, aber ehrlich gesagt nicht mehr gefunden.

Das letzte offizielle Release von pyAudio ist aber tatsächlich von 2017. Es mag auch sein dass es noch Seiten gibt, die inoffiziell Binaries für solche ausgelaufenen Pakete zur Verfügung stellen.
Es ist aber dann leider oft so dass es keinerlei Support mehr gibt und dass die Community sich schon neuen, moderneren Paketen zugewandt hat.

Re: Fehlermeldung

Verfasst: Donnerstag 5. August 2021, 12:32
von Bio Salami
Danke dass ihr alle so schnell Geantwortet habt. Mit den APIs habe ich keine Probleme und in einem Anderen Skript habe ich sie auch schon mehrfach genutzt. Meine Fehlermeldungen sehen so aus:

Code: Alles auswählen

PS C:\Users\Laurin\Documents\Sprachasistent\Skripte 2> py keyword.py
Traceback (most recent call last):
  File "C:\Users\Laurin\Documents\Sprachasistent\Skripte 2\keyword.py", line 1, in <module>
    import speech_recognition as sr
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\site-packages\speech_recognition\__init__.py", line 8, in <module>    import subprocess
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 49, in <module>
    import signal
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\signal.py", line 3, in <module>
    from functools import wraps as _wraps
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\functools.py", line 18, in <module>
    from collections import namedtuple
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py", line 36, in <module>
    from keyword import iskeyword as _iskeyword
  File "C:\Users\Laurin\Documents\Sprachasistent\Skripte 2\keyword.py", line 3, in <module>
    import pyttsx3
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\site-packages\pyttsx3\__init__.py", line 1, in <module>
    from .engine import Engine
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\site-packages\pyttsx3\engine.py", line 1, in <module>
    from . import driver
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\site-packages\pyttsx3\driver.py", line 2, in <module>
    import traceback
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\traceback.py", line 5, in <module>
    import linecache
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\linecache.py", line 11, in <module>
    import tokenize
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\tokenize.py", line 32, in <module>
    import re
  File "C:\Users\Laurin\AppData\Local\Programs\Python\Python39\lib\re.py", line 315, in <module>
    @functools.lru_cache(_MAXCACHE)
AttributeError: partially initialized module 'functools' has no attribute 'lru_cache' (most likely due to a circular import)
PS C:\Users\Laurin\Documents\Sprachasistent\Skripte 2>

Re: Fehlermeldung

Verfasst: Donnerstag 5. August 2021, 12:49
von YAPD
Hey Biosalami,

hast du die 2 von mir angesprochenen Befehle ausgeführt ?

Code: Alles auswählen

pip install pipwin
pipwin install pyaudio
Bei mir wurde anschließend das Programm korrekt ausgeführt, ohne
Fehlermeldungen. Sollte sich der Code wirklich auf das beschränken,
was du gepostet hast, muss der Fehler woanders liegen.

VG
YAPD

Re: Fehlermeldung

Verfasst: Donnerstag 5. August 2021, 13:13
von __blackjack__
@Bio Salami: Nenne Dein Modul mal nicht `keyword`, weil dass dann das `keyword`-Modul aus der Standardbibliothek verdeckt, was aber irgendwo indirekt von den Importen in Deinem Modul verwendet wird, und zu der gezeigten Ausnahme führt.

Re: Fehlermeldung

Verfasst: Donnerstag 5. August 2021, 17:23
von Bio Salami
__blackjack__ Danek das hat mir geholfen. Jetzt funktioniert alles!