Um telefone costuma ser descrito pelo que ele faz — chamadas, fotos, aplicativos. Descreva-o, em vez disso, pelo que ele contém: um microfone suficientemente calibrado com amostragem a 48 kHz, duas ou três câmeras, uma lanterna LED potente, um motor de vibração, um acelerômetro e uma tela que pode piscar em uma taxa precisa. Isso não é um telefone. É um pequeno laboratório com tela sensível ao toque.

A maioria dos aplicativos usa uma dessas partes por vez, para a finalidade pretendida. As medições interessantes começam quando você as utiliza de forma não convencional e combinada: a lanterna como fonte de luz para a câmera, o motor de vibração como excitador para o acelerômetro, um segundo telefone como a outra metade de um experimento. Este post é um mapa desse território, em três níveis de ambição crescente.

Nível 1: um sensor, ouvindo passivamente

As ferramentas mais simples apontam um sensor para o mundo e analisam o que retorna:

A disciplina unificadora: a captura deve ser tão bruta quanto a plataforma permitir. No Android, isso significa solicitar o caminho de microfone não processado — sem controle automático de ganho, sem supressão de ruído reescrevendo o próprio sinal que você deseja medir — e travar a exposição automática e o balanço de branco da câmera sempre que a medição depender da estabilidade dos níveis de luz.

Nível 2: o telefone excita e, em seguida, mede a própria excitação

Um telefone também possui atuadores, e emparelhar um atuador com um sensor transforma a escuta passiva em um instrumento ativo:

As ferramentas ativas têm uma propriedade que falta às passivas: o estímulo é conhecido. Quando você controla a excitação, pode criar recursos com base em proporções e respostas, em vez de níveis absolutos — o que torna os resultados comparáveis entre diferentes modelos de telefone sem precisar calibrar cada dispositivo.

Nível 3: dois telefones, um experimento

Algumas grandezas são intrinsecamente bilaterais: quanto som uma parede bloqueia, quanta luz uma janela transmite. Um único telefone não pode estar nos dois lados ao mesmo tempo — mas dois podem, e a maioria das casas tem dois.

O truque que faz isso funcionar sem equipamentos de laboratório é a proporção de mesmo receptor. O telefone emissor reproduz um estímulo autoidentificável — uma varredura de tom em etapas ou uma tela piscando a uma taxa fixa. O telefone de medição captura duas vezes: uma com o caminho livre até o emissor (a referência) e outra através da parede ou janela. Apenas a proporção dessas duas capturas, feitas no mesmo microfone ou câmera, é usada como resposta. O volume do emissor, a sensibilidade do receptor, a sala — tudo isso se anula. Assim, os dois telefones não precisam de sincronização de relógio, cabo ou calibração entre si. (Passo a passo completo no post sobre isolamento acústico.)

Regra de design por trás dos três níveis: nunca confie em um nível absoluto. Os microfones e câmeras dos telefones variam de acordo com o modelo; ressonâncias, taxas de decaimento, padrões de domínio de ordem e proporções de mesmo receptor geralmente não variam. Recursos criados a partir de grandezas relativas funcionam em diferentes dispositivos; recursos criados a partir de valores absolutos exigem calibração contínua para cada aparelho.

De leituras isoladas a um catálogo

Uma leitura por si só é apenas uma curiosidade. As leituras se tornam conhecimento quando se associam a coisas: este melão, esta roda, esta parede, medidos hoje e novamente na próxima semana. Assim, cada medição pode ser registrada sob um objeto em um catálogo — Categoria → Objeto → Caso de uso → Medição — e qualquer medição pode receber um rótulo de referência real após o fato: você bateu no melão, depois o abriu e registrou o que encontrou. Esse ciclo fechado, repetido por muitos usuários e muitos objetos, é como os classificadores de teste de batida são treinados com frutas reais em vez de amostras de laboratório.

E para tarefas em vez de leituras — como afinar uma roda de bicicleta ou verificar o isolamento de uma sala — atividades guiadas encadeiam várias ferramentas na ordem certa e dizem o que fazer entre as medições, gravando os resultados no mesmo catálogo. O post sobre afinação de raios detalha a primeira delas.

Para onde isso está caminhando

A lista de ferramentas não para de crescer — e a arquitetura foi construída de forma que adicionar uma ferramenta seja um processo cumulativo: uma nova entrada em um registro, sem nunca refazer o que já foi salvo. Tudo roda no próprio dispositivo, offline, com resultados em menos de um segundo; o post sobre offline-first explica por que essa restrição é estrutural, e não apenas um item de checklist.