wake-up-neo.net

Python GTTS-Fehler: AttributeError: 'NoneType'-Objekt hat keine Attributgruppe.

Ich habe ein Projekt, bei dem ich Text in Sprache konvertierte. Meine Audiodatei wird als MP3 gespeichert.

Aber jetzt, wenn ich das Gtts API prüfe, wirft Fehler. Ich habe versucht zu suchen, konnte aber keine praktikable Lösung für den Fehler finden.

Mein Code lautet wie folgt: 

def synth(sent,language='en',slow = False):
    """
    Synthesize text into audio
    """  
    os.system('clear')
    print("Speaker Output:" + sent)
    gt_ob = gTTS(text=sent, lang=language, slow=slow)
    file_name = hashlib.md5(sent.encode('utf-8')).hexdigest()
    print("File Name " + file_name)
    gt_ob.save("media/audio.mp3")
    print("Till here")
    os.system("ffmpeg -nostats -loglevel 0 -y -i media/audio.mp3 -ar 16000 media/"+ file_name + ".wav")

if __== "__main__":
    synth("good morning","en")

Und die Fehlermeldung, die ich erhalte, ist: 

File "file_name.py", line 30, in <module>
synth("good morning","en")
  File "file_name.py", line 25, in synth
    gt_ob.save("media/audio.mp3")
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts/tts.py", line 247, in save
    self.write_to_fp(f)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts/tts.py", line 187, in write_to_fp
    part_tk = self.token.calculate_token(part)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 28, in calculate_token
    seed = self._get_token_key()
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 62, in _get_token_key
    a = re.search("a\\\\x3d(-?\d+);", tkk_expr).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

Wie können wir diesen Fehler beheben, der aufgetaucht ist?

4
arqam

Es gibt jetzt eine offizielle Lösung. Es hatte mit einer Upstream-Abhängigkeit von gtts, gtts-token zu tun. Es wurde in gtts-token==1.1.2 behoben.

Das Problem wurde behoben, nachdem ich gtts und gtts-token neu installiert hatte. Jetzt funktioniert es. Vielen Dank an Open Source-Götter und @ Carrey-Cole

Link: https://github.com/pndurette/gTTS/issues/137

8
bipin_s

Es scheint, dass dies ein bekannter Fehler ist, der bereits vor sieben Tagen behoben wurde: https://github.com/pndurette/gTTS/issues/137

Die Lösung wäre das Upgrade des gTTS-Token-Pakets.

5
Iguananaut

Versuche Folgendes: 

pip install google_tts

es funktioniert genauso 

import google_tts
a = google_tts.TTS(text = 'hello world')
a.save('test.mp3')
1
James Yang

Das Problem tritt auf, da die GTT-Version veraltet ist.

Führen Sie den folgenden Befehl in der CLI aus

pip install gtts --upgrade

0
user9666121