Фактопедия

Как работает умная колонка

Умная колонка постоянно слушает окружение в поисках кодового слова, а после него отправляет запись голоса на удалённые серверы, которые распознают речь, формируют ответ и отправляют его обратно для воспроизведения.

Как работает умная колонка

Умная колонка сама по себе - это набор микрофонов, простой обучаемый чип и обычный динамик, а вся “умная” часть работы происходит не внутри неё, а на удалённых серверах в интернете. Колонка постоянно слушает пространство вокруг себя в поисках заранее заданного кодового слова, и только услышав его, начинает передавать запись голоса по сети - на серверы, где мощные вычислительные системы распознают речь, понимают смысл команды, готовят ответ и отправляют его обратно, чтобы колонка воспроизвела звук уже через собственный динамик.

Микрофонная решётка: как колонка слышит в шуме

Внутри корпуса умной колонки обычно стоит не один микрофон, а несколько - от двух-трёх до семи и больше, расположенных по кругу или в ряд. Несколько микрофонов нужны не для стереозвука, а для того, чтобы вычислительная схема могла сравнить, с какой крошечной задержкой голос долетел до каждого из них, и по этой разнице определить направление на говорящего. Эта технология называется формированием диаграммы направленности: колонка электронным способом “наводится” на голос человека и заметно ослабляет звуки, приходящие с других направлений, - работающий телевизор в углу комнаты или разговор на кухне.

Отдельная сложность в том, что колонка нередко слушает команду, одновременно проигрывая собственную музыку через свой же динамик. Чтобы не путать собственное звучание с голосом хозяина, в схему встроено подавление эха: колонка заранее знает, какой звук сама сейчас воспроизводит, и вычитает его копию из того, что слышат микрофоны, оставляя в основном внешние звуки, включая обращённый к ней голос.

Кодовое слово: почему колонка не отправляет в сеть всё подряд

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

Эта локальная схема достаточно простая, чтобы работать постоянно без заметного расхода энергии, но недостаточно мощная, чтобы понимать произвольную человеческую речь целиком. Как только рисунок звука совпал с образцом кодового слова, колонка “просыпается” - обычно об этом сигнализирует световой индикатор - и лишь с этого момента начинает записывать и передавать по сети то, что говорится следом, то есть саму команду.

Путь голоса в облако

Записанный после кодового слова звук колонка отправляет по домашней сети Wi-Fi на роутер, а дальше - через провайдера в интернет, к серверам компании, которая обслуживает голосового помощника. Обработка на удалённых серверах нужна потому, что настоящее распознавание живой человеческой речи и понимание смысла произвольной фразы требует вычислительных мощностей, которые попросту не помещаются в компактный и недорогой корпус домашней колонки: серверные центры используют оборудование, рассчитанное именно на такие тяжёлые вычисления, и обслуживают одновременно огромное количество запросов от разных пользователей.

Из этого следует практическое свойство умной колонки: скорость и качество её ответа напрямую зависят от качества интернет-соединения в доме. Слабый или нестабильный сигнал Wi-Fi между колонкой и роутером обычно проявляется не как испорченный звук, а как задержка или обрыв ответа - колонка либо долго “думает”, либо переспрашивает команду.

Чтобы весь этот обмен занимал доли секунды, а не растягивался на заметную паузу, колонка обычно не ждёт полного окончания фразы, прежде чем начать отправку: запись передаётся на сервер небольшими порциями по мере произнесения, а сервер начинает разбирать уже поступившую часть, ещё не дожидаясь конца предложения. Такая потоковая передача заметно сокращает общую задержку между последним произнесённым словом и первым звуком ответа, хотя всё равно не может убрать её полностью - время всё равно уходит на дорогу сигнала туда и обратно через сеть и на саму работу распознающих программ.

Распознавание речи: от звука к тексту

