Авторизация
Регистрация

Напомнить пароль

Voice Home Assistant Preview Edition. Фирменная умная колонка на базе ESP32

Фирменная, опенсорсная(прошивка на базе ESPhome) умная колонка за авторством разработчиков Home assistant. О железке узнал совершенно случайно и не то чтобы я был фанатом голосового управления, но руки сразу зачесались купить и поиграть. Подробности под катом

В чём собственно прикол железки. Голосовое управление к HA прикрутили уже достаточно давно, можно с ним разговаривать через телефон, можно через смарт часы. Но вот именно «железной» колонки не было и не было доноров, которые можно было бы перепрошить(либо никто так и не заморочился). Народ городил различного рода самопалы, довольно популярным вариантом был модуль M5 Atom Echo, но работало это всё так себе. Ну и в отличие от — в этой колонке заявлен сдвоенный микрофон и качественный шумодав(забегая вперёд — действительно классно работает, на голову лучше альтернатив). Ну а ещё она стильная и с прикольным управлением. Цена за эту радость, впрочем, немалая. Как обычно, ничего нового.
Игрушка приходит в фирменной коробке из переработанного эко-картония.
Внутри кроме самой колонки нет ничего интересного, только странная наклейка и стопка макулатуры
Колонка питается через USB-C, имеет mini jack 3.5 выход на внешние динамики. Сбоку есть тумблер выключения, а снизу — отгибающийся кусок пластика, открывающий доступ к некоему Grove Port — куда можно подключать ряд датчиков платформы M5 Stack:
  • M5Stack SHT40-BMP280 temperature, humidity, air pressure sensor
  • M5Stack PIR motion sensor
  • M5Stack SGP30 TVOC, eCO2 gas sensor
  • M5Stack BH1750 ambient light sensor
Как я понял — там внутри обычный I2C, т.е. по факту с учётом открытой прошивки можно приколхозить что угодно, имеющее I2C интерфейс. Не очень понимаю зачем, но можно) Указанные датчики должны работать из коробки.
Колонка подключается очень просто. Включаем колонку(диодное кольцо на ней начинает мерцать бело-розовым), открываем на телефоне фирменное приложение HA, Настройки -> Устройства и службы. Вверху списка будет найденная по Bluetooth колонка с предложением её добавить.
Жмём, вбиваем Wifi креды, колонка подключается, обновляет прошивку(если есть обновления) и предлагает её донастроить. В теории, дальше всё должно произойти также (next-next-next-готово), но у меня всё пошло немного не по плану и из вариантов мне был предложен только облачный сервис, что разумеется не наш путь.
Подозреваю, связано с тем что у меня Core инсталляция HA, которая не поддерживает дополнения, в случае с установкой в виде докер образа либо через HA OS всё должно быть гораздо проще.
Затаскиваем контейнеры с whisper и piper в HA Core
Собственно, нам нужно накатить docker и docker-compose
На примере того же Debian
sudo apt update
sudo apt install docker docker-compose
Дальше создаём папочки например в /opt
sudo mkdir -p /opt/whisper_piper/piper-data
sudo mkdir -p /opt/whisper_piper/whisper-data
cd /opt/whisper_piper
И в папочку whisper_piper подкидываем docker-compose.yaml такого содержимого
version: '3.4'
services:
  whisper:
    container_name: whisper
    security_opt:
      - apparmor=unconfined
    image: rhasspy/wyoming-whisper:latest
    command: --model tiny-int8 --language ru
    volumes:
      - /opt/whisper_piper/whisper-data:/data
    environment:
      - TZ=Europe/Moscow
    restart: unless-stopped
    ports:
      - 10300:10300
  piper:
    container_name: piper
    security_opt:
      - apparmor=unconfined
    image: rhasspy/wyoming-piper:latest
    command: --voice ru_RU-ruslan-medium
    volumes:
      - /opt/whisper_piper/piper-data:/data
    environment:
      - TZ=Europe/Moscow
    restart: unless-stopped
    ports:
      - 10200:10200
