Code et
fonctionnement

AudioSensible repose sur un dispositif logiciel de simulation audio en temps réel, conçu pour reproduire différentes formes de perte auditive de manière réaliste et immersive. Cette page décrit l'architecture technique du système, depuis la capture du son jusqu'à sa restitution modifiée.

GitHub Dernière version

Sommaire


1. Architecture générale du système

Le simulateur est structuré comme une chaîne de traitement audio en temps réel. L'ensemble fonctionne avec une contrainte forte : maintenir une latence très faible pour préserver l'immersion (inférieure à ~50 ms).

01 Capture du son ambiant (microphone mono)
02 Traitement du signal audio (ordinateur — Linux, Windows ou macOS)
03 Simulation de la perte auditive (code de l'application)
04 Restitution en sortie audio (casque/écouteurs et casque anti-bruit)

2. Capture et restitution audio

Le système repose sur des API audio bas niveau natives selon le système d'exploitation : ALSA sur Linux, WASAPI sur Windows et CoreAudio sur macOS. L'objectif est de se rapprocher d'un comportement matériel natif, sans dépendance à des frameworks audio haut niveau. Le simulateur est ainsi compatible Linux, Windows et macOS.

Points clés techniques

Format

16 bits PCM

Fréquence d'échantillonnage

44 100 Hz

Mode de traitement

Périodes (buffers)

Gestion des buffers

Manuelle — anti-underrun


3. Traitement du signal audio

Le cœur du simulateur est un module de traitement numérique du signal (DSP) basé sur des filtres fréquentiels. Chaque signal audio est converti en valeurs flottantes, puis modifié avant restitution.


4. Simulation de la perte auditive

La simulation repose sur un modèle fréquentiel inspiré de courbes audiométriques médicales. Trois profils sont disponibles :

Profil 01

Audition normale

Aucune altération du signal — référence de calibration.

Profil 02

Perte légère — 20–40 dB HL

Difficultés dans le bruit et sur certaines fréquences. La parole reste partiellement intelligible.

Profil 03

Perte moyenne — 40–70 dB HL

Perte significative de compréhension de la parole. Isolation communicationnelle notable.


5. Modélisation fréquentielle

Le spectre audio est découpé en bandes correspondant aux fréquences essentielles de l'audition humaine. Chaque bande est traitée indépendamment pour simuler une perte spécifique de sensibilité.

125 Hz 250 Hz 500 Hz 1 000 Hz 2 000 Hz 4 000 Hz 8 000 Hz

Filtres numériques (BiQuad)

Le traitement repose sur des filtres numériques de type biquadratique (BiQuad). Ces filtres permettent d'atténuer certaines fréquences, de préserver la stabilité du signal, et d'appliquer des corrections fines sur la perception sonore. Chaque profil auditif applique des gains négatifs différents selon les bandes fréquentielles.

Concrètement, cela permet de reproduire non pas un simple "volume réduit", mais une déformation du spectre sonore, plus fidèle aux pathologies réelles.


6. Chaîne de traitement en temps réel

Le fonctionnement interne suit une boucle continue permettant une écoute fluide, sans interruption perceptible.

  1. Lecture du signal micro (capture)
  2. Conversion en données exploitables (float 32 bits)
  3. Application des filtres audiologiques
  4. Stockage dans un buffer circulaire
  5. Lecture et restitution en sortie stéréo

Gestion des buffers et latence

Pour garantir une expérience stable, le système utilise un buffer circulaire de plusieurs secondes, un découpage en "périodes" de traitement et une gestion fine des seuils de lecture/écriture. Ces mécanismes permettent d'éviter les coupures audio (underruns), de stabiliser le flux sonore et de maintenir une latence faible et constante.


7. Contrôle et supervision

Le simulateur intègre des indicateurs en temps réel pour surveiller la stabilité du système et évaluer la qualité de la simulation.

🎤

Niveau d'entrée audio

🔊

Niveau de sortie traité

Latence estimée

⚠️

Erreurs de buffer (underruns)


8. Objectif technique et pédagogique

Ce dispositif ne vise pas uniquement la performance technique. Son objectif est double :

En transformant un phénomène médical en expérience sonore directe, le système rend visible — et surtout audible — une réalité souvent abstraite.


9. Conclusion

Le simulateur AudioSensible est une chaîne complète de traitement audio en temps réel combinant capture bas niveau, filtrage fréquentiel avancé, gestion fine des buffers et modélisation audiologique.

Il constitue le cœur technique du projet, au service d'un objectif principal : faire comprendre l'audition autrement, par l'expérience.


Code source

Accéder au dépôt GitHub

L'intégralité du code du simulateur — scripts de traitement, filtres, gestion audio multiplateforme — est disponible en open source sur GitHub.

Voir le dépôt GitHub Télécharger la dernière version