Хабрахабр

Встречаем Яндекс.Станцию Мини. Большая история маленького устройства

Только что мы представили наше новое устройство — Яндекс.Станцию Мини. Это компактная умная колонка, которая умеет воспроизводить музыку, управлять умным домом, ставить напоминания — и многое другое. А ещё это первая колонка с Алисой, управлять которой можно жестами.

От калибровки оптики и UX-тестирования до неочевидных особенностей работы с электропитанием. Сегодня мы расскажем читателям Хабра несколько историй об этапах создания Станции Мини. А ещё вы узнаете, что такое терменвокс и как он связан с устройством Яндекса.


Но для начала небольшой флешбэк.

IO, которую используем и мы, и партнёры). В прошлом году мы рассказывали на Хабре о разработке «большой» Яндекс.Станции (а ещё платформы Yandex. У неё мощный 50-ваттный звук. Это наше флагманское устройство с Алисой, сконструированное так, чтобы находиться в центре большой комнаты рядом с телевизором. Семь микрофонов, работающих как единый радар. Три активных динамика с широким диапазоном частот. HDMI-выход, в конце концов.

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

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

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

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

Уменьшаем устройство

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

Это снижает нагрузку, тепловыделение, а значит, и требования к электронике. Отказались от выхода на телевизор. Массивный металлический каркас Станции с пассивным радиатором для охлаждения тоже стал не нужен.

Но при этом микрофоны, как и в Станции, работают по принципу фазированных антенных решёток, или направленного микрофона. Вместо семи микрофонов оставили четыре, ведь улавливанию речи больше не мешает громкий звук. Затем определяет направление и очищает сигнал от шума, в том числе вычитает музыку. Устройство алгоритмически ищет в окружающем шуме голосовую команду со словом «Алиса». И только после этого сигнал идёт в облако и распознаётся.

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

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

И это сработало. Поэтому мы не стали экономить на качестве и сразу заказали на фабрике несколько сотен готовых колонок, которые раздали участникам закрытого бета-тестирования в Яндексе в обмен на помощь в обучении нейросети.

Никакой особой сложности устройству она не добавляет и теперь находится сбоку. Кстати, от аппаратной кнопки Mute, которая обесточивает микрофоны и отключает «слух» Алисы, отказываться не стали.

И здесь начинается самое интересное. А вот от остальных кнопок отказались.

Добавляем магию и лазер

Взгляните на фотографию ниже. Это вид сверху на обе наши Станции. Сегодня мы не будем говорить о дизайне — попробуйте найти другое важное различие.

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

Но бывает, что человек говорит по телефону или обедает, поэтому дублёр всё же нужен. Голос — наиболее естественный способ управления умными колонками. Причём не менее естественный. И мы нашли вариант.

Или просто кладёте на колонку ладонь — и будильник выключается. Представьте себе: вы совершаете жест рукой — и любимая песня становится громче.

За неё отвечает датчик глубины, который спрятан под крышкой устройства. Итак, как работает магия с жестами? Вот так он выглядит на плате при значительном увеличении (длина в реальности — всего 4 мм, толщина — и вовсе 1 мм):

Луч отражается от препятствия над колонкой и возвращается. Это вертикально излучающий инфракрасный лазер с длиной волны 940 нм в связке с принимающим фотодиодом. А так как скорость света известна, то можно в любой момент определить расстояние до объекта.

Но нет. Кажется, достаточно купить датчик и подключить его к плате, чтобы всё отлично работало.

А значит, пыль и прочий мусор могут исказить измерения. Датчик спрятан внутри, над ним находятся отверстия в корпусе (а иначе как бы он работал).

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

Невозможно изготовить две идентичные пластины. Более того, каждая защитная пластина производится методом литья и уникальна в буквальном смысле. Если это не учесть, то мы получим погрешность в измерении расстояния. А значит, каждая из них по-своему влияет на распространение луча.

Проще говоря, чтобы устройство воспринимало препятствие на высоте 15 см именно на этой высоте. Каждая новая Станция Мини проходит на конвейере этап калибровки датчика, чтобы учесть индивидуальные особенности линзы. Берутся листы из материалов, похожих на фотобумагу, но не пропускающих ИК-диапазон, и статично размещаются на известной высоте. Калибровка примерно так и происходит.

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

Чистовые экземпляры позже отправили на производство.

Стабилизируем питание

Самое время вспомнить об электропитании, о котором мы обещали рассказать выше.

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

Попробуйте угадать, что с ним не так? Резкие переходы к низким частотам. А чем низкие частоты отличаются от высоких? Амплитудой колебаний диафрагмы динамика. Чем она выше, тем больше энергии потребляет устройство.

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

Именно на ней динамик создаёт наибольшую нагрузку. Чтобы избежать этой проблемы, мы тестировали прототипы на звуке частотой 100 Гц. Более того, мы понимаем, что люди могут подключать собственные блоки питания, поэтому при разработке заменили внутренние преобразователи питания (так называемые DC-DC конвертеры) теми, которые способны выдержать кратковременные просадки напряжения. Наш внешний блок питания хоть и выглядит, как типовая зарядка с USB Type-C на 1,5 ампера, но готов к таким ситуациям. Конечно же, сторонние блоки питания бывают разные, мы их не тестируем и не рекомендуем, но решение с заменой преобразователей помогает.

Мелочь, а приятно. Кстати, ещё мы учли пожелания пользователей: у белой Станции Мини белый блок питания и провод.

Придумываем жесты

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

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

Пользователи уже привыкли просто класть руку на будильник, телефон, умные часы, чтобы остановить звук. Мы быстро определились с жестом «Алиса, хватит».

У нас было два варианта-победителя. А вот с жестом регулировки звука всё оказалось не так очевидно. Но достаточно ли просто поместить руку над колонкой: чем больше расстояние, тем выше громкость? В обоих подразумевалось, что звук регулируется с помощью воображаемой вертикальной шкалы над колонкой. Или лучше взять относительную шкалу и перемещать ладонь вверх/вниз для плавного изменения громкости?

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

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

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

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

Добавляем гравицапу

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

У нас же есть только один инфракрасный луч, поэтому управлять можно чем-то одним. Классический инструмент Льва Термена использует электромагнитное поле и две антенны: для управления громкостью и высотой звука. Громкость мы взяли за константу.

А музыкант-экспериментатор Антон Маскелиаде и студия Monoleak создали для синтезатора инструментальные стили: от привычных пианино и гитары до необычных мечей и кастрюли. Разработать новый режим нам помог Пётр Термен — композитор и исполнитель на терменвоксе, правнук Льва Термена. В коллекции уже есть несколько десятков инструментов, и она будет пополняться. Можно играть даже космическую музыку — достаточно сказать: «Алиса, дай звук гравицапы».

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

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

***

Сегодня мы показали, что даже за небольшим и на первый взгляд простым устройством скрывается целая история и многочисленные технологические решения. Какие отдельные рассказы вы бы хотели услышать более подробно?

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть