Распознавание речи это преобразование речи в текст. Системы распознания речи, позволяют обрабатывать человеческую речь, аудио видео файлы и преобразовывают ее в текстовый формат.
Наиболее эффективные алгоритмы, используют при распознавании речи, методы и технологии из областей искусственного интеллекта и машинного обучения. Большинство этих алгоритмов самообучаемы и со временем совершенствуются. Программы использующие распознавания речи нашли широкое применение во многих сферах деятельности, например, голосовые помощники (ассистенты), голосовой ввод сообщений, управление голосом.
Для распознавания речи в Python существуют следующие библиотеки:
- Assembly;
- Apia;
- SpeechRecognition;
- Wit;
- Watson-developer-cloud;
Такие библиотеки, как apiai и wit, предлагают функции обработки естественного языка. Эти встроенные функция позволяют выявлять намерения говорящего и выходит за рамки обычного распознавания речи. Остальные модуль специализированы на преобразовании речи в текст.
В данной статье, мы рассмотрим процесс создания простого приложения для распознавания речи, которое позволяет распознавать речь, как с аудио файла, так и с микрофона в режиме реального времени.
Для обработки ввода с микрофона существует несколько различных библиотек. Одной из таких библиотек является PyAudio.
Для распознавания речи мы будем использовать библиотеку SpeechRecognition. Библиотека SpeechRecognition ведет себя как обложка или оболочка для различных API, созданных исключительно для речи.
Устанавливаем необходимые библиотеки через командную строку:
pip install SpeechRecognition
pip install PyAudio
Для распознавания аудио файла импортируем модуль speech_recognition. В переменную path_audio_file считываем путь к аудио файлу. Следующим шагом создаем экземпляр класса для распознания аудио файла. Методом AudioFile() открываем аудио файл. Применяем методом record() для захвата данных из файла. Методом recognize_google() распознаем речь с помощью google требуется подключение к интернету. Этот код будет транскрибировать все данные, присутствующие в аудио файле, и записывать распознанный звук в текстовом формате.
Захват длительности и смещения сегмента.
Если вы хотите записать в файл только определенный фрагмент речи, метод record() может сделать это, распознав ключевое слово duration, за которым следует аргумент, который останавливает речь через несколько секунд. Например, вам может потребоваться захватить 30 секунд речи из аудио файла. Кроме того, при указании метода record() вы даже можете установить конкретную начальную точку, используя аргумент через ключевое слово offset. Начальная точка представляет собой количество секунд от файла до начала записи.
Код выше, осуществит захват записи с аудио файла с 19 секунды, продолжительностью 30 секунд.
Теперь вместо того, чтобы указать вход из файла, воспользуемся микрофоном системы по умолчанию. Получите доступ к микрофону, создав экземпляр Microphone().
Подобно методу record(), вы можете использовать метод listen() Recognizerclass для захвата ввода с вашего микрофона. Первый аргумент в listen() методе является источником звука. Программа начнет перевод, как только вы перестанете говорить.
В этой статье мы рассмотрели распознавание речи с помощью библиотеки Python SpeechRecognition.
С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am