Распознавание голоса с помощью Python

Распознавание голоса с помощью Python

Привет всем! Сегодня мы разберемся с вопросом, который звучит как: распознавание голоса с помощью Python. Так ли сложна эта задача, как звучит? На самом деле — все достаточно просто, ведь у нас есть связка из Python и библиотеки Speech_recognition, полная документация по которой доступна по ссылке. Поехали!

import speech_recognition as sr #Подключили библиотеку
def command(): #Создаем функцию, которая будет отвечать за распознавание голоса
r = sr.Recognizer() #Обозначили библиотеку как символ (меньше писанины)
with sr.Microphone() as sourse: #Пока микрофон работает
print('Говорите: ') #выводим сообщение, что бы пользователь понимал что делать
r.pause_threshold = 1 #Даем ему время на подумать
r.adjust_for_ambient_noise(sourse, duration=1) #очищаем полученный звук
audio = r.listen(sourse) #создаем переменную с итоговым звуком
try:
task = r.recognize_google(audio, language='ru-RU').lower() #подсказываем, какой язык нужно распознавать, и распознаем
print('Вы сказали: \n' + task) #выводим на экран то, что распознали
except:
task = command()
return task
def makeSomething(task): #Создаем функцию, которая будет завершать программу по ключевому слову
if 'выход' in task: #Если у нас имеется слово "выход"
print('Exit') #выводим к консоль "Exit"
quit() #Завершаем работу программы
while True:
makeSomething(command()) #Создаем бесконечный цикл, который будет слушать микрофон

Как применять данную технологию? Решать вам, и только вам — я вот, например, загорелся идеей запилить голосового бота, который будет вычленять ключевые слова и делать то, что нужно. Ну, например:
1. По таймеру включается приложение, активирующее голосового бота
2. Даешь ему приказ: «Погода», например, или «Новости» — и он голосом (вопрос, касающийся получения аудиопотока из текста я рассматривал тут) выдает тебе всю нужную информацию.
Но это, понятно, самое простое применение, да и сама реализация достаточно тривиальна 🙂

Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut