Dit autrement, viens ici voir comment tu n'entends rien.
Il y a quelques jours, j'ai discuté avec une personne qui a des problèmes d'audition et qui m'a demandé : « Tu ne connais pas un moyen de faire un test ? ».
Attends, je t'explique le « test »
Un test auditif, ça consiste juste à jouer des signaux « purs » (tels qu'une sinusoïde à 500 Hz, 1 kHz, etc) avec des volumes différents, puis de noter quand le sourd il finit par entendre ce signal.
Sur un vrai test auditif, le signal va être calibré avant.
Une fois que le sourd il a fini le test, on obtient une courbe par oreille avec les différentes fréquences et grosso modo la puissance qu'il a fallut envoyer pour que ça arrive jusque dans son cerveau.
Maintenant que tu as la base du test, tu peux reprendre ta lecture.
Les deux premières choses qui me sont venues à l'esprit :
- Ça doit déjà exister ;
- Avec Audacity, on peut le faire.
Ça existe déjà
Le « ça existe déjà », perso j'ai pas trouvé un truc pour Linux. Ça existe probablement parce que je ne peux pas être le seul à avoir des idées aussi tordues mais j'ai pas trouvé rapidement dans le grand Internet.
Plan B
Du coup, je suis passé au plan B, avec Audacity, on peut le faire.
C'est vrai, on peut générer un signal puis régler le volume prendre des notes, puis on recommence, puis c'est chiant.
Au final, ça marche, mais vraiment c'est chiant. Surtout quand on a beaucoup d'oreilles.
DIY (Do It Yourself)
Et donc je me suis dit, ça serait vachement cool d'avoir un truc qui joue un signal sonore, puis tu dis quand tu l'entends. Comme ça, si le truc vachement cool, il change le volume et la fréquence tout seul, ben tu l'as ton test et ça serait chiant mais moins qu'avec Audacity.
Et donc voilà. J'ai écrit un truc à la rache (même plus vite encore) et publié sur GitHub : https://github.com/mulx/deafness-test.
Comment que ça marche ?
C'est un script en bash (écrit à la bash rache mais là je radote) qui fait sortir un son :
- à une certaine fréquence ;
- à un certain volume ;
- sur un certain canal (droite ou gauche - je suis désolé si tu as plus de deux oreilles).
Une fois que le « bruit » est sorti, tu as une question simple qui te demande sur laquelle de tes oreilles tu as entendu le signal. En fonction de ta réponse, le volume, l'oreille ou la fréquence, change.
Quand c'est fini, un fichier CSV contient les valeurs pour tes deux oreilles ainsi que la fréquence.
Si tu es un pro du tableur en quelques clics, tu peux obtenir un joli graphique (audiogramme précisément) qui ressemblera à ça :
C'est génial ! Je veux le faire
Ça tombe bien, c'est pour ça qu'il est sur github !
Le bash, ça pue
Oui (je ne vais pas te contredire) faudrait clairement faire un truc mieux, plus zoli, avec une interface graphique et en python. Sinon, faudrait mieux chercher, je suis sûr que ça existe déjà.
Ceci étant dit...
Si, par erreur, tu voudrais faire le test, il faut simplement prendre le fichier audiotest.sh puis tu vas lire la doc il faut le lancer de cette manière :
bash audiotest.sh "fréquence de debut" "de combien en combien" "fréquence de fin"
Typiquement, pour faire un test assez réaliste (https://fr.wikipedia.org/wiki/Audiogramme)
bash audiotest.sh 500 500 8000
Ensuite, tu lis le texte, oui c'est en anglais, c'est pas un bug.
Si tu as la flemme de lire (ou que tu ne parles pas anglais), tu vas entendre un premier bruit qui doit te servir à régler le volume de ton casque. L'idéal, c'est que tu entendes le bruit mais que ça te déchire pas les tympans non plus.
Ensuite, la première fréquence est jouée : si tu l'entends de la droite, tu appuies (une seule fois) sur la touche R (R comme dRoite) ; si tu n'entends rien tu appuies sur la touche N (N comme suivaNte ou j'ai pas eNteNdu) ; enfin, si ça venait de la gauche, tu appuies sur L (L comme gauche left).
Surtout ! Ne change pas le volume, si tu n'entends rien, appuie juste sur N.
Le « programme » va changer, en fonction de la position de la lune et de ta réponse, la fréquence, le volume ou ton oreille et prendre des notes, pour toi.
Une fois que tu as fini par répondre à toutes les questions (oui, plus tu es sourd, plus tu en as), un fichier contient tes résultats. En trois clics souris, tu peux faire un audiogramme comme celui qui est au-dessus.
Attention à un truc !
Déjà, il faut que tu saches que la valeur -90 dB signifie que tu entends la souris du voisin en train de respirer alors qu'elle est morte, 0 dB QUE TU N'ES MÊME PLUS CAPABLE D'ENTENDRE TA GRAND-MÈRE QUAND ELLE TE PARLE.
Ensuite, si l'audiogramme permet de voir une perte auditive sur certaines fréquences, la valeur sur l'ordonnée (qui est en dB) n'est et ne peut pas être calibrée.
Tu ne peux qu'en tirer comme conclusion, j'entends 3 fois mieux les sons graves (basses fréquences) que les aigus (hautes fréquences).
Attention à un deuxième truc !
Pour faire ce test, ça part du principe que ton système d'audition sur ton PC est fiable. Mais comme tu ne peux pas le vérifier toi, dans ton garage, que tu as 0 % de distorsion, tu ne peux qu’espérer. Ça veut dire que le résultat est probablement fiable, mais peut-être pas.
Prérequis
Ça devrait être plus haut dans ce billet, mais je ne savais pas où le foutre précisément alors c'est un peu le paragraphe perdu.
- 2 oreilles (ça devrait aussi marcher avec une seule),
- 1 ordinateur sous Linux,
- le programme « sox »,
- 2 haut-parleurs ou un casque
ou un bébé, - de la patience.
Et audiogen ?
C'est pareil que audiotest à part que... devine, ça fait des fichiers wav. Tu es content ?
Position future
De préférence allongé, mais assis dans un bureau, si tu me payes correctement, ça ira aussi.
Faudrait le (re)coder en python, ça serait quand même plus sympa. Mais d'un côté ça ne servira jamais à rien (je suis déjà surpris que tu aies lu jusqu'ici) alors si tu as du temps à perdre fais-le, c'est libre !
Tu peux aussi regarder comment le code est écrit, comme c'est fait à la rache y a pas de commentaire, par contre, y a du vrai code bash qui roxe (tableau, random, etc) :-)
Voilà
Amuse-toi bien, et n'oublie d'aller faire un vrai test, si tu n'as pas entendu ce billet.