Тут можно заметить, что прописана языковая модель --model tiny-int8 --language ru
Модель специально заточена под очень слабое железо типа одноплатников(и в целом неплохо на них шевелится). Если развёртывание происходит на взрослом железе — есть и другие варианты моделей
Вместо ru_RU-ruslan-medium можно прописать ru_RU-dmitri-medium, ru_RU-irina-medium или ru_RU-denis-medium
Но как по мне, руслан — самый адекватный голос)
Послушать семплы можно тут
Также вместо собственного контейнера можно генерить голос через Google Translate, тогда из docker-compose.yaml можно выпилить всё, что касается контейнера piper. Останется так
version: '3.4'
services:
  whisper:
    container_name: whisper
    security_opt:
      - apparmor=unconfined
    image: rhasspy/wyoming-whisper:latest
    command: --model tiny-int8 --language ru
    volumes:
      - /opt/whisper_piper/whisper-data:/data
    environment:
      - TZ=Europe/Moscow
    restart: unless-stopped
    ports:
      - 10300:10300
Проверяем, что всё работает(в случае, если операционка не debian stable, а что-то посвежее, там будет уже не docker-compose а docker compose)
sudo docker-compose up
Если всё работает, можно сделать из этого systemd сервис
[Unit]
Description=Whisper and piper services
Requires=docker.service
After=docker.service

[Service]
Restart=always

WorkingDirectory=/opt/whisper_piper

# Remove old containers, network and volumes
ExecStartPre=/usr/bin/docker-compose -f /opt/whisper_piper/docker-compose.yaml down -v

# Compose up
ExecStart=/usr/bin/docker-compose -f /opt/whisper_piper/docker-compose.yaml up

# Compose down, remove containers
ExecStop=/usr/bin/docker-compose -f /opt/whisper_piper/docker-compose.yaml down

[Install]
WantedBy=multi-user.target
Ну и после всех этих приседаний идём в настройки HA -> устройства и службы, добавляем интеграцию Wyoming Protocol два раза, первый раз прописывая порт 10300, а второй раз соотв. 10200. Кто из сервисов whisper, а кто piper софтина поймёт автоматом.
Ну и дальше создаём нового голосового ассистента и прописываем в нём всё, что подняли

Так или иначе донастраиваем колонку с голосовым ассистентом. Работает желелезка при этом достаточно хитро. Внутри самой колонки крутится маленькая языковая модель, настроенная на распознавании одной из стартовых фраз. Основано на проекте Micro wake word
С завода в колонку пролиты три модели — с фразами Okay Nabu, Hey Jarvis и Hey Mycroft. Нужная выбирается из интерфеса
Но т.к. прошивка открытая, ничто не мешает её пересобрать, добавив что-то, натренированное другими людьми(это форк оригинальной репы с моделями если что) или даже натренировать свою. Безграничный простор для пердолинга, всё как мы любим)
Работает эта система прям отлично, идеального английского произношения не требует, можно спикать фром йор харт с диким русским акцентом — и всё будет ОК, слышит прекрасно, причём с нескольких метров.
Дальше, как только встроенная модель срабатывает — колонка становится тупой проксёй и стримит аудиопоток на сервер, где и происходит преобразование речи в текст(whisper), обработка команд(home assistant) и преобразование ответа в голос(piper). Здесь и далее контейнеры с whisper и piper крутятся на Orange Pi Zero 3, рядом с самим HA и ещё несколькими сервисами. Можно оценить быстродействие.
Команда на включение таймера работает околоидеально.

Для тех, кто не смог обойти блокировку ютьюба
На видео я такой произношу «Окай Набу, включи таймер на 15 секунд», а оно берёт и включает, красиво мигая огонёчками

