Робо-голова
  • Общая информация
  • Технические характеристики
  • Комплект поставки
  • Полезные ссылки
  • Быстрый старт
  • Настройка и обслуживание
    • Подключение к Робоголове по сети
      • Настройка подключения к Сети
      • Подключение по SSH к Робоголове
      • Подключение по SFTP
      • Подключение через VSCode
    • Смена данных устройства
    • Выключение головы
    • Возврат к заводским настройкам
    • Ubuntu-сервис
    • Подключение аккумулятора
    • Зарядка батареи
    • Подключение сервоприводов к плате расширения
  • Интеграция с роботом TurtleBro
  • Устройство головы
    • Аппаратная конфигурация
    • Программное обеспечение
    • ROS-пакеты
      • robohead_controller
      • display_driver
      • neck_driver
      • ears_driver
      • speakers_driver
      • respeaker_driver
      • voice_recognizer_pocketsphinx
        • ROS-нода ~kws_recognizer
        • ROS-нода ~cmds_recognizer
        • Настройка собственных команд и ключевых слов для распознавания
      • sensor_driver
      • usb_cam
  • Кейсы взаимодействия
    • 1. Смена ресурс-пака стандартных действий
    • 2. Внесение изменений в стандартные действия
    • 3. Написание своего действия для robohead_controller
    • 4. Создание своих сценариев взаимодействия без использования robohead_controller
    • 5. Создание ROS-пакета со своим сценарием взаимодействия и его автозагрузка
Powered by GitBook
On this page
  1. Устройство головы
  2. ROS-пакеты
  3. voice_recognizer_pocketsphinx

ROS-нода ~kws_recognizer

Previousvoice_recognizer_pocketsphinxNextROS-нода ~cmds_recognizer

Last updated 1 month ago

Получает весь входной поток аудио-сигнала и ищет в нём ключевые слова - key words.

Ключевое слово по умолчанию "Слушай, Робот!"

Распознавание идет пока включен режим распознавания. Режим распознавания управляется сервисом voice_recognizer_pocketsphinx/kws_recognizer/IsWork:

rosservice call /voice_recognizer_pocketsphinx/kws_recognizer/IsWork "SetStatus: 0" 
  • SetStatus - режим распознавания: 0 - остановить распознавание, 1 - возобновить распознавание. При передаче любого отличного от 0 и 1 значения вызов просто игнорируется

  • Возвращаемое значение: предыдущий статус распознавания (для получения текущего статуса распознавания без его изменения просто вызовите сервис с любым отличным от 0 и 1 значением)


Для просмотра вывода пакета подпишитесь на соотвествующий топик:

rostopic echo /voice_recognizer_pocketsphinx/kws_recognizer/keywords

Символы кириллицы обычно приходят в формате unicode escape sequence. Для отладки и прочтения используйте любой онлайн-конвертер:


Конфигурационный файл voice_recognizer_pocketsphinx/config/voice_recognizer_pocketsphinx_kws.yaml:

  • topic_audio_name - название топика, аудио-поток из которого распознаётся

  • topic_kws_name - название топика, куда публикуются распознанные ключевые слова

  • srv_IsWork_name - название сервиса, который устанавливает статус распознавания

  • default_IsWork - статус распознавания по умолчанию

  • buffer_size - количество аудио-фреймов, которые склеиваются в единый массив и подаются на вход модели распознавания

  • logs_output - путь до файла, куда выводится логирование движка pocketspinx

  • hmm - путь до акустической модели

  • dict - путь до словаря с прозиношением распознаваемых слов

  • kws - путь до файла со списком ключевых слов

https://r12a.github.io/app-conversion/
https://dencode.com/ru/string/unicode-escape
Пример перевода unicode escape-последовательностей в читаемый формат