@dysecode

Как реализовать Python-код, который будет распознавать речь, но будет реагировать только тогда, когда будет упомянуто определенное слово?

Как реализовать Python-код, который будет распознавать речь, но будет реагировать только тогда, когда будет упомянуто определенное слово в начале предложения?
Мой код, который принимает на запись голос, а потом выводит его в виде текста и озвучки.

import speech_recognition
from audioplayer import AudioPlayer
import gtts, os

sr = speech_recognition.Recognizer()
sr.pause_threshold = 0.5

while True:
with speech_recognition.Microphone() as mic:
sr.adjust_for_ambient_noise(source=mic, duration=0.5)
audio = sr.listen(source=mic)
query = sr.recognize_google(audio_data=audio, language="ru").lower()

t1 = gtts.gTTS(query, lang="ru")
t1.save("welcome.mp3")
print(query)
AudioPlayer("welcome.mp3").play(block=True)
os.remove("welcome.mp3")
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
Всё достаточно легко и просто. Для начала тебе необходимо создать переменную с своим ключевым словом, условно говоря :

keyword = "Проснись"

Поздравляю! Теперь тебе осталось лишь сделать проверку на это.

if target_word in query.split():
        tts = gtts.gTTS(query, lang="ru")
        tts.save("response.mp3")
        AudioPlayer("response.mp3").play(block=True)
        os.remove("response.mp3")


И вот уже основа для твоего 'Джарвиса' готова.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Проверяй, содержит ли/начинается ли распознанный текст на определённое слово.
Как - гуглится, это основы работы со строками в питоне. См. метод startswith() и оператор in. Заодно глянь методы перевода строки в другой регистр типа lower() - может помочь убрать чувствительность к регистру.
Для начала должно хватить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы