[ATUALIZADO] O recurso "Reproduzindo agora" do Google Pixel 2 usa AmbientSense para minimizar o consumo de bateria

O novo recurso de reconhecimento de música “Now Playing” do Google Pixel 2 é baseado em uma tecnologia chamada AmbientSense, que promete consumo mínimo de bateria.

ATUALIZAÇÃO 16/10/2017: O Google entrou em contato conosco para nos informar que o recurso 'Reproduzindo agora' não é baseado no AmbientSense. Respondemos solicitando mais informações sobre esse recurso e atualizaremos este artigo com a resposta deles.

ATUALIZAÇÃO 19/10/2017: Aprendemos mais detalhes sobre como funciona o Now Playing. Por favor leia este artigo de acompanhamento para mais detalhes.


O Google Pixel 2 e Pixel 2 XL são oficiais após muitos meses de vazamentos. Um dos recursos mais interessantes (e controversos) é o “Now Playing”, que detecta a música tocando em segundo plano e mostra o que está tocando na tela de bloqueio. Ouvimos falar desse recurso pela primeira vez algumas semanas antes do lançamento, mas não tínhamos muitas informações sobre o recurso além do Google nos dizer que ele pode funcionar offline sem enviar dados para a nuvem (o último é especialmente importante à luz de

revelações recentes sobre o Google Home Mini). Depois de nos aprofundarmos no recurso Now Playing, descobrimos que o recurso é baseado em uma tecnologia antiga chamada AmbienteSense que promete consumo mínimo de bateria.

Recurso em reprodução do Google Pixel 2

Fomos informados sobre isso pela primeira vez quando analisamos o aplicativo Pixel Ambient Services, que está disponível na Google Play Store.

Mas não foi o aplicativo em si que nos alertou sobre a conexão AmbientSense. Em vez disso, era o nome do APK pré-instalado em /system/priv-app no ​​Google Pixel 2. Chamado de AmbientSense, o APK corresponde ao nome de uma tecnologia descrita em um artigo de pesquisa apresentado em a Conferência Internacional IEEE de 2013 sobre Computação Pervasiva e Workshops de Comunicações por pesquisadores M. Rossi, S. Taxa, O. Amft, N. Braune, S. Martins e G. Troster.

O que é AmbientSense e como ele se relaciona com "Em execução?"

Encontramos uma página da web que exibe a primeira página deste artigo aqui. De acordo com o resumo do artigo, AmbientSense é um "sistema de reconhecimento de som ambiente em tempo real em um smartphone." O mais interessante do AmbientSense é que ele pode ser implementado como um aplicativo Android e só precisa de acesso ao microfone do aparelho para analisar os sons ambientes.

Existem dois modos de processamento descritos no artigo: Autônomo e modo servidor. O processamento autônomo ocorre no smartphone apenas comparando amostras de áudio com um banco de dados armazenado localmente. Em comparação, o modo servidor envia recursos de áudio para um servidor que então envia de volta os resultados da classificação. Claramente, o recurso “Now Playing” do Google está executando o AmbientSense no modo “autônomo”, pois pode funcionar offline sem enviar nada ao Google.

O artigo prossegue descrevendo como a equipe de pesquisadores testou o desempenho de reconhecimento, tempo de execução, carga de CPU, e atraso de reconhecimento tanto no modo autônomo quanto no modo servidor em um conjunto de 23 classes de som ambiente. Eles descobriram que o aplicativo AmbientSense funcionou por até 13,75 horas em um Samsung Galaxy SII e até 12,87 horas no Google Nexus One. Lembre-se da idade desses dispositivos; o Google Nexus One foi lançado em 2010 com bateria de 1.400 mAh e é um dinossauro em comparação ao Pixel 2. Só podemos imaginar o quanto o AmbientSense foi refinado através dos testes do Google.

É possível portar o recurso Now Playing em telefones que não sejam do Google Pixel 2?

Ainda não posso fazer promessas, mas acho que é possível. Estamos trabalhando com o Colaborador Reconhecido do XDA Quinny899 fazer acontecer. Para que o recurso Now Playing funcione nos smartphones Google Pixel/Nexus de primeira geração, existem algumas coisas que acreditamos serem necessárias:

  • Serviços ambientais de pixel (AmbientSense.apk)
  • Banco de dados de correspondência de áudio
  • Algumas bibliotecas desaparecidas
  • Modificações do SystemUI na exibição do ambiente
  • Acesso root (para enviar os arquivos acima para /system)

Crédito das capturas de tela: Kieron Quinn (Quinny899)

Atualmente já temos o banco de dados de correspondência de áudio em nossa posse, chamado "matcher.leveldb". É uma biblioteca de armazenamento de 53 MB baseada no Google NívelDB. Este é o banco de dados no qual o AmbientSense depende para fazer a correspondência de áudio no modo autônomo.

Quanto às bibliotecas, sabemos como são chamadas e onde procurá-las, mas levará algum tempo até que possamos colocar as mãos em um Pixel 2 para extraí-las.

Finalmente, o SystemUI precisa ser modificado porque o recurso "Now Playing" grava texto no ambiente exibição - algo que atualmente não é possível no recurso de exibição ambiente encontrado no primeiro geração Pixel.

Quanto a fazer isso funcionar em telefones que não são do Google, testaremos isso depois de fazê-lo funcionar nos telefones Google Pixel e Nexus. Se ou quando fizermos um avanço no funcionamento desse recurso, o primeiro lugar onde você saberá sobre ele será no Portal XDA – fique ligado para mais informações!