Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 1, 2019 16:35:03

Ilya2004
Зарегистрирован: 2019-06-01
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax

Решил написать голосового ассистента на питоне по видио ютубера.
вот код
# Голосовой ассистент КЕША 1.0 BETA
import os
import time
import speech_recognition as sr
from fuzzywuzzy import fuzz
import pyttsx3
import datetime

# настройки
opts = {
“alias”: ('кеша','кеш','инокентий','иннокентий','кишун','киш',
‘кишаня’,'кяш','кяша','кэш','кэша'),
“tbr”: ('скажи','расскажи','покажи','сколько','произнеси'),
“cmds”: {
“ctime”: ('текущее время','сейчас времени','который час'),
“radio”: ('включи музыку','воспроизведи радио','включи радио'),
“stupid1”: ('расскажи анекдот','рассмеши меня','ты знаешь анекдоты')
}
}

# функции
def speak(what):
print( what )
speak_engine.say( what )
speak_engine.runAndWait()
speak_engine.stop()

def callback(recognizer, audio):
try:
voice = recognizer.recognize_google(audio, language = “ru-RU”).lower()
print(" Распознано: " + voice)

if voice.startswith(opts):
# обращаются к Кеше
cmd = voice

for x in opts:
cmd = cmd.replace(x, “”).strip()

for x in opts:
cmd = cmd.replace(x, “”).strip()

# распознаем и выполняем команду
cmd = recognize_cmd(cmd)
execute_cmd(cmd)

except sr.UnknownValueError:
print(" Голос не распознан!“)
except sr.RequestError as e:
print(” Неизвестная ошибка, проверьте интернет!")

def recognize_cmd(cmd):
RC = {'cmd': ‘', ’percent': 0}
for c,v in opts.items():

for x in v:
vrt = fuzz.ratio(cmd, x)
if vrt > RC:
RC = c
RC = vrt

return RC

def execute_cmd(cmd):
if cmd == ‘ctime’:
# сказать текущее время
now = datetime.datetime.now()
speak(“Сейчас ” + str(now.hour) + “:” + str(now.minute))

elif cmd == ‘radio’:
# воспроизвести радио
os.system(“D:\\Jarvis\\res\\radio_record.m3u”)

elif cmd == ‘stupid1’:
# рассказать анекдот
speak(“Мой разработчик не научил меня анекдотам … Ха ха ха”)

else:
print('Команда не распознана, повторите!')

# запуск
r = sr.Recognizer()
m = sr.Microphone(device_index = 1)

with m as source:
r.adjust_for_ambient_noise(source)

speak_engine = pyttsx3.init()

# Только если у вас установлены голоса для синтеза речи!
voices = speak_engine.getProperty('voices')
speak_engine.setProperty('voice', voices.id)

# forced cmd test
speak(“Мой разработчик не научил меня анекдотам … Ха ха ха”)

#speak(“Добрый день, повелитель”)
#speak(“Кеша слушает”)

#stop_listening = r.listen_in_background(m, callback)
#while True: time.sleep(0.1) # infinity loop


ошибка {
“resource”: “/cUsers/User/jarvis/jarvis.py”,
“owner”: “python”,
“code”: “syntax-error”,
“severity”: 8,
“message”: “invalid syntax (<unknown>, line 49)”,
“source”: “pylint”,
“startLineNumber”: 49,
“startColumn”: 1,
“endLineNumber”: 49,
“endColumn”: 1
}

Офлайн

#2 Июнь 2, 2019 20:04:03

Dima-python
От: Санкт-Петербург
Зарегистрирован: 2019-06-02
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax

Приложи ссылку, посмотрим

Офлайн

#3 Июнь 3, 2019 11:06:43

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

invalid syntax

ох уж это поколение Ютуба … смотрел я как то пару уроков, больше половины времени потрачено банально не эффективно.
0) код при вставке на форумы и чаты оборачивают в специальные теги, здесь это теги code
1) traceback ошибки показывать надо полностью



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version