Статья

Как реализовать голосовой пользовательский интерфейс на MCU с ограниченными ресурсами


Умные колонки и другие подключенные концентраторы составляют сердце "умного дома", позволяя пользователям управлять устройствами и выходить в Интернет. По мере распространения этих устройств становятся очевидными две тенденции: пользователи предпочитают голосовое управление нажатию кнопок или сложным системам меню, а постоянное подключение к облаку вызывает все больший дискомфорт из-за соображений конфиденциальности.


Однако для создания надежного и безопасного голосового пользовательского интерфейса (VUI) обычно требуется мощное оборудование и сложное программное обеспечение для распознавания голоса. Все, что меньше, скорее всего, приведет к низкой производительности и неудовлетворительному пользовательскому опыту. Кроме того, многие умные колонки и хабы работают от аккумуляторов, поэтому VUI должен быть реализован в рамках ограниченного бюджета на электроэнергию. Такой амбициозный проект может оказаться сложным для разработчика, не имеющего опыта работы с голосовыми интерфейсами.


В ответ на это производители чипов внедряют технику, основанную на фонемах, которая значительно снижает требования к обработке данных. Результатом стало высокоточное и эффективное программное обеспечение VUI, которое может работать на привычных 32-битных микроконтроллерах (MCU) и поддерживается простыми в использовании инструментами проектирования.


В этой статье описываются задачи и примеры использования VUI. Затем в ней представлено коммерческое, простое в использовании прикладное программное обеспечение для MCU и программное обеспечение VUI на базе локального телефона для приложений подключенного дома. В завершение статьи разработчикам рассказывается о том, как начать работу над проектами VUI с использованием MCU Renesas, программного обеспечения VUI и оценочных комплектов.


Трудности создания пользовательского интерфейса

 

VUI - это технология распознавания речи, позволяющая взаимодействовать с компьютером, смартфоном, системой домашней автоматизации или другим устройством с помощью голосовых команд. После первых технических проблем технология превратилась в надежный интерфейс управления и теперь широко используется в "умных" колонках и других устройствах "умного дома". Основное преимущество VUI - удобство: мгновенное управление из любой точки в радиусе действия голоса без необходимости использовать клавиатуру, мышь, кнопки, меню или другие интерфейсы для ввода команд (рис. 1).


Image of VUI technology has been widely adopted

 

Рисунок 1: Технология VUI получила широкое распространение в домах и интеллектуальных зданиях благодаря удобству и гибкости.


Недостатком VUI является его сложность. Традиционные технологии основаны на длительном обучении модели определенным словам или фразам. Однако обработка естественного языка не зависит от порядка слов, что требует значительных затрат на разработку и значительных вычислительных мощностей для работы в режиме реального времени. Это замедлило более широкое внедрение VUI.


Теперь новая технология упрощает программное обеспечение VUI до такой степени, что оно может работать на небольших и эффективных микроконтроллерах (MCU), таких как устройства Arm® Cortex®-M. Этот метод основан на том факте, что все слова в каждом разговорном языке состоят из лингвистических звуков, называемых фонемами. Фонем гораздо меньше, чем слов: в английском языке их 44, в итальянском - 32, а в традиционном гавайском языке - всего 14. Если в пользовательском интерфейсе используется набор английских команд из 200 слов, каждое слово можно разбить на соответствующие фонемы из набора 44.


В программном обеспечении VUI каждая фонема может быть идентифицирована цифровым кодом (или "токеном"), а различные токены образуют язык. Хранение слов в виде звуков требует больших вычислительных ресурсов и занимает гораздо больше места в памяти, чем фонем, хранящихся в виде лексем. Обработка токенов фонем (и, соответственно, командных слов) в ожидаемом порядке еще больше упрощает вычисления и позволяет запускать программное обеспечение VUI локально на скромном MCU (рис. 2).


Image of representing words using phonemes

 

Рисунок 2: Представление слов с помощью фонем требует меньших ресурсов микроконтроллера.


Это означает, что эффективность программного обеспечения, достигнутая благодаря использованию фонем, позволяет выполнять обработку локально. Устранение необходимости в облачной обработке означает отсутствие необходимости в постоянном подключении к Интернету, что создает проблемы с конфиденциальностью и безопасностью данных.


Компания Renesas продемонстрировала коммерческий программный пакет VUI, основанный на принципе фонемы, как часть своей экосистемы. Программное обеспечение под названием Cyberon DSpotter создает алгоритм VUI, достаточно оптимизированный для работы на микроконтроллерах Renesas серии RA, оснащенных ядрами Arm Cortex-M4 и M33.


