Função do app · 10

Comparação de Medições

Guarda a curva medida agora e compara com a de outro dia, outra sala ou outro ajuste — com a diferença desenhada numa faixa própria e resumida numa inclinação em dB por oitava. Introduzida na v0.14.0.

Como usar no app

Onde encontrar

Na aba RTA, seção "Medições salvas" abaixo dos controles. A aba T.F. tem a sua própria lista, com a mesma mecânica de salvar, sobrepor e renomear — mas sem a faixa de diferença: a curva de lá é relativa (só a forma importa), enquanto a do RTA está em dB SPL calibrado e por isso pode ser comparada em valor absoluto entre datas e salas.

Salvar é integrar, não fotografar

"Salvar medição atual" abre duas opções:

A distinção importa: um quadro de análise é um instante sorteado de um sinal que ainda está se movendo. Salvo com média Fast, ele carrega o que o ruído estava fazendo naqueles 125 ms. A captura integrada é uma medição.

Ler a diferença

Ative uma curva salva pelo círculo colorido ao lado do nome e ela aparece sobreposta ao gráfico. Com a faixa de diferença ligada, abaixo do gráfico aparece uma faixa mostrando ao vivo menos salva em ±12 dB de fundo de escala, com guias tracejadas em ±6.

O motivo da faixa separada é de escala: no eixo principal do RTA, de 90 dB de extensão, uma diferença de 3 dB ocupa 3% da altura e passa despercebida — e 3 dB é justamente a ordem de grandeza que se persegue mexendo em EQ. Na faixa, a mesma diferença ocupa um quarto dela.

Abaixo do gráfico, cada curva ativa ganha uma linha de leitura com a inclinação da diferença, do tipo +1,8 dB/oitava · mais agudo. Quando a diferença não tem forma de inclinação, a linha diz "diferença não é uma inclinação" em vez de um número (veja a guarda de qualidade do ajuste).

O botão de congelar (pausa, no topo da tela) segura o gráfico para você ler com calma. Ele congela só a exibição: detectores, medidores e uma captura em andamento continuam rodando por baixo, então ao descongelar você vê o presente, não um replay.

Os ajustes viajam junto com a curva

Cinco ajustes mudam o significado de uma curva do RTA: fração de oitava, ponderação, compensação de largura de banda, calibração e perfil de correção de microfone. Comparar uma curva salva em 1/3 ponderada em A contra uma leitura ao vivo em 1/12 sem ponderação mostra uma diferença que não existe — ela veio dos ajustes, não da sala.

Por isso os cinco são guardados junto com a curva e aparecem embaixo do nome dela na lista (1/3 · A · calibrado · 5 s). Quando não batem com o que está na tela, um triângulo de atenção marca a leitura. O app não recusa a comparação — às vezes é exatamente ela que se quer —, só não deixa passar despercebido.

Exemplo de uso: sala vazia contra sala cheia

  1. Com a casa ainda vazia, ponha ruído rosa pelo PA (aba Gerador) num nível de trabalho.
  2. Deixe a média em Slow, toque em "Salvar medição atual" e escolha "Capturar 5 s". Dê o nome "Vazia".
  3. Com a casa cheia, antes de abrir o show, repita exatamente o mesmo procedimento: mesmo microfone, mesma posição, mesmo nível. Nome: "Cheia".
  4. Ative "Vazia" e leia a faixa de diferença: ela mostra quanto de cada banda a plateia absorveu — tipicamente uma queda que cresce com a frequência.

Exemplo de uso: o show de hoje contra o da semana passada

  1. Com o show rodando, toque em "Salvar medição atual" e escolha "Capturar o show". Deixe integrando.
  2. No fim, toque em "Encerrar". A curva salva é o espectro médio de longo prazo daquela noite.
  3. Na próxima apresentação, repita — mesmo microfone, mesma posição, mesma calibração.
  4. Ative a curva da semana passada e leia a inclinação: +1,8 dB/oitava · mais agudo responde a pergunta direto.
O que a comparação entre shows não sabe A diferença entre duas noites contém o sistema e o repertório. Se o setlist mudou muito, parte do "mais grave" é a música, não o PA. E se o microfone mudou de posição, a diferença que você lê é a posição. O app não tem como checar nenhuma das duas coisas — na aba RTA não existe coerência para denunciar um estímulo trocado, como existe na Função de Transferência.
A partir daqui Como o Leq por banda, a interpolação da curva salva e o ajuste de inclinação são calculados por dentro. Não é preciso entender nada disso para usar o app.

Leq por banda — a captura

Uma captura acumula potência linear por banda ao longo da janela e converte para decibéis só no fim, o que dá o nível equivalente contínuo daquela banda no período1:

