[ОНОВЛЕНО] Функція Google Pixel 2 «Зараз грає» використовує AmbientSense, щоб мінімізувати розряд акумулятора

Нова функція розпізнавання музики «Зараз грає» Google Pixel 2 заснована на технології під назвою AmbientSense, яка обіцяє мінімальний розряд батареї.

ОНОВЛЕННЯ 16.10.2017: Google звернувся до нас, щоб повідомити, що "Зараз грає" не базується на AmbientSense. Ми відповіли на запит щодо додаткової інформації про цю функцію та оновимо цю статтю з їхньою відповіддю.

ОНОВЛЕННЯ 19.10.2017: Ми дізналися більше про те, як працює функція Now Playing. Будь ласка прочитайте цю наступну статтю для більш детальної інформації.


The Google Pixel 2 і Pixel 2 XL є офіційними після багатьох місяців витоків. Однією з найбільш цікавих (і суперечливих) функцій є «Зараз відтворюється», яка визначає музику, що відтворюється у фоновому режимі, і показує, що відтворюється на екрані блокування. Ми вперше почули про цю функцію за кілька тижнів до запуску, але ми не мали багато інформації про цю функцію, окрім того, що Google повідомив нам, що вона може працювати в автономному режимі, не надсилаючи жодних даних у хмару (останнє особливо важливо у світлі

нещодавні відкриття щодо Google Home Mini). Після вивчення функції «Зараз грає» ми виявили, що ця функція заснована на багаторічній технології під назвою AmbientSense який обіцяє мінімальний розряд батареї.

Функція «Зараз грає» Google Pixel 2

Про це ми вперше дізналися під час аналізу програми Pixel Ambient Services, яка доступна в Google Play Store.

Але не сама програма повідомила нам про підключення AmbientSense. Натомість це була назва APK, попередньо встановленого в /system/priv-app на Google Pixel 2. APK під назвою AmbientSense відповідає назві технології, описаній у дослідницькій статті, представленій на Міжнародна конференція IEEE 2013 з всеосяжних комп’ютерів і комунікацій Семінар дослідників М. Россі, С. Фіз, О. Амфт, Н. Брауне, С. Мартіс і Г. Tröster.

Що таке AmbientSense і як він пов’язаний із «Зараз грає?»

Ми знайшли веб-сторінку, яка відображає першу сторінку цього документа тут. Відповідно до анотації статті, AmbientSense є "система розпізнавання навколишнього звуку в реальному часі на смартфоні." Що найцікавіше в AmbientSense, так це те, що його можна реалізувати як програму для Android і йому потрібен лише доступ до мікрофона пристрою для аналізу навколишніх звуків.

У статті описано два режими обробки: автономний і режим сервера. Автономна обробка відбувається на смартфоні лише шляхом порівняння зразків звуку з локально збереженою базою даних. Для порівняння, режим сервера надсилає аудіофункції на сервер, який потім надсилає результати класифікації назад. Зрозуміло, що функція Google «Зараз грає» запускає AmbientSense в «автономному» режимі, оскільки вона може працювати в автономному режимі, не надсилаючи нічого в Google.

Далі в статті описано, як команда дослідників перевіряла продуктивність розпізнавання, час роботи, навантаження на ЦП, і затримку розпізнавання як в автономному, так і в режимі сервера в наборі з 23 класів навколишнього звуку. Вони виявили, що програма AmbientSense працювала до 13,75 годин на Samsung Galaxy SII і до 12,87 годин на Google Nexus One. Майте на увазі, скільки років цим пристроям; Google Nexus One був випущений у 2010 році з акумулятором ємністю 1400 мАг і є динозавром у порівнянні з Pixel 2. Ми можемо лише уявити, наскільки вдосконалено AmbientSense завдяки тестуванню Google.

Чи можливо перенести функцію «Зараз грає» на телефони Pixel 2, які не належать Google?

Я поки не можу нічого обіцяти, але я думаю, що це можливо. Ми працюємо з визнаним учасником XDA Quinny899 щоб це сталося. Для того, щоб функція «Зараз грає» працювала на смартфонах Google Pixel/Nexus першого покоління, ми вважаємо, що потрібні деякі речі:

  • Pixel Ambient Services (AmbientSense.apk)
  • База даних зіставлення звуку
  • Деякі відсутні бібліотеки
  • Зміни системного інтерфейсу користувача для зовнішнього відображення
  • Кореневий доступ (для надсилання вищевказаних файлів до /system)

Скріншоти: Кірон Квінн (Quinny899)

Зараз ми вже маємо базу даних зіставлення аудіо, яка називається "matcher.leveldb". Це бібліотека обсягом 53 Мб на основі бібліотеки Google LevelDB. Це база даних, на яку покладається AmbientSense, щоб узгодити аудіо в автономному режимі.

Що стосується бібліотек, ми знаємо, як вони називаються і де їх шукати, але потрібен деякий час, перш ніж ми зможемо отримати в руки Pixel 2, щоб витягти їх.

Нарешті, необхідно змінити SystemUI, оскільки функція «Зараз відтворюється» записує текст у навколишнє середовище відображення — те, що наразі неможливо для функції відображення навколишнього середовища, знайденої на першому покоління Pixel.

Що стосується роботи на телефонах, які не належать Google, ми перевіримо це після того, як запрацює на телефонах Google Pixel і Nexus. Якщо або коли ми зробимо прорив у забезпеченні роботи цієї функції, перше місце, де ви дізнаєтеся про це, — це портал XDA, тож слідкуйте за новинами, щоб дізнатися більше!