Заткнуть сигнал можно либо нажатием кнопки на корпусе, либо повторным произнесением стартовой фразы(что с точки зрения внутренней логики действия полностью аналогичные)
С другими действиями… сложнее. В теории, можно включать\выключать любые устройства в HA, по совпадению по полному наименованию, по типу устройства, по пространству и т.п. На английском всё довольно неплохо, но к сожалению русская языковая модель на текущий момент достаточно бедна и не совсем понимает, что такое эти ваши падежи и склонения. Поэтому рассчитывать можно только на полное совпадение. Проще всего произнести несколько раз некую команду, в отладке языковой модели посмотреть, что же оно такое нараспознавало и добавить несколько синонимов к нужному устройству. Например как-то так)))
С музыкой тоже не всё гладко. Во первых, сама по себе колонка звучит достаточно паршиво, на mp3 320 отчётливо слышны хрипы на высоких и почти полное отсутствие низких частот.
Если понизить громкость — становится получше, но такое, громкости там и так немного
(кстати, регулировка громкости выполнена суперски — слизана со старых айподов, да ещё и со светодиодной индикацией. Очень стильно и приятно)
Впрочем, никто не мешает подключить колонку к нормальным стерео динамикам через миниджек и получить вполне пристойный звук.

Для тех, кто не смог обойти блокировку ютьюба
На видео из колонки звучит лунная соната и делает это довольно хреново. Также показываю, как регулируется громкость.

Во вторых — HA в принципе не особо заточен как провайдер музыки. Обходится скриптами.
Сама колонка пробрасывается в HA как универсальный медиаплеер, который может воспроизвести любой звук из любого источника. Создаём скрипт, который реализует эту команду
Аналогично навешиваем ему синонимы
И вуаля — оно делает вид, что умное и работает)))

Для тех, кто не смог обойти блокировку ютьюба
На видео я произношу «Окай Набу, включить музыку», а оно берёт и включает заранее настроенный скрипт с синонимом «Музыку», который запускает проигрывание интернет радио.

Ну и так в целом со всеми «навыками». Есть куча заранее созданных блюпринтов, но они все заточены под английский, беглым поиском я под великомугучий ничего не нашёл. Приходится костылить врукопашку.

Выводы. Для людей, которые избегают завязываться на облачные сервисы(а те, кто не избегал, сейчас сильно-сильно страдают в связи с деятельностью ГРЧЦ) — штука почти безальтернативная. Да, можно сделать самопал, но качество и стабильность его работы будет под большим вопросом. Лично у меня оно срабатывало со второго раза на третий, здесь же, если модель на этом слове училась — почти 100% успеха. Если нет — всё уже хуже, но как минимум whisper в принципе перестал выдавать результат обработки «громкая музыка»(это он так тонко намекает, что ничего не расслышал). Шумодав и нормальные микрофоны решают. В остальном же штука не для всех, большинство граждан предпочтут купить колонку с какой-нибудь алисой и не морочиться, и я их прекрасно понимаю. Но в моём доме алис, алекс и прочих сири никогда не будет, поэтому лично я с удовольствием повозился(хоть и не уверен, что буду реально пользоваться).
Ну и следует так же понимать, что Preview Edition в названии фигурирует не просто так — по сути сейчас в продаже бета версия железки, которая может кардинально поменяться или вообще исчезнуть из продажи, если не взлетит. В общем — штука всё ещё для энтузиастов и любителей повозиться, хоть и сделал огромный шаг в сторону простоты и дружелюбности настройки. Спасибо за внимание!
UPD. Дополнение про VOSK
Попробовал прикрутить другой движок распознавания речи, конкретно модель vosk-model-small-ru-0.22
Из коробки она работает ощутимо хуже чем whisper, добавляет лишние предлоги и междометия, нещадно склоняет слова, не преобразует числительные в числа, и т.п.
НО!
Для этого движка есть возможность настроить ограничение используемых фраз по шаблонам — и это прям кардинально меняет дело. Распознавание становится чётким, набивать десяток синонимов для разных приборов больше не надо, ну и вишенкой на торте — на той же Orange Pi Zero 3 VOSK крутится ощутимо шустрее чем whisper, процесс распознавания занимает секунду-полторы. Всем советую, очень крутая тема.
Процесс закатки контейнера vosk+piper
В целом не сильно отличается от прошлого варианта. docker-compose.yaml будет выглядеть так:
version: '3.4'
services:
  vosk:
    container_name: vosk
    security_opt:
      - apparmor=unconfined
    image: rhasspy/wyoming-vosk:latest
    command: --sentences-dir /data/sentences --correct-sentences --limit-sentences --data-dir /data --model-for-language ru vosk-model-small-ru-0.22
    volumes:
      - /opt/whisper_piper/vosk-data:/data
    environment:
      - TZ=Europe/Moscow
    restart: unless-stopped
    ports:
      - 10300:10300
  piper:
    container_name: piper
    security_opt:
      - apparmor=unconfined
    image: rhasspy/wyoming-piper:latest
    command: --voice ru_RU-ruslan-medium
    volumes:
      - /opt/whisper_piper/piper-data:/data
    environment:
      - TZ=Europe/Moscow
    restart: unless-stopped
    ports:
      - 10200:10200
