ROS-нода ~cmds_recognizer
Last updated
Last updated
Получает весь входной поток аудио-сигнала и ищет в нём команды, заданные файлом грамматик.
Распознавание идет пока включен режим распознавания. Режим распознавания управляется сервисом voice_recognizer_pocketsphinx/cmds_recognizer/IsWork:
SetStatus - режим распознавания: 0 - остановить распознавание, 1 - возобновить распознавание. При передаче любого отличного от 0 и 1 значения вызов просто игнорируется
Возвращаемое значение: предыдущий статус распознавания (для получения текущего статуса распознавания без его изменения просто вызовите сервис с любым отличным от 0 и 1 значением)
Для просмотра вывода пакета подпишитесь на соотвествующий топик:
Конфигурационный файл voice_recognizer_pocketsphinx/config/voice_recognizer_pocketsphinx_cmds.yaml:
topic_audio_name - название топика, аудио-поток из которого распознаётся
topic_cmds_name - название топика, куда публикуются распознанные команды
srv_IsWork_name - название сервиса, который управляет устанавливает статус распознавания
default_IsWork - статус распознавания по умолчанию
buffer_size - количество аудио-фреймов, которые склеиваются в единый массив и подаются на вход модели распознавания
logs_output - путь до файла, куда выводится логирование движка pocketspinx
hmm - путь до акустической модели
dict - путь до словаря с прозиношением распознаваемых слов
gram_file - путь до файла с грамматикой (где описаны необходимые команды)
grammar_name - название грамматики в файле грамматик
rule_name - название правила в грамматике grammar_name
timeout - таймаут, по истечении которого распознавание команды прекращается принудительно
lw: - параметр функции конвертации грамматики jsgf.build_fsg()