Média de energia por banda ao longo da janela
$$ \bar{P}_b = \frac{\sum_i P_b[i]\,\Delta t_i}{\sum_i \Delta t_i} \qquad\qquad L_b = 10\log_{10}\bar{P}_b + \text{offset} $$

Cada quadro entra pesado pela sua própria duração $\Delta t_i$, não como uma amostra a mais — quadros não chegam em intervalos perfeitamente regulares, e tratá-los como se chegassem deixaria a média enviesada pelos momentos em que a UI atrasou.

Por que não somar decibéis A média de dois valores em dB não é o nível da energia somada. Um segundo a uma potência de 1,0 seguido de um segundo a 100,0 dá média de energia 50,5 — 17,0 dB. Fazer a média dos decibéis (0 dB e 20 dB) daria 10 dB: 7 dB de erro. E o erro cresce exatamente quando o sinal se mexe mais, que é o caso para o qual a captura existe.

A janela aberta ("capturar o show") é o mesmo acumulador sem prazo: um Leq por banda de duas horas é a mesma conta de um de cinco segundos. Se a grade de bandas mudar no meio da captura (você trocou a fração de oitava), o quadro é recusado e a captura é descartada — metade de uma grade promediada com metade de outra seria uma curva que nunca existiu.

A curva de diferença

Uma curva salva em 1/3 de oitava e exibida em 1/12 não compartilha quase nenhum centro de banda, então a diferença não pode casar as duas por índice — isso compararia 250 Hz com 1 kHz em silêncio. A curva salva é interpolada em log-frequência no centro de cada banda ao vivo:

Interpolação logarítmica entre os dois pontos que cercam f
$$ L_{\text{salva}}(f) = L_a + \frac{\ln f - \ln f_a}{\ln f_b - \ln f_a}\,(L_b - L_a) \qquad\qquad \Delta(f) = L_{\text{ao vivo}}(f) - L_{\text{salva}}(f) $$

Fora da faixa que a curva salva cobre, a interpolação devolve nada em vez de extrapolar um número que ninguém mediu.

Por que a faixa não tem suavização própria A curva salva é constante, então $\Delta(t) = L_{\text{ao vivo}}(t) - L_{\text{salva}}$ já carrega exatamente a suavização que o detector de nível dá às barras. Um segundo integrador em cima não estabilizaria a leitura: atrasaria — a faixa passaria a responder depois das barras, e nenhuma das duas seria confiável. A alavanca de estabilidade é a média que já está na tela (Fast, Slow, 1 min).

Inclinação — a reta ajustada

Uma curva de 31 bandas é mais detalhe do que a pergunta "está mais agudo que da outra vez?" pede. A resposta é uma inclinação: a reta de mínimos quadrados que melhor descreve a diferença, ajustada sobre $x = \log_2 f$ para que o coeficiente angular saia diretamente em dB por oitava.

Ajuste por mínimos quadrados sobre log₂ da frequência
$$ b = \frac{\sum_i (x_i - \bar{x})(\Delta_i - \bar{\Delta})}{\sum_i (x_i - \bar{x})^2} \qquad\qquad a = \bar{\Delta} - b\,\bar{x} $$

O coeficiente $b$ é a leitura: positivo significa que a curva sobe em direção aos agudos — mais agudo. O ajuste é feito sobre as bandas, não sobre os bins da FFT, e isso é deliberado: bandas fracionárias já são espaçadas uniformemente em log, então cada oitava tem o mesmo peso. Sobre bins, a oitava mais aguda — dona de metade deles — decidiria a resposta sozinha.

A guarda de qualidade do ajuste

Uma inclinação só significa alguma coisa se a diferença tiver de fato a forma de uma reta. Junto com $b$, o app calcula quanto da variação da curva essa reta explica:

Fração da variação explicada pela reta
$$ r^2 = \frac{S_{xy}^{\,2}}{S_{xx}\,S_{yy}} \qquad\text{com}\qquad S_{xy} = \sum_i (x_i - \bar{x})(\Delta_i - \bar{\Delta}) $$

Abaixo de 0,35 o app não mostra inclinação nenhuma — mostra "diferença não é uma inclinação".

A leitura errada que essa guarda impede Se hoje subiu o grave e o agudo (alguém empurrou uma curva de loudness), a reta ajustada fica praticamente horizontal e o número diria "sem mudança de timbre" — o que é redondamente falso, mudou muito. Um resumo que às vezes está confiantemente errado é pior do que resumo nenhum, ainda mais numa ferramenta que se usa para decidir mexer no sistema.

Pelo mesmo motivo, uma diferença perfeitamente plana também não recebe leitura: uma reta horizontal sobre dados sem variação nenhuma tem $S_{yy} = 0$, e chamar isso de ajuste perfeito seria aritmética, não significado.