Перейти к содержанию

Умные колонки, прошивки, релизноутсы и облака: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 12: Строка 12:
* Почему нет релизноутсов прошивок!
* Почему нет релизноутсов прошивок!
* Опять ничего нового в прошивке...
* Опять ничего нового в прошивке...
Ну и особо "хитрые" участники комьюнити задаются вопросом "А что будет, если поломать прошивку подписной колонки?" 😈
А особо "хитрые" участники комьюнити задаются вопросом "А что будет, если поломать прошивку подписной колонки?" 😈


Давайте разберёмся вместе.
Давайте разберёмся вместе.
Строка 47: Строка 47:


Точно так же и с воспроизведением музыки. Что здесь самое главное:
Точно так же и с воспроизведением музыки. Что здесь самое главное:
* Распознаёт команду - облако.
* Распознаёт команду - '''облако'''.
* Выделяет интент из запроса - облако.
* Выделяет интент из запроса - '''облако'''.
* Что отправить колонке в ответ на запрос - тоже решает облако.
* Что отправить колонке в ответ на запрос - тоже решает '''облако'''.
* Активирует тот или иной сервис (Такси, КП, итд) - опять облако.
* Активирует тот или иной сервис (Такси, КП, итд) - опять '''облако'''.
* Будет ли сервис работать с данным экземпляром колонки - облако.
* Будет ли сервис работать с данным экземпляром колонки - '''облако'''.
* Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова облако.
* Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова '''облако'''.




Что остаётся на стороне колонки?
Что остаётся на стороне колонки?
* Выделить из шума команду, отправить на сервер.
* Выделить из шума команду, отправить на сервер.
* В зависимости от команды с сервера озвучить полученный текст илли открыть медиапоток.
* В зависимости от команды с сервера озвучить полученный текст или открыть медиапоток.
* Воспроизвести поток.
* Воспроизвести этот поток.




== Так что с прошивкой? ==
== Обновы и release notes ==




Строка 71: Строка 71:




== А что хранится в колонке? ==
== Что хранится в колонке? ==




Строка 85: Строка 85:
* Все настраиваемые параметры ("Семейный фильтр", "Отвечать одной колонкой", "Узнавать детские голоса", настройки новостей, итд);
* Все настраиваемые параметры ("Семейный фильтр", "Отвечать одной колонкой", "Узнавать детские голоса", настройки новостей, итд);
* Устройства и сценарии Умного дома;
* Устройства и сценарии Умного дома;
  Все "серверные" данные останутся в целости и сохранности не только при отключении колонки, но и при её перевозке на новое место, замене, отвязке от аккаунта, итд.
  Все "серверные" данные останутся в целости и сохранности не только при отключении колонки, но и при её перевозке на новое место, замене, отвязке/привязке к другому аккаунту, итд.





Версия от 09:00, 12 ноября 2020

Колонка обновилась, а что поменялось?

В комьюнити нередко возникают вопросы такого рода:

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

Давайте разберёмся вместе.

Как устроены умные колонки

Практически все - одинаково:

  1. Микрофоны слушают окружающий шум и непрерывно ищут команду активации.
  2. Если активационное слово найдено - вся следующая "громкая часть" до тишины также очищается от шумов.
  3. Очищенный сэмпл уходит на облачные сервера для распознавания.
  4. В распознанном запросе выявляется интент (намерение пользователя).
  5. Колонке отправляется команда (и совсем необязательно содержащая запрос или его часть).
Например: 
- на запрос "Расскажи про погоду" из облака возвращается готовый текст с прогнозом погоды.
- на фразу в режиме болталки - рандомный ответ всё той же облачной нейронки.
- на запрос изменения громкости... команда изменения громкости, неожиданно)


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

  • Получив команду, колонка направляет запрос на сервис Кинопоиска.
  • Кинопоиск сообщает, что такого фильма/сериала в базе нет.
  • Колонка получает сообщение и направляет запрос уже для поиска "...в сети" в сервис Яндекс.Видео.
  • Сервис возвращает список фильмов.


Последующими командами можно пролистать галерею (при этом, возможно, будут подгружаться дополнительные данные) и запустить выбранное видео. При этом:

  • Колонка откроет соединение с удалённым сервисом видео (ok, youtube, эфирные стриминги)
  • обрабатывает получаемый поток и выводит его на экран.


Точно так же и с воспроизведением музыки. Что здесь самое главное:

  • Распознаёт команду - облако.
  • Выделяет интент из запроса - облако.
  • Что отправить колонке в ответ на запрос - тоже решает облако.
  • Активирует тот или иной сервис (Такси, КП, итд) - опять облако.
  • Будет ли сервис работать с данным экземпляром колонки - облако.
  • Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова облако.


Что остаётся на стороне колонки?

  • Выделить из шума команду, отправить на сервер.
  • В зависимости от команды с сервера озвучить полученный текст или открыть медиапоток.
  • Воспроизвести этот поток.

Обновы и release notes

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

  • Запустили одновременно облачную часть и прошивку. Возник баг. А где он возник? Что из двух частей или их взаимодействия надо немедленно исправить? Ведь одновременно нарушена работа, возможно, десятков тысяч устройств. А в случае поочерёдного ввода найти проблему в несколько раз проще.
  • Подготовили прошивку, начали тестировать работу с облачной частью. Выпустили. Если обнаружилась ошибка в облачной части - то снова не надо трогать прошивку. А вот если баг нашёлся именно в прошивке - когда облачная часть уже вовсю работает - вот только тогда есть необходимость трогать прошивку, накатив исправления.
Именно поэтому в релизноутсах нет ничего "вкусного", а список изменений - практически всегда сухое упоминание о багфиксах.

Что хранится в колонке?

Где что выполняется - уже понятно; теперь попробуем разобраться, где что хранится. В колонке - совсем немного, например:

  • Таймеры и будильники;
  • Прогресс последнего воспроизведённого видео и музыки;
  • История навигации (по которой можно вернуться серией команд "Назад").
После перезагрузки колонки большинство этих данных пропадёт.

Ну, а на серверах Яндекса (Паспорт, облачные сервисы, итд), в свою очередь:

  • Дела и напоминания;
  • Вся информация об аккаунте, подписках, покупке фильмов;
  • Все настраиваемые параметры ("Семейный фильтр", "Отвечать одной колонкой", "Узнавать детские голоса", настройки новостей, итд);
  • Устройства и сценарии Умного дома;
Все "серверные" данные останутся в целости и сохранности не только при отключении колонки, но и при её перевозке на новое место, замене, отвязке/привязке к другому аккаунту, итд.

Там ещё про подписную было...

Ах, да) "взлом" подписной колонки. Смысла в этом ровно столько, сколько в попытке "взломать" банковскую платёжную карточку. То есть, нисколько. Ведь информация о денежном балансе, кредитная история, тарифы и доступные возможности хранятся не в карте, а самой в платёжной системе. Точно так же, как информация о подписке и возможностях колонки определяется не колонкой, а облаком.