微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ValueError:无法找到令牌种子! https://translate.google.com更改了吗?

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?