Bonjour,
Voilà les nouvelles : j'ai essayé les pink noise fenêtré en bande passante à 1/3 d'octave, impossible d'annuler l'onde du haut parleur du line array et du casque. Du coup je suis retombé sur la méthode qui donnait des incohérences mais qui semblait malgré tout extrêmement précise : l'annulation d'une sinusoïde.
Je me rappellais que le sinus ne s'annulait pas complètement et qu'au réglage qui semblait le plus proche de l'optimal, le son se décalait d'un côté (à droite je crois de mémoire). Je me suis donc dit qu'il y avait une différence de niveau sonore entre l'écouteur G et l'écouteur D sur mon casque SONY. Du coup, comme les réglages sont extrêmement fastidieux, j'ai réfléchi à la mise en place d'une interface me permettant d'ajuster indépendamment le délai et le gain pour le côté G et le côté D.
J'ai réalisé une interface ainsi : j'utilise une manette XBOX 360 et un programme en langage C que j'ai récupéré quelque part avec quelques 50 lignes de code qui permet de lire les boutons activés/désactivés sur la manette en temps réel. Je me sers donc de ce programme pour garder en mémoire et incrémenter ou décrémenter des variables atténuation / délai pour chaque canal et pour afficher sur le terminal la nouvelle valeur d'atténuation / de délai. Ce programme lance un script "except", qui est en gros un script qui permet d'intéragir avec un programme. Ce script me permet de lancer une connection CLI sur brutefir, d'exécuter une commande pour changer l'atténuation ou le délai sur un canal (ou les deux) et de libérer ensuite immédiatement la connection CLI de Brutefir.
J'ai recommancé les essais en partant de 100hz, et j'ai obtenu un premier réglage, avec une bien meilleure atténuation des signaux line-array / casque que ce que je n'avais auparavant : cette fois le signal est bien très fortement atténué des deux côtés. Une image du premier réglage obtenu @ 100hz :
https://drive.google.com/open?id=1dyvT2YR1e0p7d0z3U_q29JWSc2DepbB2Comme je l'avais prévu, l'atténuation doit être différente sur les écouteurs G/D : il y a 2.2dB d'écart entre les deux écouteurs ! Le délai est exprimé en échantillons, sachant que je suis à 96khz. La résolution du délai était de 5 échantillons par 5 échantillons : j'aurai dû mettre 2 échantillons car le réglage du délai est relativement précis ! Pour le gain, un réglage par pas de 0.2dB était à peine suffisant, j'aurai dû mettre 0.1dB. Autrement dit, la précision est relativement extrême, à la fois pour le gain et pour le délai. Mais la position est aussi très sensible : si je bougeait de +/-30cm le réglage n'était pas le même.... ce qui paraît cohérent pour le délai. Etant donné qu'on est qu'à 100hz, j'imagine mal pouvoir faire ce réglage d'annulation de sinus a 2500hz.... ou une variation de position de quelques mm. entraînerait un déréglage !
Au lieu de faire 1/3 d'octave par 1/3 d'octave, j'ai incrémenté de 1hz la fréquence pour voir si j'entendais une différence, et oui : au début j'ai augmenté de 3hz, parce que je trouvais ça excessif, mais finalement j'ai fini par faire une mesure pour une variation de 1hz pour voir si les réglages obtenus étaient consistents et donc si j'obtenais une courbe plutôt lisse ou une courbe plutôt accidentée (signe de mauvaise précision de réglage). Voici ce que j'ai obtenu pour différentes fréquences :
Format : Fréquence Atténuation en dB gauche / droite Délai en échantillons gauche / droite
100 -20.6 / -22.8 355 / 355
103 -20.8 / -22.4 355 / 350
105 -20.4 / -21.8 355 / 350
106 -20.2 / -21.4 355 / 350
107 -20.0 / -21.0 355 / 360
108 -19.6 / -20.6 360 / 360
110 -19.0 / -19.8 365 / 370
111 -18.6 / -19.4 375 / 380
112 -18.4 / -19.4 380 / 385
113 -18.2 / -19.0 385 / 400
114 -18.0 / -18.8 395 / 405
J'ai enregistré les valeurs d'amplitude sur un fichier .csv pour le côté G et pour le côté droit et importé ça dans REW, ce qui me donne ceci :

La courbe est parfaitement lisse et me semble donc être une très très bonne estimation d'amplitude (et je pense du délai de groupe aussi) de la différence entre la fonction de transfert de ma perception subjective pour une source venant de face (très faiblement atténué par mon casque) et la fonction de transfert de cette même source. Si je veux obtenir la fonction de transfert (HRTF) d'une source venant de face, je n'ai donc qu'à faire la fonction de transfert évaluée ici convoluée par l'inverse de la fonction de transfert de ma source venant de face mesurée au point d'écoute.
Je vais essayer dans un premier temps d'évaluer petit à petit le spectre de 20Hz à 150hz environ, puis je le comparerai avec la HRTF que j'avais crée en faisant les mesures à l'intérieur de l'oreille / devant l'oreille, avec les deux micros, avec ou sans calibration etc. pour voir quelle HRTF s'en rapproche le plus. Mais bon, i'a encore du boulot....

Des captures d'écran des mesures sont dispos ici :
https://drive.google.com/open?id=1w46cdWmKvKU0OdqrOkRHxiUhOpJ-P4yu