0

我正在使用 gtts 作为文本到语音和语音识别来构建语音帮助。但我在要保存机器人输入的行中出现错误。

错误信息如下:

Traceback (most recent call last):
File "d:\rasa test\voice_bot.py", line 64, in <module>
myobj.save(filename)
File "D:\Anaconda\lib\site-packages\gtts\tts.py", line 295, in save
prepared_requests = self._prepare_requests()
File "D:\Anaconda\lib\site-packages\gtts\tts.py", line 194, in _prepare_requests
part_tk = self.token.calculate_token(part)
File "D:\Anaconda\lib\site-packages\gtts_token\gtts_token.py", line 28, in calculate_token
seed = self._get_token_key()
File "D:\Anaconda\lib\site-packages\gtts_token\gtts_token.py", line 58, in _get_token_key
raise ValueError(
ValueError: Unable to find token seed! Did https://translate.google.com change?

这是gtts还是其他问题,谁能解释一下?

4

2 回答 2

6

1 升级 gTTS-token

今天遇到了同样的问题。我检查了我的包裹,发现gttsgtts-token已过期:

>>> python -m pip list --outdated

----------------- --------- --------- -----
gTTS              2.1.1     2.2.1     wheel
gTTS-token        1.1.3     1.1.4     sdist

我更新了两个:

python -m pip install --upgrade gtts
python -m pip install --upgrade gtts-token

这似乎为我解决了这个问题。


2 实现重试逻辑

gTTS-token git repo 上的问题跟踪器中提到了此错误。除了提到“重试机制”之外,评论没有提供更多信息,如果/当库遇到此错误时,这听起来像是一种解决方法。

现在我正在使用gTTS v1.1.4,我注意到有时从我的应用程序访问谷歌翻译似乎需要更长的时间。我想这是图书馆的内部重试周期在工作。

因此,如果您无法升级gTTS 令牌,那么您可能必须捕获此错误并实施您自己的重试逻辑。

于 2020-11-19T14:19:26.253 回答
-1

这是因为 gTTS
你没有使用 gTTS v1.1.4

https://github.com/Boudewijn26/gTTS-token/releases/tag/v1.1.4 检查这个,它应该适合你

于 2020-11-10T08:31:46.673 回答