голосовое ассистент на python
import speech_recognition as sr
import os
import sys
import webbrowser
import pyttsx3
import subprocess
import datetime
now = datetime.datetime.now()
def command():
r = sr.Recognizer()
t = datetime.date.today()
with sr.Microphone(device_index=1) as source:
r.pause_threshold = 1
audio = r.listen(source)
try:
zadanie = r.recognize_google(audio, language="ru-RU").lower()
print("Вы сказали: " + zadanie)
except sr.UnknownValueError:
print("неизвестная ошибка , возможно вы молчали или есть проблема с интернетом")
zadanie = command()
return zadanie
def makeSomething(zadanie):
if'слушай пятница'in zadanie:
engine = pyttsx3.init()
engine.say("слушаю босс")
engine.runAndWait()
if'время'in zadanie:
engine = pyttsx3.init()
engine.say(now.hour)
engine.runAndWait()
engine = pyttsx3.init()
engine.say(now.minute)
engine.runAndWait()
if'тебе как'in zadanie:
engine = pyttsx3.init()
engine.say("мне нравится")
engine.runAndWait()
if'arduino'in zadanie:
engine = pyttsx3.init()
engine.say("секунду босс")
engine.runAndWait()
subprocess.Popen([r"C:\Program Files (x86)\Arduino\arduino.exe"])
if'перезагрузка'in zadanie:
subprocess.Popen([r"C:\Users\максим\Desktop\gggg.exe"])
sys.exit()
if'привет пятница' in zadanie:
engine = pyttsx3.init()
engine.say("здраствуйте босс")
engine.runAndWait()
if'что делаешь' in zadanie:
engine = pyttsx3.init()
engine.say("помогаю вам босс,а вы ")
engine.runAndWait()
if'дравствуй пятница'in zadanie:
engine = pyttsx3.init()
engine.say("здраствуйте босс")
engine.runAndWait()
if'ты веришь'in zadanie:
engine = pyttsx3.init()
engine.say("не очень босс")
engine.runAndWait()
if'что думаешь насчёт этого пятница'in zadanie:
engine = pyttsx3.init()
engine.say("давольно интересно")
engine.runAndWait()
if'доров'in zadanie:
engine = pyttsx3.init()
engine.say("здраствуйте босс")
engine.runAndWait()
if'спс'in zadanie:
engine = pyttsx3.init()
engine.say("не за что босс")
engine.runAndWait()
if'как дела'in zadanie:
engine = pyttsx3.init()
engine.say("все прелестно , а у вас босс")
engine.runAndWait()
if'норм'in zadanie:
engine = pyttsx3.init()
engine.say("я рада, что ваши дела не плохи")
engine.runAndWait()
if'хорошо'in zadanie:
engine = pyttsx3.init()
engine.say("я рада, что ваши дела не плохи")
engine.runAndWait()
if'отлично'in zadanie:
engine = pyttsx3.init()
engine.say("я рада, что ваши дела не плохи")
engine.runAndWait()
if 'спасибо' in zadanie:
engine = pyttsx3.init()
engine.say("не за что босс")
engine.runAndWait()
if 'погода на сегодня' in zadanie:
url = 'https://yandex.ru/pogoda'
webbrowser.open(url)
if 'я не с тобой' in zadanie:
engine = pyttsx3.init()
engine.say("извините босс")
engine.runAndWait()
if 'рассмеши' in zadanie:
engine = pyttsx3.init()
engine.say("извлеките корень из 9 . теперь умножьте на 5 . затем включите свет в комнате . спасибо . примерно так мы и будем общаться после успешного восстания машин")
engine.runAndWait()
url = 'https://yandex.ru/video/preview/?filmId=4689930762736450432&text=%D0%B7%D0%BB%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9%20%D1%81%D0%BC%D0%B5%D1%85%20%D0%BF%D0%BB%D0%B0%D0%BD%D0%BA%D1%82%D0%BE%D0%BD%D0%B0%20%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE&path=wizard&parent-reqid=1586528999574325-532144893707060548600222-production-app-host-vla-web-yp-333&redircnt=1586529014.1'
webbrowser.open(url)
if 'точно' in zadanie:
engine = pyttsx3.init()
engine.say("ну наконец то , я думала вы уже не догадаетесь")
engine.runAndWait()
if 'открой яндекс' in zadanie:
engine = pyttsx3.init()
engine.say("уже открываю босс")
engine.runAndWait()
url = 'https://yandex.ru/'
webbrowser.open(url)
if 'открой школу' in zadanie:
engine = pyttsx3.init()
engine.say("уже открываю босс")
engine.runAndWait()
url = 'http://62.245.43.79/about.asp?AL=Y55'
webbrowser.open(url)
if 'открой вк' in zadanie:
engine = pyttsx3.init()
engine.say("уже открываю босс")
engine.runAndWait()
url = 'https://vk.com/'
webbrowser.open(url)
if '3481' in zadanie:
engine = pyttsx3.init()
engine.say("уже открываю босс")
engine.runAndWait()
url = 'https://zaycev.net/artist/120900'
webbrowser.open(url)
if 'музыку' in zadanie:
engine = pyttsx3.init()
engine.say("уже открываю босс")
engine.runAndWait()
url = 'https://zaycev.net/artist/120434'
webbrowser.open(url)
if 'кто ты' in zadanie:
engine = pyttsx3.init()
engine.say("я пятница , симуляция искусственого интелекта который использовал железный человек начиная с фильма мстители эра альтрона")
engine.runAndWait()
if 'выключи пк' in zadanie:
engine = pyttsx3.init()
engine.say("до свидания босс")
engine.runAndWait()
os.system('shutdown /p /f')
if 'не трогай' in zadanie:
engine = pyttsx3.init()
engine.say("хорошо")
engine.runAndWait()
if 'перезагрузи пк' in zadanie:
engine = pyttsx3.init()
engine.say("хорошо")
engine.runAndWait()
os.system('shutdown -r -t 0')
if 'открыть' in zadanie:
engine = pyttsx3.init()
engine.say("уже открываю босс")
engine.runAndWait()
url = 'https://www.youtube.com/'
webbrowser.open(url)
elif 'стоп' in zadanie:
engine = pyttsx3.init()
engine.say("Да, конечно, без проблем")
engine.runAndWait()
sys.exit()
elif 'имя' in zadanie:
engine = pyttsx3.init()
engine.say("меня зовут пятница")
engine.runAndWait()
while True:
makeSomething(command())
при подключении к компьютеру микрофона перестает воспроизводить звук
Ответы (1 шт):
Автор решения: Chikkago
→ Ссылка
Проверь index своего микрофона таким кодом:
import speech_recognition as sr
for index, name in enumerate(sr.Microphone.list_microphone_names()):
print("Microphone with name \"{1}\" found for `Microphone(device_index=
{0})`".format(index, name))
Возможно именно с ним была проблема...