0
0 Комментариев

1.[apcode language=»python»]

# Голосовой ассистент ЛЕХА 1.0 БЕТА
import os
import time
import speech_recognition as sr
import fuzzywuzzy as fuzz
import datetime
import pyttsx3
  opts = {
 'alias': ("леха","лех","леша","алескей","ассистент","леш"),
 "tbr": ("скажи","раскажи","покажи","произнеси","обьясни","научи","обучи","найди","поищи"),
 'cmd': {
  'ctime':('текущее время','сейчас времени','который час'),
  "joke":('расскажи анекдот','расскажи шутку','расмеши меня','мне скучно','ты знаешь анекдоты ','а ты знаешь анекдоты','мне скучно расмеши меня','какие анекдоты ты знаешь'),
 }
}
  #функции
def speak(what):
 print( what )
 speak_engine.say( what )
 speak_engine.runAndWait()
 speak_engine.stop()
def callback(Recongizer,audio):
 try:
  voice = r.recognize_google(audio, language = "ru-Ru").lower()
  print("[log] Распознано: " + voice) 
   if voice.startswith(opts['alias']):
   #обращениe
   cmd = voice 
    for x in opts['alias']:
    cmd = cmd.replace(x, "").strip()
    for x in opts['tbr']:
    cmd = cmd.replace(x, "").strip()
    #распознание и выполнение команды
   cmd = recognize_cmd(cmd)
   execute_cmd(cmd['cmd'])
  except sr.UnknownValueError:
  print("[log] Я тебя не понял")
  except sr.RequestError as e:
  print("[log] ОШИБКА, ОШИБКА НЕТ ПОДКЛЮЧЕНИЕ К ИНТЕРНЕТУ!!!")
    def recongize_cmd(cmd):
 RC = {'cmd': '', 'percent': 0}
 for c,v in opts['cmds'].items():
   for x in v:
   vrt = fuzz.ratio(cmd, x)
   if vrt > RC['percent']:
    RC['cmd'] = c
    RC['percent'] = vrt
 return RC
 def execute_cmd(cmd):
 if cmd == 'ctime':
     # time
     now = datetime.datetime.now()
     speak('Сейчас ' + str(now.hour) + ":" + str(now.minute))
   elif cmd == 'joke':
  #шутка
  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('voices', voices[4].id)
  speak("Привет я готов помогать тебе, говори что нужно сделать)")
speak("слушаю")
  stop_listening = r.listen_in_background(m, callback)
while True: time.sleep(0.1)

[/apcode] python 3.7.4

2. win

4. sublime text 3

5.Здравствуйте, я начинающий программист питона. После обучения хотелось сделать что то серьёзное для себя, вот пришла идея создать своего голосового ассистента. Все делал по туториалу Хауди хо. Но ассистент не хочет выполнять мою команду.


Добавить комментарий