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