Я уже рассказывал об использовании pocketsphinx для распознавания речи в ROS. В этой статье я хочу рассказать об использовании gspeech для распознавания речи. gspeech — это пакет ROS, который использует Google Speech API: wiki.ros.org/gspeech.
Получение ключа Google API
Итак, начнем. Для начала вам потребуется ключ Google API. Для его получения вам, во-первых, нужно иметь учетную запись Google. Во-вторых, вам нужно подписаться на chromium-dev@chromium.org (подписаться нужно здесь).
Теперь вы можете получить свой Google API ключ. Для этого зайдите в Google developer console: cloud.google.com/console. Здесь вам нужно создать проект. После создания проекта нужно активировать Speech API в секции APIs под пунктом APIs & auth в левом меню. Будьте внимательны: этот пункт может отсутствовать в списке, как это случилось со мной. Если вы не видите Speech API, то проверьте, что вы подписались на chromium-dev и что вы сейчас авторизованы под той учетной записью Google, почтовый адрес которой вы указывали при подписке на chromium-dev.
Ключ Google API можно получить в разделе Credentials под тим же пунктом APIs & auth. Здесь нужно создать ключ нажатием на кнопку Create new Key в секции Public API access.
Установка gspeech
Теперь осталось дело за малым — установить пакет gspeech. Для этого клонируйте gspeech со страницы Github: github.com/kusha/gspeech. Для работы gspeech требует установки sox:
sudo apt-get install sox
Также вам необходимо вставить ваш ключ Google API в скрипт gspeech.py в строке:
api_key = "" # PASTE HERE YOUR GOOGLE API KEY
Запуск gspeech
Все готово и можно запустить узел ROS gspeech:
rosrun gspeech gspeech.py
Распознавание в gspeech
В процессе распознавания gspeech публикует распознанные фразы в тему /speech в формате String и степень “уверенности” распознавания в тему /confidence в формате Int8.
Процесс распознавания фразы может занять некоторое время, поскольку gspeech выполняет запросы к серверам Google. Тем не менее gspeech имеет довольно высокую точность распознавания, gspeech распознает фразы значительно лучше чем пакет pocketsphinx. При тестировании gspeech разпознавал фразы с «уверенностью» 70-80. В некоторых случаях распознает с «уверенностью» до 94.
Желаю вам удачи в распознавании речи с Google Speech API.
Автор: vovaekb90