Разработка с помощью Cyberon DSpotter


Cyberon DSpotter построен на основе библиотеки фонем и фонемных сочетаний. Это альтернативный подход к традиционному, требующему больших вычислительных затрат обучению алгоритмов распознавания конкретных слов. Чтобы разбить слова на фонемы и затем представить их в виде лексем, разработчик может использовать инструмент DSpotter Modeling Tool.


DSpotter - это встроенное (не облачное) программное обеспечение, которое работает как локальный голосовой триггер и решение для распознавания команд с надежным шумоподавлением. Оно потребляет минимум ресурсов и отличается высокой точностью. В зависимости от выбранного MCU может быть реализована безопасная передача данных.


DSpotter запрашивает каждое командное слово или фразу, которые инструмент разбивает на фонемы. Набор команд и вспомогательные данные для VUI затем собираются в двоичный файл, который разработчик включает в проект вместе с библиотекой Cyberon. Библиотека и двоичный файл используются вместе на MCU для поддержки распознавания нужных речевых команд.


Инструмент DSpotter создает "наборы команд", которые могут быть логически связаны в программе разработчика для создания пользовательского интерфейса с различными уровнями. Это позволяет создавать многоуровневые команды, такие как "Я бы хотел, чтобы лампочка была установлена на высокий уровень, пожалуйста": слова команды - "лампочка", затем "установить" и "высокий". Каждая команда в группе имеет свой индекс, как и каждая команда внутри уровня (рис. 3).


Image of DSpotter tool allows the creation of “CommandSets”

 


Рисунок 3. Инструмент DSpotter позволяет создавать "наборы команд", которые могут быть логически связаны в программе разработчика для создания пользовательского интерфейса с различными уровнями.


Библиотека DSpotter обрабатывает входящий звук и ищет фонемы, соответствующие командам в базе данных. Когда она находит совпадение, то возвращает индекс и номер группы. Такое расположение позволяет основному коду приложения создать иерархический оператор переключения для обработки слов/фраз команд по мере их поступления. Результирующая библиотека может быть достаточно маленькой, чтобы поместиться на MCU с 256 килобайтами флэш-памяти и 32 килобайтами SRAM. При наличии большего объема памяти набор команд может увеличиваться.


Разработчику важно понимать, что метод фонем для VUI имеет свои ограничения. Относительно ограниченные ресурсы MCUдиктуют, что Cyberon DSpotter - это скорее распознавание речи, чем распознавание голоса. Это означает, что программное обеспечение не может выполнять обработку естественного языка. Поэтому, если слова команды не следуют в логической последовательности (например, "high", "lightbulb", "set" вместо "lightbulb", "set", "high"), система не распознает команду и вернется на верхний уровень.


Одно из предложений по дизайну - добавить в пользовательский интерфейс визуальный индикатор (например, светодиод), который будет показывать, когда процессор считает, что он находится на верхнем уровне набора команд, побуждая пользователя повторно подать команду в логической последовательности (рис. 4).


Image of streamlined nature of Cyberon DSpotter

 

Рисунок 4. Упорядоченный характер Cyberon DSpotterтребует, чтобы команды следовали логической последовательности, иначе они не будут распознаны.


Запуск необлачного пользовательского интерфейса с ограниченными ресурсами

 

Эффективность Cyberon DSpotter позволяет использовать его в MCU Arm Cortex-M семейств RA2, RA4 и RA6 компании Renesas. Они популярны в широком спектре потребительских, промышленных и IoT-приложений. Они поддерживаются простыми в использовании инструментами проектирования, что позволяет создать простой пользовательский интерфейс, не имея большого опыта кодирования или собственных знаний.


Выбор конкретного MCU семейства RA в первую очередь зависит от сложности команд и размера библиотеки Cyberon. Умный выключатель света, для эффективной работы которого требуется скромный набор команд и ограниченная вычислительная мощность, может быть основан на R7FA4W1AD2CNG из семейства RA4. Этот MCU оснащен батарейным 48-мегагерцовым (МГц) ядром Arm Cortex-M4, поддерживаемым 512 Кбайт флэш-памяти и 96 Кбайт SRAM. Он оснащен сегментным ЖК-контроллером, емкостным сенсорным датчиком, беспроводной связью Bluetooth Low Energy (Bluetooth LE), USB 2.0 Full-Speed, 14-битным аналого-цифровым преобразователем (АЦП), 12-битным цифро-аналоговым преобразователем (ЦАП), а также функциями защиты и безопасности (рис. 5).


