@Dave: das ist eigentlich nicht frech, sondern nachvollziehbar. Die stellen den Sprachservice beim Translator ja nicht als TTS-Service sondern als Ergänzung für den Übersetzungsservice zur Verfügung. Da kann man nichts anderes verlangen.
Übrigens geht notevibes inzwischen auch nur noch manuell (ich hatte dazu ja auch schon ein Automatisierungsscript gepostet). Die automatische Verwendung wird nun durch Recaptchas verhindert. Das ist das natürliche Wettrüsten und auch in Ordnung so. Die wollen mit ihrem kostenlosen Service ja auch (über Werbung) Geld verdienen (was in Ordnung ist), was mit einem automatisierten Script ja umgangen wird.
@stephan: Gegen das Zahlen spricht eigentlich nichts. Mich stört, dass ich mich da registrieren muss.
Ich hab aus Gründen auch keinen Google Account und mache alles via say am Mac oder eben via Amazon Polly (Amazon Account eh vorhanden). Kann das Script ja alles drei. Polly auch deswegen weil ich die files ja dann auch zum Download anbiete.
Des is ja das scheene, kannste dich mit dem normalen Account einloggen. Man braucht nichmals Zahlungsmittel hinterlegen (weil ja vorhanden). Ich gebe allerdings zu, AWS ist nichts für absolute Anfänger. War auch heilfroh als ich das alles irgendwie fertig konfiguriert hatte (mit Usern und Rechten und pi pa po).
Generating: temp-lead-in.mp3 - Das Fohlen
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1035 0 775 100 260 2444 820 --:–:-- --:–:-- --:–:-- 3264
Traceback (most recent call last):
File „add_lead_in_messages.py“, line 124, in
addLeadInMessage(args.input, args.output)
File „add_lead_in_messages.py“, line 55, in addLeadInMessage
addLeadInMessage(os.path.join(inputPath, child), os.path.join(outputPath, child))
File „add_lead_in_messages.py“, line 82, in addLeadInMessage
text_to_speech.textToSpeechUsingArgs(text=text, targetFile=tempLeadInFile, args=args)
File „/home/tsteinbe/Downloads/text_to_speech.py“, line 55, in textToSpeechUsingArgs
textToSpeech(text, targetFile, lang=args.lang, useAmazon=args.use_amazon, useGoogleKey=args.use_google_key)
File „/home/tsteinbe/Downloads/text_to_speech.py“, line 81, in textToSpeech
mp3Data = base64.b64decode(responseJson[‚audioContent‘])
KeyError: ‚audioContent‘
python -V -> Python 2.7.15+
Wenn ich das Skript mit Python3 aufrufe bekomme ich noch einen anderen Fehler:
Ich vermute, dass es auch mit dem aktuellen Skript nicht gehen wird. Ist die Google Api aktiviert?
Oben im Thread ging es schonmal um den gleichen Fehler:
Das gilt es herauszufinden. Den genauen Inhalt der Fehlermeldung kann man mit dem o.g. „print“ Befehl sichtbar machen. Einfach in der text-to-speech.py an der genannten Stelle hinzufügen. Kann eigentlich nur ein Problem mit dem Api Key, Berechtigungen o.ä. sein. Wenn du die Api grade erst aktiviert hast, kann es auch einen Moment dauern, bis alle Google Systeme davon wissen.
Der API key ist ansdcheinend richtig, sonst würdest du ein HTTP Error 400: Bad Request bekommen. Schau mal nach den Einschränkungen für den API Key (kann man für bestimmte Services erlauben, auf Clients beschränken, …).
Der „print“ Befehl hätte übrigens mit dem aktuellen Skript gar nicht funktioniert Ich habe mir grad mal den Code angeschaut und an der besagten Stelle funktioniert das etwas anders als bisher. Eine vernünftige Ausgabe wäre natürlich schöner. Die Meldungen der Google Api sind ja mitunter sehr aufschlussreich und ich denke es wäre sinnvoll diese Informationen im Fehlerfall einfach immer mit auszugeben.
Ich habe mich bisher kaum mit exceptions beschäftigt, aber um die Meldungen der Google Api anzuzeigen, könnte man in der text-to-speech.py die Zeilen
except Exception as e:
print(e)
ersetzen durch etwas wie:
except urllib.error.HTTPError as e:
print(e)
print(e.read().decode())
sys.exit(3)