Как стать автором
Обновить

Распознавание речи в ROS при помощи Pocketsphinx и Kinect

Время на прочтение2 мин
Количество просмотров5.8K
Распознавание речи является одной из самых важных способностей для робота поскольку позволяет управлять роботом посредством голоса. Можно дать роботу простую команду “Принеси пиво из холодильника” и при достаточных навыках робот может выполнить все необходимые операции, связанные с извлечением пива из холодильника и доставки его в нужное место.

В этой статье я хочу рассказать об установке и настройке всех необходимых драйверов и библиотек для распознавания голоса с использованием Pocketsphinx и сенсора Kinect Xbox 360 в качестве микрофона. Я выбрал пакет Pocketsphinx поскольку он является одним из самых популярных, имеет официальный пакет для ROS и имеет хорошие рекомендации.

Все описанные шаги я выполнял на системе Ubuntu 12.04.

Установка OpenKinect


Во-первых, для использования сенсора Kinect в качестве микрофона необходимо установить библиотеку OpenKinect (Libfreenect): http://openkinect.org/wiki/Main_Page. К счастью он доступен в виде бинарных пакетов в Ubuntu, поэтому здесь проблем никаких не должно возникнуть:

sudo apt-get install freenect

Вместе с драйвером будут установлены и демо приложения.

При установке libfreenect в Ubuntu 12.04 также советуют удалить модули gspca, поскольку они не позволяют libfreenect работать в режиме пользователя (user-mode). Последуем рекомендации:

$ sudo modprobe -r gspca_kinect 
$ sudo modprobe -r gspca_main

Для проверки работоспособности драйвера можно запустить демо командой:

freenect-glview

Появится изображение с камеры и карта глубины.

Проверка подключения Kinect


Во-вторых, для корректной работы Kinect в качестве приемника звука сенсор Kinect должен быть подключен к компьютеру через USB только версии 2.0 или 1.0, через USB 3.0 работать не будет. Проверить, что аудио устройство Kinect доступно, можно командой:

cat /proc/asound/cards

Вы должны увидеть подобный вывод команды:

0 [AudioPCI ]: ENS1371 - Ensoniq AudioPCI
Ensoniq AudioPCI ENS1371 at 0x2080, irq 16
1 [Audio ]: USB-Audio - Kinect USB Audio
Microsoft Kinect USB Audio at usb-0000:02:03.0-1, high speed
…

Если вы не увидели запись об устройстве Kinect, то возможно Kinect подключен через порт USB 3.0. Также проверьте, что микрофон Kinect доступен как входное аудио устройство в настройках звука Ubuntu.

Теперь Kinect готов к работе и можно приступить к настройке Pocketsphinx.

Установка Pocketsphinx


Установка Pocketsphinx очень проста. Нужно установить пакет для ROS:

sudo apt-get install ros-"groovy или hydro"-pocketsphinx

Для пользователей других систем (не Ubuntu) установка будет такой:

git clone https://github.com/mikeferguson/pocketsphinx
sudo apt-get install gstreamer0.10-pocketsphinx

Существует несколько мануалов по использованию этой библиотеки. Их можно найти здесь и здесь. Я попробовал первый. Руководства очень простые и с ними у вас никаких сложностей не возникнет.

Желаю удачи в распознавании речи с помощью Pocketsphinx!
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 1: ↑1 и ↓0+1
Комментарии6

Публикации