Создаём каталоги и скачиваем модель
sudo su -
mkdir -p /opt/whisper_piper/vosk-data/sentences
cd /opt/whisper_piper/vosk-data
wget https://alphacephei.com/vosk/models/vosk-model-small-ru-0.22.zip
unzip vosk-model-small-ru-0.22.zip
rm vosk-model-small-ru-0.22.zip
Ну а по пути /opt/whisper_piper/vosk-data/sentences создаём файлик ru.yaml со каким-то таким содержанием:
sentences:
  - "[какая ][сейчас ]погода"
  - in: "что там на улице"
    out: "погода"
  - "(установи|запусти) таймер на ({nums}|{tens1}|{tens2}{nums}) (секунд|секунду|минут|минуту|час|часов|часа)"
  - "(установи|запусти) таймер на ({nums}|{tens1}|{tens2}{nums}) (минут|минуту) ({nums}|{tens1}|{tens2}{nums}) (секунд|секунду)"
  - "(установи|запусти) таймер на ({nums}|{tens1}|{tens2}{nums}) (час|часов|часа) ({nums}|{tens1}|{tens2}{nums}) (минут|минуту)"
  - "(останови|отключи|выключи) таймер"
  - "(запусти|включи)[ть] {device} [(в|на) {zone}]"
  - "(выключи|отключи)[ть] {device} [(в|на) {zone}]"
  - "включи следующ(ий|ую) [трек|песню]"
  - "переключи на следующ(ий|ую) [трек|песню]"
  - "следующ(ий|ая) (трек|песня)"
  - "(включи|верни) (прошл(ый|ую)|предыдущ(ий|ую)) [трек|песню]"
  - "переключи на (прошл(ый|ую)|предыдущ(ий|ую)) [трек|песню]"
  - "предыдущ(ий|ая) (трек|песня)"
  - "постав(ить|ь) [музыку|песню|трек|воспроизведение] на паузу"
  - "[при]останов(ить|и) (музыку|песню|трек|воспроизведение)"
  - "(возобнови|продолж(и|ай))[ воспроизведение]"
  - "(сними|снять) [музыку|песню|трек] с паузы"
  
lists:
  device:
    values:
      - свет
      - вытяжку
      - кондей
      - кондиционер
      - вентилятор
      - лампу
      - люстру
      - ночник
      - споты
      - музыку
      - чайник
      - телевизор
      - стиральную машину
      - отпариватель
  zone:
    values:
      - кухне
      - прихожей
      - мастерской
      - спальне
      - кабинете
      - туалете
      - ванной
  nums:
    values:
      - in: один
        out: "1"
      - in: одну
        out: "1"
      - in: два
        out: "2"
      - in: две
        out: "2"
      - in: три
        out: "3"
      - in: четыре
        out: "4"
      - in: пять
        out: "5"
      - in: шесть
        out: "6"
      - in: семь
        out: "7"
      - in: восемь
        out: "8"
      - in: девять
        out: "9"
  tens1:
    values:
      - in: десять
        out: "10"
      - in: одиннадцать
        out: "11"
      - in: двенадцать
        out: "12"
      - in: тринадцать
        out: "13"
      - in: четырнадцать
        out: "14"
      - in: пятнадцать
        out: "15"
      - in: шестнадцать
        out: "16"
      - in: семнадцать
        out: "17"
      - in: восемнадцать
        out: "18"
      - in: девятнадцать
        out: "19"
      - in: двадцать
        out: "20"
      - in: тридцать
        out: "30"
      - in: тридцать
        out: "30"
      - in: сорок
        out: "40"
      - in: пятьдесят
        out: "50"
      - in: шестьдесят
        out: "60"
      - in: семьдесят
        out: "70"
      - in: восемьдесят
        out: "80"
      - in: девяносто
        out: "90"
  tens2:
    values:
      - in: "двадцать "
        out: "2"
      - in: "тридцать "
        out: "3"
      - in: "тридцать "
        out: "3"
      - in: "сорок "
        out: "4"
      - in: "пятьдесят "
        out: "5"
      - in: "шестьдесят "
        out: "6"
      - in: "семьдесят "
        out: "7"
      - in: "восемьдесят "
        out: "8"
      - in: "девяносто "
        out: "9"