На сервере первым делом происходит преобразование звуковой волны в текст. Специально обученные программы сопоставляют характерные звуковые рисунки со звуками человеческой речи и постепенно, слог за слогом, собирают из них слова и фразы, опираясь на статистику того, какие сочетания слов в языке встречаются чаще, а какие реже, - это помогает разбирать смысл даже тогда, когда часть звука смазана акцентом, тихим голосом или посторонним шумом. Итог этого этапа - обычный текст: колонка как бы “печатает” услышанную фразу, прежде чем передать её дальше.

Живая речь редко звучит идеально чисто: люди говорят с разным темпом, акцентом и громкостью, часть слов проглатывают, а в комнате параллельно может работать телевизор или шуметь вытяжка на кухне. Программа распознавания справляется с этим не только за счёт качества самой записи, но и за счёт контекста: зная, что распознанная фраза похожа и на “включи свет”, и на менее вероятное по смыслу сочетание слов, система опирается на статистику того, какие фразы вообще имеют смысл и часто произносятся в подобной ситуации, и выбирает более правдоподобный вариант. Именно поэтому качество распознавания редкого имени, необычного названия города или нестандартного технического термина обычно заметно хуже, чем распознавание типовых бытовых команд, - таких фраз системе попросту встречалось меньше при обучении.

Понимание смысла и подбор ответа

Дальше в дело вступает другая программа, которая уже не занимается звуком, а разбирает получившийся текст на смысл: определяет, что за этой фразой стоит конкретное намерение - узнать погоду, включить музыку, поставить таймер, выключить свет в комнате, - и какие именно слова в команде важны, например, название города или продолжительность таймера. В зависимости от распознанного намерения система обращается к нужному источнику данных: службе прогноза погоды, музыкальному сервису, внутреннему модулю умного дома, - получает результат и формулирует из него короткий, понятный человеку текстовый ответ.

Ответ возвращается и превращается в звук

Готовый текстовый ответ на сервере проходит обратное превращение - синтез речи, при котором программа собирает из текста звуковую дорожку, звучащую как человеческий голос, с более-менее естественными паузами и интонацией. Эта звуковая дорожка отправляется обратно тем же путём - через интернет и домашний Wi-Fi - на колонку.

Сама колонка воспроизводит полученный звук через обычный динамик, устроенный так же, как и в любой другой акустике: электрический сигнал подаётся на катушку, помещённую в постоянное магнитное поле, катушка начинает быстро двигаться взад-вперёд вслед за колебаниями сигнала и тянет за собой прикреплённую к ней мембрану, которая толкает воздух и создаёт звуковую волну, слышимую человеком.

Индикаторы и приватность

Поскольку устройство, постоянно слушающее происходящее в комнате, у многих закономерно вызывает вопросы о приватности, производители встраивают в колонку несколько уровней защиты и оповещения. Прежде всего это световой индикатор: он гаснет или горит спокойным цветом, пока колонка просто ждёт кодовое слово, и меняет цвет или начинает светиться ярче в тот момент, когда колонка “проснулась” и записывает или передаёт звук по сети, - так владелец видит, когда устройство действительно слушает его целенаправленно, а не просто фоново ждёт своё слово.

У части моделей есть и физическая кнопка отключения микрофона, которая, в отличие от программной настройки в приложении, размыкает электрическую цепь самого микрофона на аппаратном уровне: даже если предположить, что программное обеспечение колонки работает не так, как заявлено, отключённый физически микрофон не сможет улавливать звук в принципе, потому что сам электрический сигнал попросту неоткуда взяться. Это устроено похоже на то, как в некоторых ноутбуках механическая шторка физически закрывает объектив камеры, - разница лишь в том, что микрофон вместо шторки отключают на уровне электрической цепи.

Отдельный вопрос - что именно из записанного разговора и на какой срок сохраняется на удалённых серверах: у пользователя обычно есть настройки, позволяющие посмотреть историю обращений к голосовому помощнику и удалить её, а также ограничить или вовсе отключить долгосрочное хранение записей, - конкретные условия и сроки хранения различаются от производителя к производителю.