Diagram of Renesas R7FA4W1AD2CNG MCU

 

Рисунок 5: MCU R7FA4W1AD2CNG предоставляет достаточно ресурсов для создания не облачного пользовательского интерфейса для таких приложений, как умный выключатель света.


Для такого приложения, как умная колонка, требуется более обширная библиотека Cyberon DSpotter и более мощное ядро. Подходящим кандидатом является R7FA6M4AF3CFM. Этот MCU из семейства RA6 оснащен более мощным ядром Arm Cortex-M33 с частотой 200 МГц, поддерживаемым 1 мегабайтом (Мбайт) флэш-памяти и 256 Кбайт SRAM. Он оснащен шиной CAN,Ethernet, I²C, LIN, емкостным сенсорным датчиком и многими другими интерфейсами и периферийными устройствами.


Семейства RA4 и RA6 поддерживаются оценочными платами, RTK7EKA4W1S00000BJ и RTK7EKA6M4S00001BE, соответственно, чтобы разработчик мог проверить возможности MCU. Каждая оценочная плата оснащена целевым MCU и встроенным отладчиком.


Для ускорения разработки компания Renesas также предлагает комплект решений VUI. Этот набор аналогичен оценочным платам, поскольку включает в себя целевое устройство и отладчики. Плата также оснащена несколькими интерфейсами ввода-вывода и имеет четыре микрофона: два аналоговых и два цифровых.


Доступ к программному обеспечению, необходимому для разработки с использованием набора решений VUI, можно получить на сайте Cyberon. В комплект входит бесплатный доступ к Cyberon DSpotter Modeling Tool и проект e2 studio с рабочим голосовым набором команд (e2 studio - это интегрированная среда разработки (IDE) на базе Eclipse для MCU Renesas). Пример набора команд можно использовать в качестве шаблона для разработки собственных последовательностей голосовых команд. Реакцию системы можно отслеживать с помощью окна терминала. Создание структуры пользовательского интерфейса, показанной на рисунке 4, обычно занимает около 15 минут.


Более сложная разработка прикладного программного обеспечения для пакета Cyberon поддерживается разработанным компанией Renesas пакетом гибкого программного обеспечения (FSP) для встраиваемых систем, использующих семейства RA. FSP основан на открытой программной экосистеме и включает в себя Azure RTOS или FreeRTOS, унаследованный код и экосистемы сторонних разработчиков. Он может работать в нескольких IDE, включая e2 studio.


Насколько хорошо работает пользовательский интерфейс?


Одно дело, когда пользовательский интерфейс хорошо работает в тихой лаборатории, и совсем другое - когда он точно работает в условиях сильного фонового шума. Типичная рабочая среда для умной колонки может включать телевизор или радио, разговоры, другие источники музыки и общий шум в доме или на вечеринке. Кроме того, пользовательскому интерфейсу придется бороться с диалектами и не самой лучшей дикцией. Несмотря на эти трудности, пользователи ожидают практически безупречной работы.


Для повышения производительности в сложных условиях прослушивания программное обеспечение Cyberon DSpotter, работающее на семействе микроконтроллеров Renesas RA, включает функции защиты от помех, требующие минимальных ресурсов процессора. Для демонстрации ее эффективности были проведены испытания с использованием виртуального пользовательского интерфейса Cyberon DSpotter, который прослушивал команды в условиях различных источников фонового шума на расстояниях 1,5 и 3 м, при соотношении сигнал/шум (SNR) 0, 5 и 10 децибел (дБ). Во всех случаях VUI превзошел эталонный образец AmazonAlexa (табл. 1).




Таблица 1: Результаты теста на успешное выполнение команд для виртуального пользовательского интерфейса на базе Cyberon с различными источниками фонового шума. Во всех случаях пользовательский интерфейс превзошел эталонный Amazon Alexa

Заключение

 

Виртуальные пользовательские интерфейсы быстро становятся предпочтительным интерфейсом управления для интеллектуальных продуктов. Речевой подход к управлению, использующий фонемы в качестве основы команд и строгую структуру команд, позволяет значительно снизить требования к памяти и вычислительным ресурсам, что позволяет использовать эту технологию локально на небольших MCU с ограниченными ресурсами.

Контакты
с 8:00 до 22:00
без выходных
8 (812) 920-85-20
многоканальный
info@bastionit.ru Заказать звонок

Заказ в один клик

Заполните форму и мы перезвоним вам в течение 10 минут

Заказать звонок

Заполните форму и мы перезвоним вам в течение 10 минут

Оставить отзыв о товаре