Да, с числительными конкретно так пришлось поморочиться.
Подробнее о том, что тут происходит, можно почитать тут
Ну и всё, дальше всё аналогично. При первом обращении контейнер создаст кеш словаря рядом с ru.yaml, это займёт некоторое время(не увлекайтесь перекрёстными списками, он их преобразует в список линейный и при неаккуратном обращении легко раздувает до нескольких гигабайт), что займёт какое-то время. Дальше будет всё шустро.

На сладенькое, можно ещё прикрутить поверх этого nginx, чтобы сделать балансировку нагрузки между несколькими серверами. Например у меня дома есть относительно мощный сервак, который крутит эту модель ну очень быстро, но периодически бывает сильно занят. И дохлая апельсина, которая включена и относительно свободна 24\7.
Тогда в nginx.conf можно прописать что-то такое
stream {
        upstream lb_whisper {
                server  external.server:10300     fail_timeout=5s;
                server  localhost:10300 backup;
        }
        upstream lb_piper {
                server  external.server:10200     fail_timeout=5s;
                server  localhost:10200 backup;
        }

        server {
                listen     11300;
                proxy_pass lb_whisper;
        }

        server {
                listen     11200;
                proxy_pass lb_piper;
        }
}
И дальше уже нацеливать HA на порты 11200 и 11300
Планирую купить +26 Добавить в избранное
+83 +104
свернутьразвернуть
Комментарии (64)
RSS
+
avatar
0
Цена: 5417 в каких бумажках? или листьях?
+
avatar
+2
В дефолтных безусловных единицах.
+
avatar
+1
  • NikoM
  • 09 мая 2025, 11:00
В гривнах? Тенге?
+
avatar
+1
Кредитах)
+
avatar
+17
Казалось, очевидно что не в долларах и не зайчиках, но поправил.
+
avatar
0
  • dimkin
  • 09 мая 2025, 11:16
+
avatar
0
  • Horus
  • 09 мая 2025, 12:42
Там же написано что в р.
+
avatar
+2
  • SotM
  • 09 мая 2025, 14:25
Стало, после того, как автор исправил.
+
avatar
0
Обзор понравился. Подскажите а как вы организовали зауск интернет радио? Тоже такой хочется организовать :)
«произношу «Окай Набу, включить музыку», а оно берёт и включает заранее настроенный скрипт с синонимом «Музыку», который запускает проигрывание интернет радио»
+
avatar
+2
Да довольно просто на самом деле. Есть дефолтная интеграция Radio Browser — вот добавляем её в систему, а дальше скрипт как на скрине.
Ну или вот этот же скрипт в виде ямльника
sequence:
  - action: media_player.play_media
    target:
      entity_id: media_player.home_assistant_voice_09ae4e_media_player
    data:
      media_content_id: media-source://radio_browser/fdc4bec9-60e6-4276-a1a9-6ec42ccdcd07
      media_content_type: audio/mpeg
    metadata:
      title: Classic FM
      thumbnail: https://radio-24.ru/img/logo/logo-781.png
      media_class: music
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://radio_browser
        - media_content_type: music
          media_content_id: media-source://radio_browser/country/RU
