Como usar no app
Onde encontrar e requisito
Aba T.F. na barra de abas. Ela só fica disponível com uma interface de 2 ou mais entradas conectada (USB ou Lightning) — com apenas o microfone embutido do aparelho, a tela mostra: "Interface multicanal necessária — A função de transferência compara dois canais ao vivo — a saída da mesa (referência) e um microfone de medição. Conecte uma interface USB/Lightning com 2 ou mais entradas e escolha os canais em Ajustes › I/O."
Como medir
O próprio app resume o procedimento numa seção "Como medir" na tela; os quatro passos:
- Na aba Gerador, escolha Ruído Rosa ou Varredura e toque em Reproduzir — esse sinal é a referência da medição.
- Nesta aba, em Ajustes › I/O, defina o canal de Referência como o retorno elétrico desse sinal (saída da mesa/interface) e o canal de Microfone como o microfone captando o alto-falante.
- Deixe o sinal tocando continuamente por pelo menos 3 segundos — o localizador de atraso analisa em lote esse tanto de áudio dos dois canais para travar a leitura de tempo/distância, e reroda cerca de uma vez por segundo. O botão ↺ no topo zera a média corrente e força uma nova leitura.
- Ajuste o ganho de cada canal (mesa/interface) pelos indicadores "Mic"/"Ref" no topo da tela: verde é o nível ideal, amarelo está perto do clip e vermelho já clipou.
Controles da tela
- Menu de fração de oitava — 1/3 a 1/48 (sem 1/1: fração larga demais para ler a resposta de uma sala).
- Segmentado Média: Fast (125 ms), Slow (1 s) ou 1 min.
- Quatro botões de mostrar/ocultar curva: Fase, Referência, Medição, H — cada um liga ou esconde sua curva no gráfico; a legenda logo abaixo mostra o que está visível, incluindo uma entrada por medição salva ativa.
- Botão de reiniciar (seta circular), junto da leitura de atraso — zera a média corrente de
Gxx/Gyy/Gxye a leitura de delay; útil ao mudar o microfone de posição ou trocar o sinal de referência.
Leitura de atraso e níveis de sinal
No topo da tela: "+X,X ms · Y,YY m" quando a confiança da leitura passa de 0,3; caso contrário, "Delay: —". Ao lado, dois indicadores — Mic e Ref — mostram o nível de sinal de cada canal em tempo real: verde (nível seguro), amarelo (perto do clipping) ou vermelho (já clipou, aceso por 1,5 s depois do evento para não passar despercebido). Ajuste o ganho na mesa/interface até os dois ficarem verdes — um clipe em qualquer canal distorce a estimativa de H e derruba a coerência.
Medições salvas
O botão "Salvar medição atual" (desabilitado sem bandas na tela) guarda a curva de medição (o canal do microfone, não a curva H) exibida naquele instante, com um nome escolhido num alerta. Cada medição salva aparece numa lista abaixo do gráfico: toque no círculo ao lado do nome para mostrá-la ou escondê-la como uma sobreposição tracejada no gráfico — útil para comparar "antes/depois" de um ajuste no sistema. O menu "…" de cada linha oferece Renomear e Excluir.
Exemplo de uso: alinhar o delay de um subwoofer com o array principal
- Envie o mesmo sinal (ruído rosa da aba Gerador) para o subwoofer e para o array principal.
- Em Ajustes › I/O, defina o canal de Referência como o envio elétrico do processador e o canal de Microfone como um microfone de medição posicionado no ponto médio entre sub e array (ou no ponto de escuta que importa).
- Deixe o ruído tocando continuamente por alguns segundos e observe a leitura de atraso no topo da tela.
- Ajuste o delay do subwoofer no processador do sistema até esse número chegar perto de 0 ms.
- Confira visualmente: a faixa de cruzamento entre sub e array deve mostrar coerência alta e menos cancelamento na curva de H.
Exemplo de uso: comparar "antes e depois" de um ajuste no sistema
- Com o sistema tocando o programa normal (sem precisar de sweep), deixe a leitura estabilizar por alguns segundos.
- Toque em "Salvar medição atual" e dê um nome como "Antes do ajuste".
- Faça o ajuste desejado no processador ou na EQ do sistema.
- Toque em "Salvar medição atual" de novo, com um nome como "Depois do ajuste".
- Ative as duas medições salvas ao mesmo tempo (círculo ao lado de cada nome) para comparar as duas curvas sobrepostas no mesmo gráfico.
H1, o estimador de resposta em frequência
A relação entre o sinal de referência (X) e o de medição (Y) é descrita pela função
de transferência H(f), estimada pelo método H11 —
o padrão em análise de dois canais, mais robusto a ruído no canal de medição do que
dividir os espectros diretamente:
Como Gxx é sempre real e positivo, dividir por ele não altera a fase de
Gxy — por isso a fase é calculada direto sobre o espectro cruzado.
Testes de referência: ganho H = 8/4 = 2 → +6,02 dB; fase de
Gxy = i → 90°.
Coerência
A coerência ao quadrado mede, por frequência, que fração da energia de saída é explicada linearmente pela entrada — 1,0 significa "toda a energia em Y nessa frequência vem de X"; valores baixos apontam ruído, reflexões fortes ou distorção não capturada pelo modelo linear:
Clampada em [0,1] para absorver estouro numérico que poderia empurrar a
razão levemente acima de 1 por arredondamento (a desigualdade de Cauchy-Schwarz
garante γ² ≤ 1 matematicamente, mas não em ponto flutuante).
Por que precisa de médias — e não funciona num quadro só
Um único par de espectros não-nulos sempre produz coerência trivialmente igual a 1
(qualquer X, Y de um único quadro "explicam" um ao outro
perfeitamente por definição). A coerência só é informativa depois de médias
sucessivas de Gxx, Gyy e Gxy — nunca de
H ou coerência já calculados por quadro. O TransferFunctionProcessor
suaviza os três exponencialmente, quadro a quadro, com o mesmo modelo de constante de
tempo RC usado no detector de nível do SPL, mas sempre com a
constante de ataque (a suavização é simétrica — Gxx/Gyy/Gxy
não têm noção de "subindo" vs. "descendo"):
Modo padrão: slow (τ = 1,0 s). Sinais idênticos convergem para ganho
unitário (0 dB), fase 0° e coerência acima de 0,999; ruído independente nos dois
canais converge, depois de várias centenas de quadros de média, para coerência abaixo
de 0,4.
Gxx/Gyy/Gxy precisam virar bandas de
oitava para exibição, a soma ponderada é feita antes de calcular
ganho/fase/coerência — nunca por média de magnitude, fase e coerência já calculadas
por bin. É o que mantém a fase significativa numa banda que atravessa ±180°.
Delay finder — GCC-PHAT
Junto com a função de transferência, o Spectra estima o atraso entre os dois canais — o uso típico é alinhar no tempo um subwoofer com o array principal. O método é GCC-PHAT (Generalized Cross-Correlation with PHAse Transform)2, escolhido deliberadamente para sinais de programa ao vivo/reverberantes: ele descarta a amplitude por bin (distorcida pela resposta da sala e por reflexões) e mantém só a informação de tempo, que está na fase.
Isso normaliza a magnitude de cada bin para 1, preservando só a fase. A FFT inversa real desse espectro branqueado dá a correlação cruzada branqueada no domínio do tempo; o índice de valor absoluto máximo dessa correlação circular é o lag:
(343 m/s: velocidade do som ao nível do mar, ~20 °C.) A confiança da leitura vem da proeminência do pico sobre o resto da correlação:
Convenção de sinal: atraso positivo significa que a medição chega depois da referência — o caso comum de um microfone mais distante da fonte do que o envio elétrico da mesa.
Captura em lote, não quadro a quadro
O espectro cruzado que alimenta o branqueamento acima não vem de um único quadro de análise. A partir da v0.13.0 o localizador lê de volta uma captura de pelo menos 3 segundos dos dois canais, fatia essa captura em janelas de 8192 amostras com 50% de sobreposição, promedia o espectro cruzado dessas janelas (método de Welch) e só então procura o pico — uma vez, sobre a média.
A razão é material de programa: um quadro de 8192 amostras cobre ~170 ms, e sobre música percussiva ou intermitente a leitura pulava de um valor para outro a cada quadro. Três segundos travam o número. O app roda esse lote cerca de uma vez por segundo — mais que isso seria trabalho jogado fora, já que a leitura não pode ter mudado nesse intervalo.