Код:
import speech_recognition as sr
import win32com.client
import keyboard
import webbrowser
import datetime
import random
pravda=True
speaker=win32com.client.Dispatch("SAPI.SpVoice")
def voicecommand():
r = sr.Recognizer() # Создаем объект на основе библиотеки speech_recognition и вызываем метод для определения данных
with sr.Microphone() as source:# Начинаем прослушивать микрофон и записываем данные в source
print("Говорите")# Просто вывод, чтобы мы знали когда говорить
r.pause_threshold = 1# Устанавливаем паузу, чтобы прослушивание началось лишь по прошествию 1 секунды
r.adjust_for_ambient_noise(source, duration=1)# используем adjust_for_ambient_noise для удаления посторонних шумов из аудио дорожки
audio = r.listen(source)# Полученные данные записываем в переменную audio пока мы получили лишь mp3 звук
try: # Обрабатываем все при помощи исключений
"""
Распознаем данные из mp3 дорожки.
Указываем что отслеживаемый язык русский.
Благодаря lower() приводим все в нижний регистр.
Теперь мы получили данные в формате строки,
которые спокойно можем проверить в условиях
"""
zadanie = r.recognize_google(audio, language="ru-RU").lower()
# что сказал пользователь
print("Вы сказали:"+zadanie)# что сказал пользователь
command=zadanie
except sr.UnknownValueError:# Если не смогли распознать текст, то будет вызвана эта ошибка
# Здесь просто проговариваем слова "Я вас не поняла"
# и вызываем снова функцию command() для
# получения текста от пользователя
talk("Я вас не поняла")
zadanie = voicecommand()
keyboard.add_hotkey('Ctrl', voicecommand)
name5=("Окжма")
name4=("Ок жма")
name3=("окжма")
name2=("ок жма")
name1=("okjma")
name=("ok jma")
b=input("Вызовите меня:")
if b==name or b==name1 or b==name2 or b==name3 or b==name4 or b==name5:
print("Слушаю повелитель")
speaker.Speak("слушаю повелитель")
command=(' '.join(input("Введите вашу команду:").split()))
else:
print("Меня зовут не " + (b))
speaker.Speak("Меня зовут не" +(b))
speaker.Speak("Назовите меня правильно")
b=input("Назовите меня правильно:")
if b==name or b==name1 or b==name2 or b==name3 or b==name4 or b==name5:
print("Слушаю повелитель")
speaker.Speak("Слушаю повелитель")
command=(' '.join(input("Введите вашу команду:").split()))
else:
print("Бан")
speaker.Speak("Бан")
raise SystemExit
pravda=True
while pravda:
napominanie3=1
napominanie2=1
napominanie1=1
randomhislo=random.randint(1,100000)
joke=random.randint(1,3)#переменная для показа шуток
coin=random.randint(1,3)#переменная для команды броска монеты
now=datetime.datetime.now()#команда для времини
f=int(random.uniform(1,10))
if joke==1 and (command=="Расскажи анекдот") or joke==1 and (command=="расскажи анекдот") or joke==1 and (command=="Пошути") or joke==1 and (command=="пошути"):
print("Идут значит 2 рэпера, один в кепке, другой тоже звизды получит")
speaker.Speak("Идут значит 2 рэпера, один в кепке, другой тоже звизды получит")
command=(' '.join(input("Введите вашу команду:").split()))
if joke==2 and (command=="Расскажи анекдот") or joke==2 and (command=="расскажи анекдот") or joke==2 and (command=="Пошути") or joke==2 and (command=="пошути"):
print("Сидят две блондинки за столиком в кафе. Одна говорит: — Какой-то странный сегодня кофе. — Дура, это же чай. Официант: — Девочки, не ссортесь! Может еще какао?")
speaker.Speak("Сидят две блондинки за столиком в кафе. Одна говорит: — Какой-то странный сегодня кофе. — Дура, это же чай. Официант: — Девочки, не ссортесь! Может еще какао?")
command=(' '.join(input("Введите вашу команду:").split()))
if joke==3 and (command=="Расскажи анекдот") or joke==3 and (command=="расскажи анекдот") or joke==3 and (command=="Пошути") or joke==3 and (command=="пошути"):
print("Я никогда не обижаюсь, я просто меняю мнение о человеке")
speaker.Speak("Я никогда не обижаюсь, я просто меняю мнение о человеке")
command=(' '.join(input("Введите вашу команду:").split()))
if coin==1 and (command=="Брось монету") or coin==1 and (command=="брось монету") or coin==1 and (command=="Брось монетку") or coin==1 and (command=="брось монетку"):
print("Орел")
speaker.Speak("Орёл")
command=(' '.join(input("Введите вашу команду:").split()))
if coin==2 and (command=="Брось монету") or coin==2 and (command=="брось монету") or coin==2 and (command=="Брось монетку") or coin==2 and (command=="брось монетку"):
print("Решка")
speaker.Speak("Решка")
command=(' '.join(input("Введите вашу команду:").split()))
if coin==3 and (command=="Брось монету") or coin==3 and (command=="брось монету") or coin==3 and (command=="Брось монетку") or coin==3 and (command=="брось монетку"):
print("Монетка упала ребром")
speaker.Speak("Монетка упала ребром")
command=(' '.join(input("Введите вашу команду:").split()))
if(command=="Погода") or (command=="погода") or (command=="Покажи погоду") or (command=="покажи погоду") or (command=="открой погоду"):
pravda=False
print("Открываю")
speaker.Speak("Открываю")
webbrowser.open('https://yandex.ru/pogoda/tomsk?utm_source=serp&utm_campai..', new=1)
pravda=True
command=(' '.join(input("Введите вашу команду:").split()))
if(command=="Вк") or (command=="вк") or (command=="Открой вк") or (command=="открой вк") or 'вк' in command:
pravda=False
print("Открываю")
speaker.Speak("Открываю")
webbrowser.open("https://vk.com/feed",new=1)
pravda=True
command=(' '.join(input("Введите вашу команду:").split()))
if(command=="Музыка") or (command=="музыка") or (command=="включи музыку") or (command=="Включи музыку"):
pravda=False
print("Включаю")
speaker.Speak("Включаю")
webbrowser.open("https://music.yandex.ru/home",new=1)
pravda=True
command=(' '.join(input("Введите вашу команду:").split()))
if(command=="Ютуб") or (command=="ютуб") or (command=="включи видео") or (command=="YouTube") or (command=="Youtube") or (command=="youtube") or (command=="Включи видео") or (command=="Открой ютуб") or (command=="открой ютуб"):
pravda=False
print("Открываю")
speaker.Speak("Открываю")
webbrowser.open("https://www.youtube.com",new=1)
pravda=True
command=(' '.join(input("Введите вашу команду:").split()))
Последнее редактирование: