Самый удобный способ управления — голосовой. Но программное распознавание голоса — очень сложная задача, непосильная ни для Arduino, ни для его хозяина. Однако есть EasyVR — готовое решение для распознавания голосовых команд и тонового набора.
EasyVR позволяет записать команды на микрофон, а потом определить, команду с каким номером вы произносите. Получив номер команды, микроконтроллер может выполнить какое-нибудь полезное действие: выключить свет в комнате, открыть дверь или подать чашку кофе. Также устройство умеет проигрывать записанные аудиофрагменты для организации голосового диалога.
Устройство производит итальянская компания Robotech SRL.
Плата имеет три алгоритма распознавания аудиофрагментов: «speaker-dependent» (точный), «speaker-independent» (фонетический) и тоновый. Точный алгоритм не использует никаких предположений о природе звука. В этом режиме устройство различает голоса разных людей. В этом его недостаток для одних применений (круг отдающих команды жёстко определён) и большое достоинство для других (можно сделать кодовый замок, опознающий человека по голосу, нет ограничений на язык говорящего).
Фонетический алгоритм требует выбора языка для команды. Он делает отличия между теми звуками, которые в данном языке дают разные слова, и не делает отличий для равноценных звуков. Например, в английском языке нет различий между твёрдым и мягким согласным; слова «купить» и «купит» для англичанина звучат одинаково. Значит, и EasyVR не будет отличать их. Изначально вам доступно 7 языков: английский, немецкий, французский, итальянский, испанский, корейский и японский.
Полной поддержки русского языка, увы, нет. Однако, в фонетическом режиме устройство сможет распознавать русские слова, созвучные с иностранными. А в точном режиме язык для EasyVR вообще не играет роли. Будь он английским, русским или марсианским — устройство будет работать корректно.
Тоновый алгоритм предназначен для преобразования последовательности звуков тонового набора в числа. При помощи этого алгоритма можно делать исполнительные устройства, висящие на телефонной линии. Вы звоните на своё устройство, оно снимает трубку, вы переходите в тоновый режим и даёте команду последовательностью нажатий кнопок на телефонной клавиатуре.
Ещё несколько устройств EasyVR Shield умеют передавать данные между собой звуком, без проводов. Для этого они используют специальные позывные, похожие на звуки не то дельфинов, не то персонажей «Звёздных войн». Создатели модуля назвали эту технологию Sonic Net.
Устройство связывается с управляющей электроникой по UART. Поддерживается работа как с аппаратной библиотекой Serial, так и с программной SoftwareSerial. Режим выбирается перемычкой.
Запись команд можно производить как посредством Arduino и библиотеки EasyVR, так и через специальную программу EasyVR Commander. Программа работает только под Windows. Для соединения с программой устройство имеет специальный режим «PC», активируемый перемычкой.
Для подключения микрофона и динамика на плате выведены JST-разъёмы. Разъём для динамика также продублирован в виде стандартного 3,5 мм аудиогнезда.
Плата поставляется с невпаянными штырьковыми соединителями. Чтобы получить рабочее устройство, вам обязательно придётся впаять эти разъёмы самостоятельно. Смотрите наше видео, чтобы научиться пайке.
EasyVR Shield 5.0:
EasyVR Shield 4.0:
EasyVR Shield 3.0: