Warum funktioniert mein Code auf dem Raspberry Pi nicht?
Hallo,
Ich programmiere gerade einen Sprachassistenten und auf meinem Windows PC hat alles super funktioniert, aber als ich das Programm auf den Pi geladen und das Programm gestartet habe, kam diese Fehlermeldung:
Traceback (most recent call last):
File "/home/grafjulian08/PycharmProjects/voiceAssistant/main.py", line 1164, in <module>
execute()
File "/home/grafjulian08/PycharmProjects/voiceAssistant/main.py", line 658, in execute
if detect_wake_word(): # Falls das Wake-Word erkannt wurde
^^^^^^^^^^^^^^^^^^
File "/home/grafjulian08/PycharmProjects/voiceAssistant/main.py", line 139, in detect_wake_word
recognizer.adjust_for_ambient_noise(source) # Hintergrundgeräusche anpassen
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/grafjulian08/PycharmProjects/voiceAssistant/.venv/lib/python3.11/site-packages/speech_recognition/__init__.py", line 389, in adjust_for_ambient_noise
assert source.stream is not None, "Audio source must be entered before adjusting, see documentation for ``AudioSource``; are you using ``source`` outside of a ``with`` statement?"
^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Audio source must be entered before adjusting, see documentation for ``AudioSource``; are you using ``source`` outside of a ``with`` statement?
Ich habe ein gutes Mikrofon am Pi, welches auch funktioniert, und ich habe schon viel am Code geändert, aber es geht nicht weg. Woran kann das sonst liegen?
Wenn ich Teile meines Codes zeigen soll, könnt ihr das sagen.
Freundliche Grüsse
2 Antworten
Das Problem liegt wahrscheintlich daran, dass du:
- Auf dem Pi eine andere Python-Version installiert hast, als auf deinem PC
- Auf deinem Pi die Depencies nicht installiert hast (mit "pip" vergessen?):
https://packaging.python.org/en/latest/tutorials/managing-dependencies/
- Du hast vergessen, das MIkrofon zu aktivieren oder gar die Treiber zu installieren, anscheinend wird das Mikrofon nicht erkannt.
Benutzt du eine grafische Oberfläche beim Pi oder machst du alles über Shell?
Du solltest vorher im OS schauen, ob das Mikrofon tatsächlich erkannt wird und ggf. mit einem simplen Audiorecorder prüfen, ob es tatsächlich aufgenommen werden kann. Ein solides "anschließen" eines externen Gerätes (in dem Falle das Mikrofon) reicht oftmals nicht aus, du musst es zuvor erst noch installieren/konfigurieren.
Zeige bitte auch den Codeausschnitt, wo du initial das Microfon selektierst.
Vielen Dank für deine Antwort!
Ich habe den Code nochmal angeschaut und es liegt tatsächlich daran, dass ich die falsche Python-Version auf dem Pi installiert habe, da das Mikrofon funktioniert (ich habe schon Tests durchgeführt) und die Treiber usw. auch alle installiert sind. Ich programmiere auf einer graphischen Oberfläche, also konnte ich alles leicht überprüfen.
Wenn ich dir den Code zur initialisierung der Mikrofons trotzdem noch schicken soll, kannst du mir das gerne sagen.
Freundliche Grüsse
Ist Dir schon klar, dass Du Dich damit besser an ein PI-User-Forum wenden solltest? ;-)
Aber ich tippe mal darauf, dass die EInstellungen, um das Audio-Interface ansprechen zu können, auf dem Sinnlos-PC völlig anders sind, als auf dem PI.
Auf dem PI nutzt man in der Regel ALSA ... ist das eingerichtet und funktioniert?
Ja, ALSA ist installiert. Ich habe aber das Problem gefunden: Es war die Falsche Python- Version auf dem Pi installiert. Vielen Dank trotzdem!