• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python Tworzenie asystenta głosowego w języku angielskim

Object Storage Arubacloud
0 głosów
618 wizyt
pytanie zadane 14 grudnia 2018 w Python przez Szymon Szatan Nowicjusz (120 p.)

Hej mam problem z kodem w pythonie a mianowicie
File "C:Nie\Będe\Ujawniał\Plików\x\D", line 52
print r.recognize_google(audio)
          ^ (wskazuje na r)
SyntaxError: invalid syntax
[Finished in 0.1s]

 

 

Cały kod poniżej \/


import aiml
import os
import time
import argparse


mode = "text"
voice = "pyttsx"
terminate = ['bye', 'buy', 'shutdown', 'exit', 'quit', 'gotosleep', 'goodbye']


def get_arguments():
parser = argparse.ArgumentParser()
optional = parser.add_argument_group('params')
optional.add_argument('-v', '--voice', action='store_true', required=False,
help='Enable voice mode')
optional.add_argument('-g', '--gtts', action='store_true', required=False,
help='Enable Google Text To Speech engine')
arguments = parser.parse_args()
return arguments


def gtts_speak(jarvis_speech):
tts = gTTS(text=jarvis_speech, lang='en')
tts.save('jarvis_speech.mp3')
mixer.init()
mixer.music.load('jarvis_speech.mp3')
mixer.music.play()
while mixer.music.get_busy():
time.sleep(1)


def offline_speak(jarvis_speech):
engine = pyttsx.init()
engine.say(jarvis_speech)
engine.runAndWait()


def speak(jarvis_speech):
if voice == "gTTS":
gtts_speak(jarvis_speech)
else:
offline_speak(jarvis_speech)


def listen():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Talk to J.A.R.V.I.S: ")
audio = r.listen(source)
try:
print r.recognize_google(audio)
return r.recognize_google(audio)
except sr.UnknownValueError:
speak(
"I couldn't understand what you said! Would you like to repeat?")
return(listen())
except sr.RequestError as e:
print("Could not request results from " +
"Google Speech Recognition service; {0}".format(e))


if __name__ == '__main__':
args = get_arguments()

if (args.voice):
try:
import speech_recognition as sr
mode = "voice"
except ImportError:
print("\nInstall SpeechRecognition to use this feature." +
"\nStarting text mode\n")
if (args.gtts):
try:
from gtts import gTTS
from pygame import mixer
voice = "gTTS"
except ImportError:
import pyttsx
print("\nInstall gTTS and pygame to use this feature." +
"\nUsing pyttsx\n")
else:
import pyttsx

kernel = aiml.Kernel()

if os.path.isfile("bot_brain.brn"):
kernel.bootstrap(brainFile="bot_brain.brn")
else:
kernel.bootstrap(learnFiles="std-startup.xml", commands="load aiml b")
# kernel.saveBrain("bot_brain.brn")

# kernel now ready for use
while True:
if mode == "voice":
response = listen()
else:
response = raw_input("Talk to J.A.R.V.I.S : ")
if response.lower().replace(" ", "") in terminate:
break
jarvis_speech = kernel.respond(response)
print "J.A.R.V.I.S: " + jarvis_speech
speak(jarvis_speech)

 

1 odpowiedź

0 głosów
odpowiedź 14 grudnia 2018 przez adrian17 Ekspert (344,860 p.)
def get_arguments():
parser = argparse.ArgumentParser()

Jeśli faktycznie tak wygląda Twój kod, to masz kompletnie rozwalone wcięcia.

print r.recognize_google(audio)

Jeśli to Python 3, print jest jak każda inna funkcja: print().

Podobne pytania

0 głosów
0 odpowiedzi 211 wizyt
+2 głosów
2 odpowiedzi 655 wizyt
pytanie zadane 29 lipca 2020 w Python przez Igorek Mądrala (6,290 p.)
0 głosów
1 odpowiedź 491 wizyt

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...