之前我对gTTS没有任何问题:
import gtts
stop = ('My voice!')
tts = gtts.gTTS(text=stop, lang='en')
tts.save("D:\\path\\Voice.mp3")
但突然出现了错误:
Traceback (most recent call last):
File "D:/folder1/project/prog1.py", line 6, in <module>
tts.save("D:\\project\\Voice.mp3")
File "C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\gtts-1.1.4-py3.5.egg\gtts\tts.py", line 94, in save
File "C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\gtts-1.1.4-py3.5.egg\gtts\tts.py", line 118, in write_to_fp
File "C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\requests-2.9.1-py3.5.egg\requests\models.py", line 840, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://translate.google.com/translate_tts?q=SAY+YES%21&tk=834753.692152&tl=en&total=1&client=t&idx=0&ie=UTF-8&textlen=8
不太懂,如何弄清楚这个问题
我升级了gTTS
pip安装gTTS - 升级gTTS
但得到同样的错误。
编辑:------------------------------------------ ---------------------------------
解决方案来源:https://github.com/pndurette/gTTS/issues/32
在我的情况下也一样:
C:\用户\用户\应用程序数据\本地\程序\的Python \ Python35-32 \ LIB \站点包\这些GTT
tts.py 中的
第105行
并将 client=t
更改为 'client' : 'tw-ob',
答案 0 :(得分:0)
我安装了gtts
软件包,并且能够复制此问题。在这种情况下,gtts
包使用的Google翻译网址不再有效(它返回403 HTTP错误)。这应该被报告为gtts
软件包维护者的错误,因为看起来谷歌的文本到语音API已经改变(或破坏)。
编辑:此问题有already been reported。