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 — играет тот, к кому она сейчас подключена.