Простая программа на Python, распознающая голосовые команды и выполняющая соответствующие действия.
Необходимые инструменты
Для работы потребуется:
- Текстовый редактор (рекомендуется PyCharm Community).
- Установленная среда Python и пакетный менеджер pip. (На macOS Python часто устанавливается по умолчанию; на других операционных системах его необходимо установить вручную с официального сайта Python. Инструкции по установке pip доступны на ссылка на сайт pip).
Установка пакетов
Установите пакеты speech_recognition, pyaudio и playsound через pip:
- pip install SpeechRecognition
- pip install pyaudio
- pip install playsound
Установка pyaudio на macOS:
На macOS для установки pyaudio может потребоваться Homebrew (ссылка на сайт Homebrew). Выполните команды:
- brew uninstall portaudio
- brew install portaudio
- pip3 install —upgrade pyaudio
Также потребуется установить Xcode из App Store.
Установка pyaudio на Windows:
При проблемах с установкой pyaudio на Windows, попробуйте установить дополнительно pip install pywin32 и pip install pyaudio-x64 (или pyaudio-win32, в зависимости от разрядности системы).
Код программы
import speech_recognition as sr
import os
import webbrowser
import playsound
def talk(words):
print(words)
playsound.playsound('path/to/your/audio.mp3') # Замените 'path/to/your/audio.mp3' на путь к аудиофайлу
def command():
r = sr.Recognizer()
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source)
print("Говорите")
audio = r.listen(source)
try:
command = r.recognize_google(audio, language="ru-RU").lower()
print(f"Вы сказали: {command}")
return command
except sr.UnknownValueError:
talk("Я вас не понял")
return command()
except sr.RequestError as e:
print(f"Ошибка сервиса распознавания: {e}")
return ""
def make_something(command):
if "открыть сайт" in command:
talk("Уже открываю")
webbrowser.open("ваш_сайт.com") # Замените 'ваш_сайт.com' на нужный URL
elif "стоп" in command:
talk("Да, конечно, без проблем")
exit()
elif "имя" in command:
talk("Меня зовут Терри")
else:
talk("Я вас не понял")
while True:
make_something(command())
Программа распознаёт голосовые команды на русском языке, выполняет заданные действия и общается с пользователем. Поддерживаемые команды можно расширить, добавив условия в функцию make_something. Для повышения устойчивости к шуму используйте adjust_for_ambient_noise. Убедитесь в корректности путей к файлам и URL-адресов.