Função do app · 06

SPL

O medidor de nível sonoro: um único número em dB, com a resposta temporal e a ponderação em frequência de um medidor de nível de som (SLM) profissional.

Como usar no app

Onde encontrar

Aba SPL (ícone de alto-falante). O botão de exportar (canto superior direito) gera um CSV da sessão — histórico segundo a segundo, resumo com duração, min/máx e Leq de 5/10/60 min, e as doses OSHA e NR-15 lado a lado, mesmo que só um dos dois padrões esteja selecionado na tela; fica desativado enquanto o log da sessão está vazio.

Exemplo de uso: acompanhar o nível do show sem passar do combinado

  1. Selecione a métrica "SPL A Slow" para uma leitura estável, ou "SPL A Fast" se quiser reagir mais rápido a picos.
  2. Ative o card de bandas de oitava (Ajustes › SPL) se quiser ver em quais frequências a energia está concentrada.
  3. Ligue o mostrador flutuante sobre o RTA (Ajustes › Medidores de SPL) para acompanhar o nível sem trocar de aba durante a passagem de som ou o show.

Leitura principal

Exemplo de uso: calibrar antes de um evento

  1. Ligue uma fonte sonora estável — ruído rosa da aba Gerador (nível médio) ou uma música num volume constante — e aponte um medidor de referência calibrado e o Spectra para a mesma fonte.
  2. Vá em Ajustes › Calibração › "Calibração de SPL".
  3. Ajuste o slider "Meu medidor de referência mostra" (30 a 140 dB) até bater com o número do seu medidor de referência.
  4. Toque em "Salvar calibração" — o app grava a diferença entre a leitura crua atual e o valor do slider como offset, e passa a aplicar esse offset em toda leitura calibrada (SPL e o eixo Y do RTA).
Antes de calibrar A calibração vale para a métrica definida como o primeiro medidor da aba SPL — trocar essa métrica padrão depois pode exigir recalibrar. Antes de qualquer calibração, o offset padrão é 94 dB (um valor de partida, não uma medição).

Bandas de oitava (opcional)

Ative em Ajustes › SPL › "Analisador de bandas de oitava" para mostrar, abaixo do mostrador principal, um card com barras de 1/1 ou 1/3 de oitava e ponderação própria (A/C/Flat).

Gráfico

Alterna entre Ao vivo (últimos segundos) e Sessão (Xm00s) (desde o início da sessão atual). A ponderação do gráfico e do CSV exportado (A/C/Flat) é escolhida separadamente da ponderação da leitura principal.

Outros ajustes da aba SPL

Em Ajustes › SPL: tamanho da fonte dos medidores (Padrão/Grande/Enorme); limiares de atenção e de perigo em dB e as três cores associadas (segura/atenção/perigo), usados no card de bandas. O mostrador flutuante e a barra de SPL que aparecem nas abas RTA e Função de Transferência são configurados à parte, em Ajustes › Medidores de SPL.

A partir daqui Como cada leitura é calculada por dentro — fórmulas e normas. Não é preciso entender nada disso para usar o app.

Detecção de nível temporal

O nível instantâneo (potência linear vinda da ponderação por bin) não vira um número legível diretamente — ele oscila rápido demais. O LevelDetector implementa as respostas temporais definidas pelo IEC 61672-11, um filtro RC de primeira ordem com constantes de tempo diferentes para ataque (subida) e liberação (descida):

RespostaAtaqueLiberação
Impulse35 ms1500 ms
Fast125 ms125 ms
Slow1000 ms1000 ms
1 / 5 / 10 min60 / 300 / 600 sigual

A assimetria de Impulse (ataque rápido, liberação lenta) é a característica que define esse modo: ele reage rápido a um transiente mas segura a leitura visível por mais tempo depois.

Filtro RC exato (não aproximação de Euler)
$$ \tau = \begin{cases}\tau_{\text{ataque}} & P \ge P_{\text{anterior}} \\ \tau_{\text{liberação}} & P < P_{\text{anterior}}\end{cases} \qquad \alpha = 1 - e^{-\Delta t/\tau} $$ $$ P_{\text{média}} \leftarrow P_{\text{média}} + \alpha\,(P - P_{\text{média}}) $$

Essa é a solução exata (não uma aproximação discreta) de uma equação diferencial RC de 1ª ordem amostrada a intervalos Δt — o que a mantém correta em qualquer taxa de atualização, importante porque o app roda a UI a ~30 Hz, não à taxa de áudio.

MIN / MAX / PEAK

MIN e MAX acompanham os extremos do nível já ponderado pela resposta temporal escolhida. PEAK mantém o pico de potência visto, com decaimento configurável (padrão 2,0 s de espera + 20 dB/s de queda depois disso):

Decaimento exponencial do peak-hold
$$ \text{fator} = 10^{-\left(\text{taxa}_{\text{dB/s}}/10\right)\cdot \Delta t} \qquad\qquad P_{\text{peak}} \leftarrow P_{\text{peak}} \cdot \text{fator} $$

Calibração

O Spectra não assume uma sensibilidade de microfone fixa — o usuário aponta o app e um medidor de referência para a mesma fonte e ajusta um slider ("meu medidor mostra X dB") até os dois números baterem. Esse offset em dB é somado à leitura em dBFS do app, e é reaproveitado pelo eixo Y calibrado do RTA.

Calibração depende da janela de análise A normalização da FFT foi corrigida na v0.9.0 para ser independente da janela (ver FFT e Janelas) — antes, trocar Hann por Blackman movia a leitura de SPL em até 2,4 dB sem nada mudar no microfone. Qualquer calibração feita antes dessa correção precisou ser refeita uma vez.

Leq — nível equivalente contínuo

Leq é a média de energia (não de dB) sobre um período, reconvertida para dB no final — é o número que representa "quanta energia sonora, em média, esteve presente":

Leq
$$ L_{eq}(T) = 10\log_{10}\!\left(\frac{1}{N}\sum_{i=1}^{N} P_i\right) $$

O RollingLeqTracker calcula isso sobre uma janela deslizante configurável (5 min, 10 min, 1 h...), a partir de amostras de potência tomadas a cadência própria (tipicamente 1/s — bem mais grosseira que os ~30 Hz de UI). O SessionLeqTracker resolve a mesma fórmula para uma sessão inteira, sem guardar histórico — só a soma acumulada de potência e a contagem de amostras, memória constante mesmo em sessões de horas.

Bandas de oitava no card de SPL

O card de bandas (1/1 ou 1/3 de oitava, ponderação própria) reaproveita exatamente o mesmo cálculo de bandas de oitava usado no RTA.