Je crée un assistant qui utilise gTTS et Google Speech mais cette erreur apparaît. Cela convient à la reconnaissance vocale car il peut reconnaître sans défauts. J'ai testé avec la fonction d'impression mais quand je veux de la synthèse vocale, ce bogue arrive. ...
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)
... Je ne sais pas ce que j'ai fait de mal. Quelques conseils seraient grandement appréciés. Il ne cesse de demander une graine symbolique dont je ne suis pas sûr.
4 Réponses :
Vous devriez envisager de vérifier la version de votre package gTTS-token. Si vous avez installé le package via pip, essayez cette ligne dans une invite de commande:
pip install gTTS-token --upgrade
C'était au moins dans mon cas le correctif pour ce type de message d'erreur
Il semble que Google a mis à jour et est passé à un autre moyen de générer de la parole.
Ce problème est actuellement ouvert sur GitHub, vous pouvez vérifier les mises à jour ici .
Cela prendra probablement un certain temps pour que cela soit corrigé car les développeurs doivent comprendre quels changements ont été apportés par Google.
J'ai aussi parfois cette erreur, mais parfois le code fonctionne parfaitement, peut-être que c'est un problème avec gtts ou pyaudio. Je vous recommande d'utiliser la bibliothèque pyttsx qui est, à mon avis, bien meilleure que gtts car je travaille dessus et me donne les meilleurs résultats.
vous pouvez vérifier l'installation de pyttsx ici
vous devez mettre à jour le package gTTs-token Pour cela, utilisez la commande ci-dessous:
pip install gTTS-token --upgrade
cela mettra à jour le package actuel