Найти в Дзене
SAV LABS

Проверка слуха у умного дома. Home Assistant. ATOM Echo. Часть 2

Оглавление

Продолжаем прорезывать слух у умного дома, что мы уже начали делать в предыдущей статье.

Фраза активации или ключевое слово

Чтобы наш ассистент активировался только после произнесения какой-то определенной фразы, типа, "Ok, Google" или "Алиса", нам необходимо установить еще одно дополнение, про которое я упоминал в другой статье - openWakeWorld. Устанавливается оно как и многие через магазин дополнений, что и было сделано... И тут новое испытание... По полученной мною ранее информации, в настройках голосового ассистента должно появиться поле выбора фразы активации... Но оно никак не хотело появляться... Потратив на решение этого вопроса еще с пару часов и уже не понимая в чем причина, я случайно обратил внимание на меню по трем точкам в правом верхнем углу настроек... Зайдя в него, обнаружил там пункт "Добавить потоковую фразу активации" и нажал... Японский городовой! Появилось поле выбора фраза активации! Правда, называется оно теперь по-другому... Только позже я обнаружил информацию про это в документации... Из пяти предлагаемых вариантов фраз, выбрал пока "Alexa"...

Ну, работает... Но после экспериментов понял, что "Alexa" (причем ей заметно больше нравиццо произношение с ударением на первую букву A) довольно вяло отзывается, очень не любит фоновые звуки, при удалении от микрофона, например, даже на 30см, слышит она так себе, приходится говорить довольно громко... Примерный процент распознавания - около 25-30... Решил поискать вариант как это можно исправить...

Личная фраза активации

Плюс ко всему, хотелось бы использовать какую-то свою фразу активации... В-общем...

Переходим по этой ссылке. На странице видно три поля, ну или как там названо "ячейки". В первой ячейке (Test Example Training Clip Generation) в поле target_word вписываем фразу, которую хотелось бы видеть в качестве фразы активации, желательно короткой и маловероятно употребляемой в разговорной речи... На аглицком языке (ну, пока так, хотя можно попробовать поиграться с транслитом). Я выбрал фразу "Hey, smartass" (Эй, умник). Однако в поле вносим ее без знаков препинания, цифры заменяем на слова, пробелы на подчеркивания: у меня получается Hey_smartass.

-2

Идем в третью ячейку тренировки.

  • Первый бегунок определяет, сколько примеров будет сгенерировано для вашего WakeWord. Значение по умолчанию (1000) обычно дает хорошую модель, но часто оптимальным является количество от 30 000 до 50 000 - я взял 10000.
  • Второй бегунок определяет продолжительность обучения модели. Как и в большинстве примеров, значение по умолчанию (10 000) обычно работает хорошо, но более длительное обучение обычно помогает. Собственно, все это в попугаях. Взял 15000.
  • Третий бегунок определяет, насколько строго "наказываются" ложные срабатывания в процессе обучения. Более высокие значения могут значительно снизить вероятность срабатывания модели, когда этого делать не следует, но также могут привести к тому, что она не активируется, когда сигнал тревоги произносится нечетко и присутствует фоновый шум. Оставил как есть - 1500.

Далее, возле каждой ячейки слева есть кнопка выполнения (на скриншоте отмечено красным) - проходимся по ним в каждой из трех ячеек.

-3

Или второй вариант: в меню окна в пункте "Среда выполнения" выбираем "Выполнить все", чтобы не ждать выполнения каждой ячейки отдельно.

-4

<<< Подборка статей на этом канале про Home Assistant >>>

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

Если установлено и запущено дополнение Samba share (устанавливали мы его в другой статье), можно подключиться к серверу HA, где увидим доступные нам папки. В доступной теперь папке share создаем папку openwakeword, куда копируем наш tflite-файл. Samba share можно отключить, если не нужно в ближайшее время - лишние "дырки" нам не нужны...

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

После небольших экспериментов было четко заметно, что вырос процент правильного распознавания по сравнению с Alexa - с примерных 25-30 до, наверное, 90... Намного охотнее реагирует при удалении от микрофона, заметно спокойнее относится к фоновым звукам... Надеюсь, что при создании нового файла фразы с рекомендованными значениями первого и второго бегунков в третьей ячейке станет еще лучше... Интересно сколько времени займут итерации обучения... В-общем, результат вдохновляет, двигаемся дальше, где явно будет много интересного, поэтому

Ставьте лайки, оставляйте комментарии, страница в VK, подписывайтесь на канал, присоединяйтесь в Telegram чтобы ничего не пропустить!

Поддержите канал донатом

-7

#умныйдом #календарь #HA #HomeAssistant #сделайсам #минипк #неттоп #nettop #HACS #nodered #node-red #nodered #dwainsdashboard #dwains #dashboard #планшет #ibeacon #bluetooth #ssl #защита #визуализация #3D #ping #мониторинг #звук #микрофон