Tecnologia

O motor por trás do FROID, explicado em camadas

Da captura do áudio bruto até a leitura visual das 12 Zonas — o que é processamento de sinal padrão, o que é framework proprietário, e onde cada um termina.

Aviso de uso clínico: o FROID não realiza diagnóstico automatizado. Todo indicador apresentado no dashboard é um sinal de apoio à escuta clínica, a ser interpretado pelo profissional responsável junto ao contexto da sessão — nunca isoladamente.

Etapa 1

Calibração da linha de base — 60 segundos

Toda sessão começa com 60 segundos de calibração. Nesse intervalo, o sistema estabelece a média e a variabilidade da frequência fundamental (F0) do paciente em repouso, mapeia o perfil de ruído do ambiente e do microfone, e trava (baseline_locked) os valores de referência que serão usados para todas as comparações da sessão.

Isso existe porque a análise acústica absoluta não faz sentido clinicamente: uma voz naturalmente grave não pode ser confundida com retardo psicomotor, e uma voz aguda não pode ser lida como hiperativação. Cada paciente é comparado só contra si mesmo.

Parâmetros iniciais de 60 segundos: baseline, média da sessão e cortes de 10 minutos.

O que é travado na calibração

F0 basal (média e desvio-padrão), densidade espectral de potência por banda (via FFT no navegador — Web Audio API, não há biblioteca de DSP no backend), ruído de fundo, e o estado inicial dos 468 pontos faciais rastreados.

Implementação real

Estado de sessão implementado como máquina de estados CALIBRATING → LIVE → ENDED, com ação BASELINE_LOCK disparando a trava dos valores de referência (froid-dashboard/src/pages/LiveSession.tsx).

Fundamento conceitual de calibração individual em bioacústica: variabilidade inter-falante é amplamente documentada na literatura de biomarcadores vocais — ver Ciência, Pilar 1.

Etapa 2

Extração acústica contínua

A cada janela de análise, o FROID extrai um conjunto de características vocais e compara cada uma contra o baseline travado.

Zhao et al., 2022

MFCC7 / MFCC9

Coeficientes cepstrais em escala Mel e suas derivadas (Δ, ΔΔ). No estudo-âncora, o MFCC7 sob conteúdo negativo é preditivo da escala de depressão (β=0.90) e o MFCC9 correlaciona-se inversamente com a ansiedade somática de Hamilton (β=−0.45) — por isso o FROID lê o ΔΔMFCC9 como marcador da aceleração da tensão laríngea.

Davis & Mermelstein, 1980

F0 e ZCR

Frequência fundamental e taxa de cruzamento por zero, extraídas continuamente e comparadas à variabilidade basal.

Índice proxy interno

Jitter / Shimmer

Índices internos normalizados (não jitter% / shimmer dB clínicos clássicos) derivados de ZCR escalado e do coeficiente de variação do envelope RMS — sinalizam instabilidade vocal relativa.

Por que Jitter/Shimmer aqui são "proxy"

No código de produção (LiveSession.tsx), essas métricas são explicitamente rotuladas como proxy, com unidade documentada:

jitter_source: "zero_crossing_rate_scaled_x45" shimmer_source: "rms_envelope_coefficient_of_variation" jitter_unit / shimmer_unit: "internal_proxy_0_1_..."

Ou seja: não equivalem diretamente ao jitter em % ou shimmer em dB definidos por Boersma & Weenink (Praat). São um proxy derivado, usado como sinal relativo de instabilidade — não como valor clínico normativo. Extração física validada (Praat-equivalente) está no roadmap.

Aceleração da tensão (ΔΔMFCC9)

ΔMFCC9(n) = MFCC9(n) − MFCC9(n−1) ΔΔMFCC9(n) = ΔMFCC9(n) − ΔMFCC9(n−1)

Picos sustentados na aceleração da derivada Delta-Delta (ΔΔMFCC9 > 1.8) sinalizam micro-contrações reflexas das cordas vocais e servem de gatilho biofísico de fricção somatoafetiva. O 1.8 é threshold de engenharia calibrável, não constante publicada.

Davis, S. & Mermelstein, P. (1980). Comparison of parametric representations for monosyllabic word recognition. IEEE Trans. ASSP. · Boersma, P. & Weenink, D. — Praat: doing phonetics by computer.

Etapa 3

Dinâmica facial — FACS e Unidades de Ação

Mapa FACS das Unidades de Ação faciais rastreadas pelo FROID.

468 pontos faciais são rastreados por visão computacional local, classificados em Unidades de Ação (AUs) segundo o Facial Action Coding System, com modelagem temporal de onset, apex e offset.

Quando uma configuração facial (ex.: AU12 sem AU6, ou AU23/AU24 sustentadas) coincide com um desvio acústico relevante numa zona, o sistema aplica um multiplicador de dissonância à leitura daquela zona.