alias: Включи музыку
description: ""
Если что, тут алиас — это не синоним для голосового управления. Чтобы добавить синоним для какого-то объекта, проваливаемся в его настройки и жмём обведённый пункт меню
+
avatar
+1
  • dimkin
  • 09 мая 2025, 11:28
что странно — на сайте обещано больше/лучше

Для сравнения
+
avatar
+3
Ну, ready to use я бы её точно не назвал. В любом случае, следует понимать что русский язык в сравнении с английским сильно сложнее для распознавания, а так же что в целом эти все шкалы вилами по воде, т.к. на стороне команды HA по сути только модель обработки команд, которые уже переведены в текст, когда самое сложное тут — корректно текст распознать. По сути никто не мешает вместо whisper прикрутить какой-то другой STT движок(например в лёгкую ищется вариант с OpenAI либо сразу готовый докер образ сVOSK). Да и как я — накидать синонимов в железки тоже никто не мешает. Так что статус довольно нечёткий
+
avatar
+5
  • dimkin
  • 09 мая 2025, 11:49
на тему «простой английский язык» и распознование речи я всегда вспоминаю вот это
+
avatar
+3
Ну дык это видео старое почти как я)
По факту, на сейчас распознавание английского сильно шагнуло вперёд, и в силу количества носителей языка, и в силу возросших вычислителлных мощностей. Да и сам язык — объективно — проще. Нет падежей, нет склонеений, произношение слов не имеет десятка разных форм с мигающими гласными и прочими такими приколами. Всех сложностей — конечный и детерминированный список неправильных глаголов, с которыми STT движок быстрей всего никогда не столкнётся, т.к. конструкции со всякими хитрыми временами никто в голосовых командах использовать не будет. Может, какой-нибудь эсперанто был бы ещё проще, но кому он реально нужен?
+
avatar
-1
А я вот это:
+
avatar
0
  • harm
  • 12 мая 2025, 11:56
+
avatar
+1
  • xNIXx
  • 09 мая 2025, 12:18
А нарукоблудить самостоятельно из esp и микрофонов не получится? Будет поди раза в полтора дешевле. Хотя корпус итп… проще и правда купить.
+
avatar
+4
Так я написал, народ рукоблудил, и даже есть условно «готовое» решение за полтора килорубля, но работалотоно прискорбно
+
avatar
0
Интересно, с чем связаны проблемы? Ведь у ESP32 есть варианты с внешней ОЗУ и например можно прикрутить I2S микрофон. Собственно только эти две вероятные причины и увидел, то есть возможная нехватка производительности при использовании модулей без внешней ОЗУ и некачественный микрофон.
+
avatar
+3
Я бы сказал, главная причина — отсутствие шумодава. Даже качественный электретный капсюль слышит очень много лишнего
+
avatar
+2
Тут самое сложное – акустика. Настроить микрофон(ы), подружить аналоговые и цифровые миры, аттентюнуации, задержки и фильтры подогнать, в матан шумодавов погрузиться и корпус правильно спроектировать…
Если не погружаться в звук, то самодельная колонка будет понимать только когда в неё прямо говоришь, а не из другого конца комнаты под шум раковины.

А припаять шилды к ЕСП и корпус напечатать много умений не надо, да. Ну а если искать готовый аудиопроцессов – так это устройство и найдёте.

У меня периодически возникает желание завандалить Алису/Марусю, вытряхнуть из неё все активные компоненты, а микрофон/динамик/кнопки подключить к своим, той же ESP хотя бы. Если получится, то как раз будет DIY, но с профессионально собранной акустикой.
+
avatar
+1
Если на руках есть заводская колонка — то вариант, как минимум было бы интересно заглянуть ей под юбку, что там за плата, какой МК, можно ли это завандалить всё.
+
avatar
0
Ну этого то хватает в интернетах.
Алиса: dzen.ru/a/Y-85CdSznj1qLIYD
Маруся: habr.com/ru/companies/vk/articles/565100/

