如何解决ValueError:无法找到令牌种子! https://translate.google.com更改了吗?
我正在制作一个使用gTTS和Google Speech的助手,但出现此错误。语音识别很好,因为它可以识别无故障。我使用打印功能进行了测试,但是当我想要文本转语音时,就会出现此错误。 ...
import speech_recognition as sr
from time import ctime
import time
import playsound
import os
import random
from gtts import gTTS
import webbrowser
r = sr.Recognizer()
def record_audio(ask=False):
with sr.Microphone() as source:
if ask:
watson_speak(ask)
audio = r.listen(source)
voice_data = ''
try:
voice_data = r.recognize_google(audio)
except sr.UnkNownValueError:
watson_speak("Sorry,I did not catch that")
except sr.RequestError:
watson_speak("I am offline right Now")
return voice_data
def watson_speak(audio_string):
tts = gTTS(text=audio_string,lang='en')
r = random.randint(1,10000000)
audio_file = 'audio-' + str(r) + '.mp3'
tts.save(audio_file)
playsound.playsound(audio_file)
print(audio_string)
os.remove(audio_file)
def respond(voice_data):
if 'what is your name' in voice_data:
watson_speak("My name is Watson")
if 'what time is it' in voice_data:
watson_speak(ctime())
if 'search' in voice_data:
search = record_audio("What do you want to search for?")
url = "https://duckduckgo.com/?t=ffnt&q=" + search
webbrowser.get().open(url)
watson_speak("Here is what I found for " + search)
if 'find location' in voice_data:
location = record_audio("What is the location?")
url = "https://google.nl/maps/place/" + location + "/&"
webbrowser.get().open(url)
watson_speak("Here is the location of " + location)
if 'exit' in voice_data:
exit()
time.sleep(1)
watson_speak("How can I help you?")
while 1:
voice_data = record_audio()
respond(voice_data)
... 不知道我做错了什么。一些指导将不胜感激。它一直在问我不确定的令牌种子。
解决方法
您应该考虑检查您的gTTS令牌包版本。如果您是通过pip安装软件包的,请在命令提示符下尝试以下行:
pip install gTTS-token --upgrade
至少在我看来,这是针对此类错误消息的解决方法
,做这两个升级
pip3 install gTTS-token --upgrade
pip3 install gTTS --upgrade
为我工作
,似乎Google已更新并切换到另一种产生语音的方式。
此问题当前在GitHub上开放,您可以检查更新https://gist.github.com/ddaddy/d58b648dbe82a1c63fe23541cc1aad40。
由于开发人员需要了解Google所做的更改,因此可能需要一段时间才能解决。
,有时我也会出现此错误,但有时代码可以完美运行,可能是gtts或pyaudio的问题。我建议您使用pyttsx库,我认为它比gtts更好,因为它可以为我提供最佳效果。
您可以检查pyttsx here
的安装 ,您需要更新gTTs令牌包 为此,请使用以下命令:
pip install gTTS-token --upgrade
这将更新当前软件包
,您可能需要重新安装 gTTS
sudo pip uninstall gTTS
sudo pip install gTTS
尝试更新 gTTS 以及请求。这有帮助。
如果您仍然遇到错误并且您在本地同时拥有 anaconda 和 python,请尝试调试 ~/.local/lib/python3.6/site-packages
,如果升级 gTTS 反映您的软件包并且您正在使用相同的软件包。
卸载并重新安装 gTTS 对我有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。