Multiplicador Facial de Dissonância (M_fac)

dissonanceMultiplier = facialDissonanceFlag ? 2.5 : 1.0

Forma binária aplicada em produção quando o flag de dissonância facial dispara. O valor 2.5 é um parâmetro de produto FROID, não derivado de um estudo publicado — trate como heurística de engenharia calibrável, não como constante científica. A montagem completa do IDM (média das 12 zonas × M_fac) e a forma contínua do multiplicador estão na Etapa 5.

Sobre o par AU6+AU12 ("sorriso de Duchenne")

A hipótese clássica de que AU6 ausente indica sorriso forçado tem apoio parcial na literatura, mas também há pesquisa recente que a contesta diretamente, encontrando que AU6 se relaciona mais com intensidade do sorriso do que com autenticidade emocional. O FROID usa essa configuração como um entre vários fatores de dissonância, não como detector isolado de mentira.

Valstar & Pantic (2012), Jiang et al. (2014), Gonzalez et al. (2015), Hamm et al. (2011) — infraestrutura de FACS+HMM. Ver contestação da hipótese de Duchenne em Ciência, Pilar 4.

Etapa 4 · Framework proprietário

As 12 Zonas de Percepção

A camada visual e interpretativa que organiza todos os sinais anteriores em um mapa circular de 12 zonas, cada uma associada a uma dicotomia de tema clínico.

Gráfico das 12 Zonas de Percepção, com desvios do polo negativo ao positivo.

O que isso é, com precisão

Uma interface de visualização proprietária que distribui a energia espectral vocal em 12 bandas, cada uma sintonizada a uma nota da escala cromática e associada por FROID a um tema clínico interpretativo (ex.: Zona 3 — "Tristeza vs. Paz Interior"). A física por trás (densidade espectral de potência via FFT) é real e mensurável.

O que isso não é

Não existe literatura revisada por pares que valide o mapeamento específico entre uma faixa estreita de Hz e um tema psicológico. A estrutura é uma transposição adaptada de tecnologia comercial de biofeedback de voz. Tratamos isso explicitamente como heurística de produto FROID.

Cores de severidade

score ≤ -0.5 → BRANCO score ≤ 0.5 → AZUL score ≤ 1.5 → VERDE score ≤ 3.0 → AMARELO score > 3.0 → VERMELHO
Origem e enquadramento discutidos com detalhe em Ciência.

Etapa 5 · Framework proprietário

Os índices de síntese: IPM e IDM

O cérebro humano não realiza Transformadas de Fourier nem rastreia 468 pontos faciais a 30 FPS enquanto sustenta a aliança terapêutica. O FROID resolve esse gargalo por redução de dimensionalidade: funde voz, face e semântica em dois vetores que rodam continuamente no painel de atendimento.

Framework proprietário FROID

📈 Índice de Potência Multimodal (IPM)

O "velocímetro" da energia biológica da sessão — quantifica, numa escala de 0 a 100, a intensidade expressiva e a vitalidade psicomotora do paciente a cada segundo.

Combina a amplitude e a variabilidade de três canais: energia acústica e variabilidade de F0 (voz), amplitude e velocidade de contração das Unidades de Ação (face) e densidade de termos de alto impacto emocional detectados por NLP (semântica). Um fator de confiabilidade dinâmico por canal descarta variações espúrias, como uma tosse ou uma mudança abrupta de luz na sala.

Leitura clínica: queda sustentada aponta letargia ou retardo motor depressivo; picos frequentes indicam hiperativação, agitação ansiosa ou aceleração de ideias.

Framework proprietário FROID

🧭 Índice de Desvio Multimodal (IDM)

A "bússola" que aponta a direção e a coerência dessa energia — avalia se as reações do paciente são congruentes com o conteúdo abordado ou se há uma quebra de simetria que revele resistência, repressão ou somatização.

Compara as leituras instantâneas contra a linha de base individual travada nos primeiros 60 segundos. Quando o canal facial e o vocal se contradizem — conteúdo triste com infra-tremor vocal (5–12 Hz) mas sorriso apenas voluntário (AU12 sem AU6) — aplica o Multiplicador Facial de Dissonância, deslocando o índice para as cores de alerta.

Leitura clínica: localiza "pontos quentes" emocionais — revela a Dissonância Somatoafetiva (Falsa Calma), quando o estresse foi reprimido da face mas continua tensionando a laringe.

Equação do IPM

IPM(t) = 100 · σ( Σ wᵢ · rᵢ(t) · |zᵢ(t)| ), i ∈ {Voz, Face, Sem} σ(x) = 1 / (1 + e⁻ˣ)