Как колонка управляет другими устройствами

Помимо ответов на вопросы, умная колонка часто выступает центральным узлом умного дома: к ней привязываются лампы, розетки, датчики и термостаты, и голосовая команда вроде просьбы выключить свет на кухне превращается в сигнал, который нужно доставить нужному устройству. Часть таких устройств подключена к той же домашней Wi-Fi сети, что и сама колонка, и получает команду напрямую по локальной сети. Другая часть работает по собственным низкоэнергетическим радиопротоколам, для которых в доме установлен отдельный маленький хаб, - тогда колонка или связанный с ней хаб передаёт команду уже по этому протоколу. В большинстве случаев команда всё равно проходит через удалённые серверы в интернете: колонка отправляет туда распознанное намерение, сервер определяет, каким именно устройством и как нужно управлять, и присылает обратно команду для конкретного прибора.

На практике вся эта цепочка при простой фразе вроде просьбы выключить свет на кухне выглядит так: колонка распознала кодовое слово, записала и отправила команду на сервер, сервер разобрал её как намерение “выключить свет” применительно к устройству с именем “кухня”, нашёл в списке привязанных к дому приборов лампу с таким названием, отправил обратно самой лампе (либо связанному с ней хабу) команду выключения и одновременно отправил колонке короткий текстовый ответ вроде подтверждения выполненного действия, который колонка тут же озвучивает. Со стороны это выглядит как одно мгновенное действие, хотя за долю секунды успевает произойти несколько отдельных сетевых обменов между разными устройствами и серверами.

Несколько колонок в разных комнатах

Если в доме несколько умных колонок - на кухне, в спальне, в гостиной, - их можно объединить так, чтобы одна и та же музыка играла во всех комнатах одновременно и синхронно, без заметного рассинхрона между помещениями. Технически это устроено не как прямая связь колонок друг с другом, а как отдельное подключение каждой из них к домашней сети и к общему управляющему сервису: этот сервис рассылает всем колонкам группы один и тот же звуковой поток и метки точного времени, по которым каждая колонка должна воспроизводить очередной фрагмент звука.

Сложность в том, что путь сигнала до каждой колонки по сети занимает чуть разное время - в зависимости от расстояния до роутера, качества сигнала Wi-Fi и загруженности сети в конкретный момент, - поэтому простое одновременное получение звука разными колонками ещё не гарантирует, что они начнут его воспроизводить синхронно. Чтобы компенсировать эту разницу, каждая колонка ненадолго придерживает полученный звук в собственной небольшой памяти и начинает его проигрывать точно в момент, указанный в метке времени, а не сразу по получении. Из-за этого между реальным моментом произнесения команды и стартом воспроизведения в мультирум-режиме возникает небольшая, обычно незаметная на слух задержка - цена, которую система платит за то, чтобы из разных комнат звучала ровно одна и та же музыка без эха и рассинхрона.

Что происходит, когда нет интернета

Поскольку самая ресурсоёмкая часть работы - распознавание речи и понимание смысла - происходит не внутри самой колонки, а на удалённых серверах, при пропадании интернета умная колонка в основном перестаёт выполнять свою главную функцию: она способна услышать кодовое слово благодаря собственной локальной схеме, но дальше отправить запись некуда, и на практике устройство либо сообщает об ошибке связи, либо просто не отвечает. Некоторые модели сохраняют без интернета лишь отдельные простые функции, не требующие распознавания речи, - например, воспроизведение музыки с подключённого по Bluetooth телефона или включение будильника, поставленного заранее. Это хорошо показывает главное: несмотря на внешний вид обычного бытового прибора, умная колонка - в первую очередь сетевое устройство, и без постоянной связи с интернетом её “ум” фактически отключается.