Skip to content

Smartbox в гостиной ​

Экспериментально

Smartbox с прошивкой Хомера — самоделка: колонку вскрывают и прошивают, гарантию это снимает. В продукт Homer 1.0 не входит.

DEXP Smartbox — третья колонка Хомера. Она стоит в гостиной рядом с Алисой и телевизором. Своей программы Хомера на ней нет: это микрофон и динамик, а слушает и отвечает компьютер.

Колонку готовили отдельно: на ней получен root и стоит скрипт подключения. Повторять это для обычной настройки не нужно.

Как устроено ​

  • Колонка сама подключается к компьютеру одним TCP-соединением на порт 8793. Вверх идёт её микрофон, вниз — голос Хомера, оба 16 кГц моно.
  • На компьютере её обслуживает отдельный экземпляр колонки: задача планировщика homer-speaker-smartbox, HTTP-вход :8795, журнал tmp\speaker-smartbox.log.
  • Свет и быстрые команды он разбирает сам. Сложное отдаёт основной колонке на :8790 и проигрывает её ответ в гостиной.
  • В отличие от резерва на GPD, Smartbox не уступает компьютеру 1,5 секунды: фраза, сказанная в гостиной, сразу её.

Задача ставится один раз:

powershell -ExecutionPolicy Bypass -File tools\speaker\install-autostart-smartbox.ps1

Не слушает себя и телевизор ​

Колонка стоит у телевизора, и её встроенное эхоподавление вычитает собственный звук не до конца. Поэтому:

ЗащитаЧто делает
Хвост ответаПосле отправки речи колонка ещё 0,8 с считается говорящей: звук идёт по сети и через буфер
Своё эхоОсновная колонка возвращает текст ответа вместе со звуком, и по нему узнаётся собственная реплика, долетевшая обратно в микрофон
Порог 28 дБРеплика без имени тише 28 дБ отсекается. Хвост ответа и музыка с компьютера приходят на 11–23 дБ, голос рядом — от 35
Без имени — продолжениеФраза без имени уходит основной колонке как продолжение разговора. Модель молчит, если фраза не ей, а не отвечает «Это не ко мне» на новости
Без раннего пискаСигнал «слышу» по имени от Vosk и «принято» на реплики без имени у Smartbox выключены: Vosk ловил «Хомер» в телевизоре

Без компьютера ​

Скрипт подключения на колонке обходит адреса по очереди: сначала компьютер, потом сервер дома (GPD).

  • На GPD колонку ждёт свой приёмник — задача homer-speaker-smartbox с параметром --prefer. Он раз в 10 секунд проверяет экземпляр Smartbox на компьютере и, как только тот дважды подряд ответил, отпускает колонку. Она переподключается и снова начинает с компьютера.
  • Без компьютера свет и быстрые команды работают как обычно. Сложное отвечает облачная модель напрямую, если в доме выбрано облако с ключом. С подпиской Claude без компьютера понимается только свет.
  • Распознавание и голос speaches живут на компьютере, поэтому без него речь разбирает Vosk, а отвечает голос Windows.

TIP

Куда сейчас подключена колонка, видно в журнале: строка «сетевая колонка подключилась: <адрес>» в tmp\speaker-smartbox.log на компьютере или на GPD.

Звук сценариев ​

Smartbox принимает звуки сценариев, как и остальные колонки. Сценарий зовёт её и на компьютере, и на GPD — играет тот, к кому она сейчас подключена.