σ é a sigmoide que comprime o resultado em 0–100. |zᵢ(t)| é a magnitude do desvio padronizado (z-score) do canal contra a base de 60 s; rᵢ(t) ∈ [0,1] é a confiabilidade dinâmica do canal; wᵢ são os pesos calibrados por engenharia de fonação para equilibrar cada sensor.

Equação do IDM e penalização de dissonância

IDM(t) = ( (1/12) Σ D_energia,z(t) ) × M_fac(t) D_energia,z = (E_z − E_baseline,z) / (E_baseline,z + ε), ε = 1e-9 M_fac(t) = 1.0 + 1.5 · [ AU12 · (1 − AU6) · Conf_apex ] (teto = 2.5)

Em repouso ou congruência, M_fac = 1.0. No limiar máximo de dissonância (sorriso social puro, sem contração orbital, Conf_apex ≥ 0.75) o multiplicador atinge o teto de 2.5. A produção atual aplica a forma binária desse multiplicador (2.5 quando o flag de dissonância dispara, 1.0 caso contrário — ver Etapa 3); a expressão contínua acima é o modelo de referência. Implementado em froid-engine.ts → calculateIDM().

Honestidade de engenharia: os pesos, os coeficientes de fusão e o próprio 2.5 são parâmetros de produto refinados em laboratório — hipóteses clínicas qualificadas, não constantes científicas publicadas. A validação populacional definitiva depende do Data-Froid anônimo (k-anonymity + hashes de via única). Ver enquadramento em Ciência.

Etapa 6 · Framework proprietário

Estabilização Clínica da Tela

Nos testes com profissionais, uma tela que muda a cada poucos segundos se mostrou rápida demais para avaliar todas as métricas com calma clínica. A resposta do FROID: o processamento bruto continua em alta resolução (cadência de 1 segundo), mas a apresentação visual é estabilizada numa janela clínica configurável — sem congelamento e sem perda de acurácia.

Framework proprietário FROID

🧮 Como funciona

A cada 1 minuto o FROID fecha uma microjanela técnica. A tela mostra uma janela clínica móvel de 5 minutos, composta pelas últimas 5 microjanelas — consolidadas por média ponderada temporal, nunca por média simples: o minuto atual pesa mais que os anteriores.

O profissional vê estabilidade, mas o FROID continua reagindo gradualmente ao que está acontecendo agora.

Framework proprietário FROID

⏱️ Janelas disponíveis

Tempo real — sem congelamento visual
1 minuto — janela clínica leve
3 minutos — supervisão dinâmica
5 minutos — padrão recomendado
7 minutos — sessão mais lenta/reflexiva

"Tempo real" significa que gráficos e indicadores acompanham a cadência técnica disponível (≈1s/10s conforme a origem da métrica) — não é tempo real absoluto de laboratório, e sim ausência de congelamento clínico de tela.

Framework proprietário FROID

🖥️ Comportamento na tela

O painel exibe Janela clínica: 5min e o contador Próxima atualização em 03:42, com o botão Atualizar agora sempre disponível.

Exceção de segurança: um alerta crítico rompe a estabilização e atualiza a tela imediatamente, antes do prazo.

Pesos da janela clínica de 5 minutos

V_tela(t) = Σ w_k · m_k(t), k ∈ {−4, −3, −2, −1, 0} w = { minuto −4: 10%, minuto −3: 15%, minuto −2: 20%, minuto −1: 25%, minuto atual: 30% }

m_k é o valor consolidado da microjanela técnica k (1 minuto). O processamento bruto segue na cadência de 1 segundo; apenas a camada de apresentação é estabilizada.

Consolidação por tipo de métrica

  • IPM — média ponderada dos últimos 5 minutos.
  • IDM — média ponderada, preservando o sinal positivo/negativo.
  • Zonas — zona dominante por soma ponderada de intensidade.
  • Riscos clínicos — média ponderada com trava de pico: um pico crítico recente não desaparece imediatamente da tela.
  • Dissonâncias — só aparecem se persistirem acima do limiar em pelo menos 2 microjanelas, exceto alerta crítico.
  • MFCC7 / MFCC9 / ZCR / Jitter / Shimmer / Sub-harmônicos — média ponderada + registro do pico máximo no período.
  • Tom emocional — maioria ponderada ou classificação dominante nos últimos 5 minutos.
  • P/min — total de palavras dos 5 minutos dividido por 5.
  • FROID Explica — toda consulta recebe o estado consolidado exibido na tela + acesso ao bruto recente, se necessário.

Referência proprietária: FROID_Estabilizacao_Clinica_Da_Tela.md — documenta a métrica, a matemática e o racional clínico, e integra a base de conhecimento consultável pelo FROID Explica. Os cortes semânticos da sessão não são afetados por este módulo.