Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Распознавание речи
Распознавание речи - это часть обработки естественного языка, которая является подполе искусственного интеллекта. Проще говоря, распознавание речи - это способность компьютерного программного обеспечения идентифицировать слова и фразы на разговорном языке и преобразовывать их в читаемый человеком текст. Он используется в нескольких приложениях, таких как системы голосового помощника, домашняя автоматизация, голосовые чат-боты, робот с голосовым взаимодействием, искусственный интеллект и т. Д.
Существуют разные API (интерфейс прикладного программирования) для распознавания речи. Они предлагают услуги либо бесплатные, либо платные. Эти:
- КМУ Сфинкс
- Распознавание речи Google
- Google Cloud Speech API
- Wit.ai
- Распознавание голоса Microsoft Bing
- Houndify API
- Речь в текст IBM
- Обнаружение горячих слов Snowboy
Здесь мы будем использовать распознавание речи Google, поскольку для этого не требуется ключ API. Цель этого руководства - дать представление о том, как использовать библиотеку распознавания речи Google на Python с помощью внешнего микрофона, такого как ReSpeaker USB 4-Mic Array от Seeed Studio. Хотя использование внешнего микрофона не является обязательным, можно использовать даже встроенный микрофон ноутбука.
Шаг 1: ReSpeaker USB 4-микрофонный массив
USB-микрофон ReSpeaker - это устройство с четырьмя микрофонами, предназначенное для приложений искусственного интеллекта и голоса, которое было разработано Seeed Studio. Он имеет 4 высокопроизводительных встроенных всенаправленных микрофона, предназначенных для улавливания вашего голоса из любой точки комнаты, и 12 программируемых светодиодных индикаторов RGB. USB-микрофон ReSpeaker поддерживает операционные системы Linux, macOS и Windows. Подробности можно найти здесь.
USB-микрофон ReSpeaker поставляется в красивой упаковке, содержащей следующие элементы:
- Руководство пользователя
- USB-микрофонный массив ReSpeaker
- Кабель Micro USB - USB
Итак, мы готовы приступить к работе.
Шаг 2. Установите необходимые библиотеки
В этом руководстве я предполагаю, что вы используете Python 3.x.
Установим библиотеки:
pip3 установить SpeechRecognition
Для macOS сначала необходимо установить PortAudio с Homebrew, а затем установить PyAudio с помощью pip3:
варить установить portaudio
Мы запускаем команду ниже, чтобы установить pyaudio
pip3 установить pyaudio
Для Linux вы можете установить PyAudio с помощью apt:
sudo apt-get install python-pyaudio python3-pyaudio
Для Windows вы можете установить PyAudio с помощью pip:
pip install pyaudio
Создайте новый файл Python
нано get_index.py
Вставьте get_index.py под фрагментом кода:
импорт pyaudio
p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') для i в диапазоне (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).get (' '))> 0: print ("Идентификатор устройства ввода", i, "-", p.get_device_info_by_host_api_device_index (0, i).get (' name '))
Выполните следующую команду:
python3 get_index.py
В моем случае команда выводит на экран следующий вывод:
Устройство ввода с идентификатором 1 - микрофонный массив ReSpeaker 4 (UAC1.0)
Идентификатор устройства ввода 2 - микрофон MacBook Air
Измените device_index на номер индекса в соответствии с вашим выбором во фрагменте кода ниже.
импортировать распознавание речи как SR
r = sr. Recognizer () speech = sr. Microphone (device_index = 1) с речью в качестве источника: print («скажи что-нибудь!…») audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: recog = r.recognize_google (audio, language = 'en-US') print ("Вы сказали:" + recog) except sr. UnknownValueError: print ("Программа распознавания речи Google не может понять звук") кроме sr. RequestError как e: print («Не удалось запросить результаты из службы распознавания речи Google; {0}». Формат (e))
Индекс устройства был выбран 1 из-за того, что ReSpeaker 4 Mic Array будет основным источником.
Шаг 3. Преобразование текста в речь в Python с библиотекой Pyttsx3
Для преобразования текста в речь в Python доступно несколько API. Одним из таких API является pyttsx3, который, на мой взгляд, является лучшим доступным пакетом преобразования текста в речь. Этот пакет работает в Windows, Mac и Linux. Посмотрите официальную документацию, чтобы узнать, как это делается.
Установите пакет Используйте pip для установки пакета.
pip install pyttsx3
Если вы работаете в Windows, вам понадобится дополнительный пакет pypiwin32, который потребуется для доступа к собственному API речи Windows.
pip установить pypiwin32
Сценарий Python для преобразования текста в речь Ниже приведен фрагмент кода для преобразования текста в речь с использованием pyttsx3:
импорт pyttsx3
двигатель = pyttsx3.init ()
engine.setProperty ('rate', 150) # Скорость в процентах
engine.setProperty ('volume', 0.9) # Объем 0-1
engine.say ("Привет, мир!")
engine.runAndWait ()
Шаг 4. Собираем все вместе: построение распознавания речи с помощью Python с использованием API распознавания речи Google и библиотеки Pyttsx3
Приведенный ниже код отвечает за распознавание человеческой речи с помощью распознавания речи Google и преобразование текста в речь с помощью библиотеки pyttsx3.
импортировать распознавание речи как SR
import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) с речью в качестве источника: audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: recog = r.recognize_google (audio, language = 'en-US') print ("Вы сказали:" + recog) engine.say (" Вы сказали: "+ recog) engine.runAndWait () except sr. UnknownValueError: engine.say (" Программа распознавания речи Google не может понять звук ") engine.runAndWait () за исключением sr. RequestError как e: engine.say (" Не удалось запросить результаты из службы распознавания речи Google; {0} ". format (e)) engine.runAndWait ()
Он печатает вывод на терминал. Кроме того, он также будет преобразован в речь.
Вы сказали: Лондон - столица Великобритании
Я надеюсь, что теперь вы лучше понимаете, как работает распознавание речи в целом, и, что наиболее важно, как реализовать это с помощью Google Speech Recognition API с Python.
Если у вас есть вопросы или отзывы? Оставьте комментарий ниже. Будьте на связи!