Fehler:UnicodeDecodeError: 'ascii'codec ...byte 0xc3

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lungee
User
Beiträge: 14
Registriert: Dienstag 28. Mai 2019, 16:40

Hallo miteinander,

mein Script für einen Sprachassistenten funktioniert beim besten Willen nicht.
Ich bekomme ständig diesen Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\lunge\Desktop\Stefan Programs\test II.py", line 27, in <module>
    tts.save('askingforcommand.mp3')
  File "C:\Python27\lib\site-packages\gtts\tts.py", line 249, in save
    self.write_to_fp(f)
  File "C:\Python27\lib\site-packages\gtts\tts.py", line 182, in write_to_fp
    text_parts = self._tokenize(self.text)
  File "C:\Python27\lib\site-packages\gtts\tts.py", line 151, in _tokenize
    if _len(text) <= self.GOOGLE_TTS_MAX_CHARS:
  File "C:\Python27\lib\site-packages\gtts\utils.py", line 68, in _len
    return len(unicode(text))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 36: ordinal not in range(128)


Hier ein Auszug aus dem Script.

Code: Alles auswählen

import speech_recognition as sr
from gtts import gTTS
import os
import pyaudio
import time
import webbrowser


r1 = sr.Recognizer()
with sr.Microphone()as source:

    tts=gTTS(text='Identifizieren Sie sich!', lang='de')
    tts.save('begruessung.mp3')
    os.system('start begruessung.mp3')
        
    audio1 = r1.listen(source)

if 'Stefan' in r1.recognize_google(audio1, language='de-DE'):
    
    r2 = sr.Recognizer()
    with sr.Microphone() as source:

        tts=gTTS(text = 'Hallo Sir, wie lauten Ihre Befehle für mich'+'?', lang='de')

        tts.save('askingforcommand.mp3')
        os.system('start askingforcommand.mp3')
        time.sleep(.010)
    
        audio2 = r2.listen(source)
    
        try:
            tts=gTTS (text='Sagtest du gerade:'+ r2.recognize_google(audio2, language='de')+'?',lang='de')

            tts.save('speech_recognitionI.mp3')
            os.system('start speech_recognitionI.mp3')
            r2.recognize_google(audio2, language='de-DE')
            time.sleep(.010)
    
        except sr.UnknownValueError:
    
            tts=gTTS (text="Sorry, hab ich nicht verstanden",lang='de')

            tts.save('speech_recognitionII.mp3')
            os.system('start speech_recognitionII.mp3')
            time.sleep(.010)
    
        except sr.RequestError as e:
    
            tts=gTTS (text="Kein Empfang; {0}".format(e),lang='de')
    
            tts.save('speech_recognitionIII.mp3')
            os.system('start speech_recognitionIII.mp3')
            time.sleep(0.10)
Weiß nicht woran es liegt; hatte noch nie diese Art von Fehler. Die englischsprachigen Foren hatten keine plausible Anwort, deswegen wollte ich meine deutschsprachigen Kollegen mal fragen.


Hoffe ihr könnt mir hierbei schnell weiterhelfen. Denke, es ist ein kleiner Denkfehler von meiner Seite.

MfG

Lungee
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Du benutzt noch Python2 was Du dringend ändern solltest. Damit verschwindet Dein Problem auch einfach so, denn alle Texte sollten unicode-Strings sein.

Warum importierst Du pyaudio, wenn Du dann doch allen Sound auf die Platte schreibst und mit os.system abspielst??
Lungee
User
Beiträge: 14
Registriert: Dienstag 28. Mai 2019, 16:40

@Sirius3

Yeah ich benutze noch Python 2.7. Pyaudio ist fürs Micro erforderlich (Meines Wissens nach). Und Pyaudio ist der springende Punkt warum ich noch die 2.7er Version nutze. Wenn ich nämlich Pyaudio via 'pip install PyAudio' auf Ptython 3.7 installieren möchte, spuckt er mir eine riesengroße Fehlermeldung aus, dass Microsoft Visual Sudio erforderlich ist. Habs schon mal installiert und ausprobiert, gebracht hat es im Endeffekt nichts.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Es gibt halt nur fertige Pakete für Python 3.6. Es ist kein Schaden, das zu verwenden.
Lungee
User
Beiträge: 14
Registriert: Dienstag 28. Mai 2019, 16:40

@Sirius

Wie meinst du das jetzt genau. Also bei 3.6 kann ich das ganz normal ohne Microsoft VS herunterladen oder verstehe ich jetzt was falsch?
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Mit 3.6 funktioniert es problemlos.
Antworten