Привет всем! Сегодня мы разберемся с вопросом, который звучит как: распознавание голоса с помощью 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.