π€ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΏΠΈΡΠΎΠ½Π΅: ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ π
import speech_recognition as sr
import pyttsx3
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠ° ΠΈ ΡΠΈΠ½ΡΠ΅Π·Π° ΡΠ΅ΡΠΈ
recognizer = sr.Recognizer()
speaker = pyttsx3.init()
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠ°
def recognize_speech():
with sr.Microphone() as source:
print("Π‘ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language="ru-RU")
return text
except sr.UnknownValueError:
print("ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΡΠ΅ΡΡ.")
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠ½ΡΠ΅Π·Π° ΡΠ΅ΡΠΈ
def speak(text):
speaker.say(text)
speaker.runAndWait()
# ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
while True:
command = recognize_speech()
if "ΠΏΡΠΈΠ²Π΅Ρ" in command.lower():
speak("ΠΡΠΈΠ²Π΅Ρ, ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠΌΠΎΡΡ?")
elif "ΠΏΠΎΠΊΠ°" in command.lower():
speak("ΠΠΎ ΡΠ²ΠΈΠ΄Π°Π½ΠΈΡ!")
break
else:
speak("ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Π½Π΅ ΠΏΠΎΠ½ΡΠ» Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.")
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ΅ΡΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SpeechRecognition Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install SpeechRecognition
Π’Π°ΠΊΠΆΠ΅, Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π²ΡΠΊΠ°, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° pyttsx3. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install pyttsx3
Π¨Π°Π³ 2: ΠΠ°ΠΏΠΈΡΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π°ΡΠ΄ΠΈΠΎ Ρ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SpeechRecognition Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import speech_recognition as sr
def record_audio():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Π‘ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:")
audio = r.listen(source)
try:
command = r.recognize_google(audio, language="ru-RU")
print("ΠΡ ΡΠΊΠ°Π·Π°Π»ΠΈ: " + command)
except sr.UnknownValueError:
print("ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.")
return command
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π¨Π°Π³ 3: ΠΡΠ²Π΅Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ°
Π§ΡΠΎΠ±Ρ Π²Π°Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ ΠΌΠΎΠ³ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° pyttsx3 Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
import pyttsx3
def speak(text):
engine = pyttsx3.init()
engine.setProperty('rate', 150) # Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠΈ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΆΠ΅Π»Π°Π½ΠΈΡ
engine.say(text)
engine.runAndWait()
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ speak Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΠ·Π½Π΅ΡΡΠΈ.
Π¨Π°Π³ 4: ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ°:
command = record_audio() # ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if "ΠΏΡΠΈΠ²Π΅Ρ" in command:
speak("ΠΡΠΈΠ²Π΅Ρ! ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ?")
elif "ΠΏΠΎΠΊΠ°" in command:
speak("ΠΠΎ ΡΠ²ΠΈΠ΄Π°Π½ΠΈΡ!")
else:
speak("ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ "ΠΏΡΠΈΠ²Π΅Ρ" ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° "ΠΏΠΎΠΊΠ°", ΡΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠΈΠ·Π½Π΅ΡΠ΅Ρ ΠΏΡΠΎΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π°, ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΏΠΈΡΠΎΠ½Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΎΡΠ²Π΅ΡΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»ΠΎ, ΠΈ Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ°!