Technologie
De la capture audio brute jusqu'à la lecture visuelle des 12 Zones — ce qui relève du traitement de signal standard, ce qui relève du cadre propriétaire, et où s'arrête chacun.
Étape 1
Chaque séance commence par 60 secondes d'étalonnage. Pendant cet intervalle, le système établit la moyenne et la variabilité de la fréquence fondamentale (F0) du patient au repos, cartographie le profil de bruit de l'environnement et du microphone, et verrouille (baseline_locked) les valeurs de référence utilisées pour toutes les comparaisons de la séance.
Cela existe parce que l'analyse acoustique absolue n'a pas de sens clinique : une voix naturellement grave ne peut pas être confondue avec un ralentissement psychomoteur, et une voix aiguë ne peut pas être lue comme une hyperactivation. Chaque patient est comparé uniquement à lui-même.
F0 de base (moyenne et écart-type), densité spectrale de puissance par bande (via FFT dans le navigateur — Web Audio API, aucune bibliothèque DSP côté backend), et bruit de fond. La calibration est vocale : il n'existe pas de ligne de base faciale — les Unités d'Action sont évaluées face à un seuil absolu (0,30), non face au repos du patient lui-même.
État de séance implémenté comme une machine à états CALIBRATING → LIVE → ENDED, avec une action BASELINE_LOCK déclenchant le verrouillage des valeurs de référence (froid-dashboard/src/pages/LiveSession.tsx).
Étape 2
À chaque fenêtre d'analyse, FROID extrait un ensemble de caractéristiques vocales et compare chacune à la ligne de base verrouillée.
Coefficients cepstraux sur l'échelle de Mel et leurs dérivées (Δ, ΔΔ). Dans l'étude de référence, le MFCC7 sous contenu négatif est prédictif de l'échelle de dépression (β=0,90) et le MFCC9 est corrélé négativement à l'anxiété somatique de Hamilton (β=−0,45) — c'est pourquoi FROID lit le ΔΔMFCC9 comme un marqueur de l'accélération de la tension laryngée.
Fréquence fondamentale et taux de passage par zéro, extraits en continu et comparés à la variabilité de base.
Indices internes normalisés (et non les jitter% / shimmer dB cliniques classiques) dérivés d'un ZCR mis à l'échelle et du coefficient de variation de l'enveloppe RMS — ils signalent une instabilité vocale relative.
Dans le code de production (LiveSession.tsx), ces métriques sont explicitement étiquetées comme des proxys, avec une unité documentée :
Autrement dit : ils n'équivalent pas directement au jitter en % ou au shimmer en dB tels que définis par Boersma & Weenink (Praat). Ce sont des proxys dérivés, utilisés comme signal relatif d'instabilité — pas comme valeur clinique normative. Une extraction physique validée (équivalente à Praat) figure sur la feuille de route.
Des pics soutenus dans l'accélération de la dérivée Delta-Delta (ΔΔMFCC9 > 1,8) signalent des micro-contractions réflexes des cordes vocales et servent de déclencheur biophysique de friction somatoaffective. Le seuil de 1,8 est un paramètre d'ingénierie calibrable, pas une constante publiée.
Étape 3
Le navigateur du patient calcule 52 coefficients de blendshape faciaux (MediaPipe FaceLandmarker / ARKit) et les envoie au serveur, qui les convertit en intensités de 16 Unités d'Action du Facial Action Coding System — le système descriptif du mouvement facial de Paul Ekman et Wallace Friesen. Image et vidéo ne quittent pas l'équipement du praticien. Il n'y a aucune modélisation temporelle : chaque lecture est évaluée isolément.
Une UA compte comme active à partir de 0,30. Lorsque les UA actives forment l'une des six combinaisons que le moteur sait lire (ex. : AU12 avec AU23 ou AU24 — sourire social sur compression labiale), la zone correspondante reçoit une marque de dissonance faciale, et l'écart acoustique de cette zone est alors multiplié par 2,5.
Les deux cartes du visage, ce que signifie chaque UA et les six combinaisons →
Forme binaire appliquée en production lorsque le drapeau de dissonance faciale se déclenche. La valeur 2,5 est un paramètre produit FROID, non dérivé d'une étude publiée — à traiter comme une heuristique d'ingénierie calibrable, pas comme une constante scientifique. L'assemblage complet de l'IDM (moyenne des 12 zones, chacune portant déjà son M_fac) figure à l'Étape 5. Il n'existe aucune forme continue implémentée.
L'hypothèse classique selon laquelle l'absence d'AU6 indique un sourire forcé bénéficie d'un soutien partiel dans la littérature, mais des recherches récentes la contestent directement, trouvant que l'AU6 est davantage liée à l'intensité du sourire qu'à l'authenticité émotionnelle. Le moteur de FROID n'implémente pas cette configuration : aucune des six règles de composition ne teste l'absence d'AU6. La suppression de l'aversion est détectée par AU12 avec AU23 ou AU24 — voir les six combinaisons.
Étape 4 · Cadre propriétaire
La couche visuelle et interprétative qui organise tous les signaux précédents en une carte circulaire de 12 zones, chacune associée à une dichotomie thématique clinique.
Une interface de visualisation propriétaire qui répartit l'énergie spectrale vocale sur 12 bandes, chacune accordée à une note de la gamme chromatique et associée par FROID à un thème clinique interprétatif (ex. : Zone 3 — « Tristesse vs. Paix intérieure »). La physique sous-jacente (densité spectrale de puissance via FFT) est réelle et mesurable.
Il n'existe aucune littérature évaluée par les pairs validant l'association spécifique entre une plage étroite de Hz et un thème psychologique. La structure est une transposition adaptée d'une technologie commerciale de biofeedback vocal. Nous le traitons explicitement comme une heuristique produit FROID.
Étape 5 · Cadre propriétaire
Le cerveau humain n'exécute pas de Transformées de Fourier ni ne comptabilise des dizaines de coefficients faciaux par seconde tout en maintenant l'alliance thérapeutique. FROID résout ce goulot d'étranglement par réduction de dimensionnalité : il fusionne voix, visage et sémantique en deux vecteurs qui tournent en continu sur le panneau de suivi.
Le « compteur de vitesse » de l'énergie biologique de la séance — quantifie, sur une échelle de 0 à 100, l'intensité expressive et la vitalité psychomotrice du patient à chaque seconde.
Il est calculé sur la moyenne des écarts absolus des 12 Zones — écarts d'énergie vocale face à la ligne de base de la séance elle-même, déjà multipliés par 2,5 dans les zones porteuses de dissonance faciale. Le visage entre par ce multiplicateur ; il n'y a pas de canal sémantique dans l'IPM, ni de mesure de vitesse de contraction des UA.
Lecture clinique : une baisse soutenue indique une léthargie ou un ralentissement moteur dépressif ; des pics fréquents indiquent une hyperactivation, une agitation anxieuse ou une accélération des pensées.
La « boussole » qui indique la direction et la cohérence de cette énergie — évalue si les réactions du patient sont congruentes avec le contenu abordé ou s'il y a une rupture de symétrie révélant une résistance, une répression ou une somatisation.
Compare les lectures instantanées à la ligne de base individuelle verrouillée durant les 60 premières secondes. Lorsque le canal facial et le canal vocal se contredisent — écart acoustique pertinent dans une zone où le visage a déclenché l'une des six règles de composition, par exemple un sourire sur des lèvres comprimées (AU12 avec AU23/AU24) — applique le Multiplicateur Facial de Dissonance à cette zone, déplaçant l'indice vers les couleurs d'alerte.
Lecture clinique : localise les « points chauds » émotionnels — révèle la Dissonance Somatoaffective (Fausse Calme), lorsque le stress a été réprimé du visage mais continue de tendre le larynx.
σ est la sigmoïde qui comprime le résultat entre 0 et 100. Le centre n'est pas une constante : c'est l'activation de repos mesurée lors de la calibration de cette séance, ce qui rend l'indice comparable d'un microphone et d'une pièce à l'autre. Sans repos mesuré (centre ≤ 0,02), l'indice reste à 50, déclarément neutre, plutôt que de feindre la précision. Le gain 1,2 est un paramètre de produit FROID.
Le multiplicateur est binaire et par zone : 2,5 là où l'une des six règles faciales s'est déclenchée, 1,0 ailleurs. Il n'existe pas de forme continue, ni de confiance d'apex — le moteur ne modélise pas les phases temporelles de l'expression. Implémenté dans froid-server/froid_core.py → calculate_multimodal_deviation(), avec un miroir dans le panneau en froid-engine.ts → calculateIDM().
Honnêteté d'ingénierie : les poids, les coefficients de fusion et le 2,5 lui-même sont des paramètres produit affinés en laboratoire — des hypothèses cliniques qualifiées, pas des constantes scientifiques publiées. La validation populationnelle définitive dépend du Data-Froid anonyme (k-anonymat + hachages à sens unique). Voir le cadrage dans Science.
Étape 6 · Cadre propriétaire
Lors des tests avec des professionnels, un écran qui change toutes les quelques secondes s'est révélé trop rapide pour évaluer toutes les métriques avec calme clinique. La réponse de FROID : le traitement brut continue en haute résolution (cadence d'1 seconde), mais la présentation visuelle est stabilisée dans une fenêtre clinique configurable — sans gel et sans perte de précision.
Toutes les 1 minute, FROID clôture une micro-fenêtre technique. L'écran affiche une fenêtre clinique glissante de 5 minutes, composée des 5 dernières micro-fenêtres — consolidées par moyenne pondérée temporelle, jamais par une moyenne simple : la minute en cours pèse plus que les précédentes.
Le professionnel voit de la stabilité, mais FROID continue de réagir progressivement à ce qui se passe maintenant.
Temps réel — sans gel visuel
1 minute — fenêtre clinique légère
3 minutes — supervision dynamique
5 minutes — réglage recommandé
7 minutes — séance plus lente/réflexive
« Temps réel » signifie que les graphiques et indicateurs suivent la cadence technique disponible (≈1s/10s selon l'origine de la métrique) — ce n'est pas du temps réel absolu de laboratoire, mais l'absence de gel clinique de l'écran.
Le panneau affiche Fenêtre clinique : 5min et le compte à rebours Prochaine mise à jour dans 03:42, avec le bouton Mettre à jour maintenant toujours disponible.
Exception de sécurité : une alerte critique rompt la stabilisation et met à jour l'écran immédiatement, avant l'échéance.
m_k est la valeur consolidée de la micro-fenêtre technique k (1 minute). Le traitement brut suit la cadence d'1 seconde ; seule la couche de présentation est stabilisée.
Référence propriétaire : FROID_Estabilizacao_Clinica_Da_Tela.md — documente la métrique, les mathématiques et le raisonnement clinique, et intègre la base de connaissances consultée par FROID Explique. Les segments sémantiques de la séance ne sont pas affectés par ce module.