Думаю, основной блин с процессором, памятью, цапоусем и сетевыми чипами бесполезно хакать в домашних условиях, но сделать простой его аналог можно.
+
avatar
+1
сделать простой его аналог можно
Что-то мне подсказывает, что разработка и изготовление платы по время\трудо-затратам сильно переплюнет эту железку, даже с учётом её цены в почти 60 бакинских. Если такое начинать — то чтоб уже продавать потом. Со всеми вытекающими сложностями и приключениями.
+
avatar
0
с учётом её цены в почти 60 бакинских
Ну тут я конечно сам исхожу из того что обе у меня валяются в кладовке без дела доставшись бесплатно. Скорее всего не сложно найти на Авито или друзей сильно дешевле РРЦ.

Особенно Марусю, которую по слухам закапывают. Вот в таком случае для неё может и коммерциализация такой самоделки имеет смысл. Но я скорее о простом рукоблудстве в качестве хобби.
+
avatar
+1
  • iProxx
  • 10 мая 2025, 10:08
+
avatar
0
  • si1v3r
  • 09 мая 2025, 15:02
Народ, а где сейчас хорошие ресурсы по HA?
+
avatar
0
А чем офф. дока не устраивает?
+
avatar
0
  • si1v3r
  • 09 мая 2025, 17:56
Совместимость и обзоры конкретных устройств типа вашего хотелось бы найти в количестве.
+
avatar
+2
Если с настройкой чего-либо помощь нужна — хорошо помогает deepseek. Если просто посмотреть, чего там сообщество придумало с прошивками разных девайсов и всякие интересные аддоны — тогда на ютуб каналы У Павла и Alex Kvazis
+
avatar
0
  • si1v3r
  • 09 мая 2025, 17:56
Спасибо
+
avatar
+1
Такая большая задержка перед выполнением команд — это из-за железа апельсины? Хотелось бы побыстрее для локального управления.
+
avatar
+1
Да. На N100 я видел выполняется быстро.
+
avatar
0
Насколько быстро? Алиса выполняет команду примерно за 0.8 секунды, да требуется интернет, но зато она разговаривает человеческим голосом и не вешает домашний сервер на время распознавания команды
+
avatar
+1
На R2400G тоже меньше секунды. Я правда что проверял такую же модель(которая tiny). На взрослом железе наверное интереснее turbo поднимать, за неё не знаю.
+
avatar
+2
  • Kheamu
  • 09 мая 2025, 21:40
Обработчик голоса ставьте vosk тогда не только на n100 быстро будет)
+
avatar
0
Воск довольно жирный, если мне память не изменяет. Или вы про минимальную модель? Она помнится туповата была
+
avatar
+1
Поигрался с VOSK. Если его правильно приготовить и настроить ограничение словаря — получается действительно конфетка. Дополнил статью.
+
avatar
+1
Верно, причём упор именно в проц, в момент когда стартует распознавание — там процесс начинает жрать 300 с лишним процентов процессорного времени. Как по мне — чудо что оно вообще там работает, да ещё и так шустро. Когда поднимал те же контейнеры на R2400G — обработка происходила почти мгновенно.
+
avatar
+1
  • dimkin
  • 09 мая 2025, 18:50
