Форум сайта python.su
Нужна помощь срочно , не могу понять , почему не могу сделать приложение и как для этой программы сделать интерфейссс
import os
import time
import speech_recognition as sr
from fuzzywuzzy import fuzz
import pyttsx3
import datetime
# настройки
opts = {
“alias”: ('алекс','аля','александра','саша','сашка','саня',
‘шура’,'сашенька','сашуля','сало','саса'),
“tbr”: ('скажи','расскажи','покажи','сколько','произнеси'),
“cmds”: {
“ctime”: ('текущее время','сейчас времени','который час'),
“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(" Голос не распознан!")
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 == ‘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()
speak(“здравствуйте ”)
speak(“Голосовой ассистент Алекса готов к работе”)
stop_listening = r.listen_in_background(m, callback)
while True: time.sleep(0.1) # infinity loop
Прикреплённый файлы:
ГВ.py (2,7 KБ)
Офлайн
lotos23wUI?
как для этой программы сделать интерфейссс
Отредактировано AD0DE412 (Сен. 23, 2020 16:01:00)
Офлайн