Микрофоны, динамик и шум куба
Как сделать так, чтобы куб слышал комнату, а не себя?
Акустическая система проектируется вместе с корпусом и вентиляцией. Для неё заранее предусматриваются размещение, объём и условия распространения звука.
Внутри станции работают вентиляторы, а рядом может играть собственный динамик. Микрофон воспринимает всё это вместе с речью. Размещение и механическая связь поэтому влияют на распознавание не меньше выбора модели.
Начинаем с имеющегося выносного USB-микрофона и получаем опорный результат. Затем меняем только размещение или акустический узел и сравниваем на тех же фразах. Такой опыт показывает цену интеграции микрофона в корпус.
Первый тракт — телефон или имеющийся Fifine. Он позволяет отделить качество модели от неизвестной геометрии микрофонов. Следующий шаг — выносной USB-массив с документированными режимами. Только после этого стоит переносить микрофоны в куб.
Один микрофон, массив или спутник#
Один USB-микрофон прост в подключении и даёт понятный эталон. Массив может улучшить направленность и обработку, но требует правильной геометрии, синхронных каналов и подходящего алгоритма. Отдельный голосовой спутник позволяет расположить микрофоны ближе к человеку, оставив шумный вычислитель в стороне.
reSpeaker — пример семейства готовых модулей, где важно выбрать точную модель и режимы USB. Нельзя покупать произвольную плату с таким названием и ожидать одинаковый набор каналов, AEC и firmware. [67]
Захват и формат#
Для многих speech-моделей удобен моно PCM 16 кГц, 16 бит: это 32 КБ/с без служебных данных. Десятисекундная фраза занимает около 320 КБ. Если устройство захватывает 48 кГц, выполняется одно качественное преобразование частоты, а не несколько каскадов в разных службах.
Параметры захвата фиксируются: частота, формат, каналы, gain, AGC, обработка устройства и программы. Иначе сравнение двух моделей может на самом деле сравнивать два разных аудиотракта. ALSA предоставляет низкоуровневый путь, а более высокий аудиосервер может упростить маршрутизацию; выбор проверяется по задержке и восстановлению USB. [40]
Эхо и опорный сигнал#
Когда станция отвечает через динамик, часть звука возвращается в микрофоны. Эхокомпенсации нужна синхронизированная опора того, что действительно воспроизводится. Разные устройства USB могут иметь разные часы и задержки; алгоритм должен учитывать дрейф, иначе компенсация ухудшается со временем.
Во время одновременной речи человека и динамика нужен режим double-talk. Простой запрет слушать во время ответа облегчает первую версию, но мешает перебиванию. Это допустимый явно описанный этап, а не скрытый дефект.
Механика микрофонов#
Микрофонный модуль размещается вне прямого потока и подальше от крепления вентилятора. Отверстия должны соответствовать акустическому порту микрофона. Длинный узкий канал создаёт фильтрацию и резонансы; толстая декоративная ткань меняет частотную характеристику. Деталь сначала испытывается с открытым портом, затем с окончательной сеткой.
Динамик имеет собственную камеру или контролируемое акустическое оформление. Просто прикрутить его к общей стенке куба — значит передать вибрацию корпусу и микрофонам. Мощность динамика не компенсирует плохое расположение; для коротких ответов часто достаточно умеренной громкости и хорошей разборчивости.
Wake word#
Постоянное ожидание слова активации — отдельный процесс с небольшим ресурсом. После него запускается основной тракт. openWakeWord предоставляет готовую инфраструктуру, но готовые модели и языковые возможности проверяются отдельно; русское слово «Кубик» не считается поддержанным только потому, что проект умеет wake word. [64]
До обучения собственного слова активации первый куб использует кнопку push-to-talk. Затем собирается корпус положительных и отрицательных записей с согласием участников. Нельзя оценивать модель только по голосу автора, сказанному рядом с микрофоном.
Голос не является надёжной аутентификацией#
Запись, динамик или похожий голос могут воспроизвести команду. Для света это один уровень риска, для замка или опасного оборудования — другой. Более чувствительные операции требуют подтверждения в приложении или физического действия. Распознавание говорящего, если оно появится, не должно автоматически считаться достаточной защитой.
Инженерная карта аудио#
| Испытание | Что фиксировать | Что считать проблемой |
|---|---|---|
| Тишина и обычный разговор | Ложные активации | Действие без обращения к системе |
| Вентиляторы под нагрузкой | Ошибки команд и конец фразы | Резкое ухудшение в рабочем режиме |
| Ответ динамика | Эхо, повторная активация | Станция командует сама себе |
| Отключение USB | Восстановление устройства | Нужна перезагрузка всего хаба |
| Дальняя речь | Правильный объект и задержка | Необоснованная уверенность при ошибке |
Интеграция в корпус#
Сначала нужен рабочий голосовой тракт вне куба. Встроенная версия принимается только после сравнения с этим эталоном. До этого корпус резервирует место, питание и USB, но не фиксирует окончательное число микрофонов и отверстий.
Что акустическая обработка не защищает#
AEC использует опорный сигнал собственного динамика и не обязан подавлять команды из телевизора или чужую запись. Для общего микрофона нужен отдельный ограниченный субъект «комната», не автоматическая идентификация владельца по голосу. Изменение доступа, SSH, перенос ключей и обновления голосом комнаты не разрешаются.
В аппаратном профиле микрофона предусматриваются физическое mute и индикатор, связанный с реальным отключением тракта, а не только с нарисованной иконкой. Точка отключения выбирается по модулю: питание MEMS, цифровой тракт или иной проверенный механизм. После mute тестируется отсутствие пригодного аудиопотока; внешний USB-микрофон требует своей документированной процедуры.
Для стенда речи задаём условия, а не универсальную цифру качества: расстояния 1 и 3 м, три оборотных режима вентилятора, измеренный шум, пять согласившихся дикторов при возможности. SNR, ERLE и AOP полезны как диагностические величины с определённой методикой. Их паспортное значение не заменяет долю правильных действий на RU/EN. Слово активации выбирается после сравнения нескольких кандидатов; короткое «Кубик» не считается уже утверждённым.