оно с Hailo и подобными быстрее шевелится.
Я всё никак не договорюсь с жабой на поиграться с HA Voice. Алиса и так дома есть — но так и не подключил, ибо не знаю зачем :)
+
avatar
+2
Ценник какой-то прям совершенно негуманный. Как и на сами малинки впрочем. В комплекте с малиной выходит в районе 17 килорублей, в то время как одноплатники на N100 стартуют от десятки. Не выгодно
З.Ы. А то и вообще можно на рузене 5500 взять
+
avatar
+3
У меня в спальне вообще нет никаких выключателей, весь свет работает либо через xiaomi magic cube либо через Алису, если забыл, как кубиком выключить, можно Алису шепотом попросить. Еще удобно у нее спросить температуру в комнате, попросить включить кондей… Будильник тоже радует новым треком каждый день. Как бы я не хейтил Яндекс, Алиса — это действительно очень хороший продукт
+
avatar
+8
Только больно много слушает и подписку требует. Ну и в сложившихся обстоятельствах зависимость от интернета ИМХО — критический недостаток.
+
avatar
0
Подписка — да, не всем нужно, я пользуюсь их музыкой, да и на Кинопоиске можно что-то годное найти. Что она всегда слушает и отправляет майору — миф, траффик околонулевой, если к ней не обращаться, но активно разговаривать рядом.
+
avatar
+2
Ну, никто и не ждал что оно будет гнать аудиопоток 24/7, такую нагрузку никакая система не вывезет. Скорее всего, там есть локальная модель(типа того же micro wake word, только не микро. Ну иначе как бы она реагировала на стартовую фразу?), котррая слушает и пишет лог. Как шмогла. И потом раз в сутки запуливает лог на север
+
avatar
0
Железо, на которой может крутиться локальная модель, появилось в Алисах только недавно. Кодовое слово распознать много ума не надо, если оно одно (ну, два на выбор)

В теории, да, в новых алисах такой вектор может быть: в конечное устройство загружается локальная модель на нужные кодовые слова и «на материк» уходит только декодированная мякотка в текстовом виде. На практике нужно очень много молчащих ртов на всей цепочке.

Однако себе домой я беру Алисы без нейромодулей, признаюсь.
+
avatar
0
А там разве нельзя произвольное слово настроить в качестве активатора? Потому что если можно — минималистичные решения типа того же micro wake word не прокатят, должен быть полноценный STT движок
+
avatar
+1
Нельзя настроить, можно только «Алиса» или «Яндекс» выбрать.
+
avatar
+1
Ну, если так — то да, быстрее всего там под капотом тот же самый micro wake word или его аналог. Тогда возможность сбора инфы действительно сильно ограничена
+
avatar
+1
исходя из того что тематическая реклама появляется после того как просто поговоришь на кухне без всяких алис — слушают нас и отправляют логи товарищу майору вообще все девайсы. Алиса хоть пользу приносит при этом
+
avatar
0
Ну, меня лично палит только гугл на текущий момент. Алисы нет, приложения яндекса на телефоне автоматически дизэйблятся через ice box, поиском их я тоже не пользуюсь — и о чудо, тематическая реклама не особо тематична)
+
avatar
0
Зависимость от интернета, ну, яндекс, в последнюю очередь отключат, там уже не до Алис нам всем будет)
+
avatar
+4
С учётом того, что их кривые руки несколько раз срубали траффик до сбера — да ладно?)
+
avatar
+1
  • Kheamu
  • 09 мая 2025, 21:46
Я, конечно, не параноик, но после того, как посмотрел трафик от Алисы, особенно с нажатой кнопкой «откл микрофон» — сразу продал её на Авито)
+
avatar
+5
  • Offi
  • 10 мая 2025, 00:23
И что же вы там увидели, аж интересно стало?
+
avatar
+5
  • Osmile
  • 10 мая 2025, 07:18
«Я конечно не параноик» весьма популярная фраза у параноиков
+
avatar
+3
Ничего он не увидел, просто любит набрасывать на вентиллятор
+
avatar
0
Поигрался с VOSK. Если его правильно приготовить и настроить ограничение словаря — получается действительно конфетка. Дополнил статью.
+
avatar
0
Поигрался с VOSK. Если его правильно приготовить и настроить ограничение словаря — получается действительно конфетка. Дополнил статью.
+
avatar
+1
  • Kheamu
  • 09 мая 2025, 21:43
6600 цена, подожду, пожалуй. У меня m5stack echo работает пока за 1200р)
+
avatar
+1
Посмотрите на алике, там тоже есть. Возможно, вам будет дешевле оттуда тащить
+
avatar
0
зачем пишут
Подробности под катом
если через 1 предложение появляется аббревиатура, не упомянутая в тексте ранее?
ведь те, кто в теме и так знают про «кат»)))

/zanuda_mode off
+
avatar
+1
Священная и нерушимая традиция
+
avatar
+2
«за тыщи лет никакого прогресса — обезьяны так и не научились читать» ©
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.