Auteur Sujet: Courbe cible d'une reproduction sonore en configuration "stéréo"  (Lu 875 fois)

LeChacal619

  • Sr. Member
  • ****
  • Messages: 1767
    • E-mail
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #30 le: septembre 30, 2018, 22:26:46 pm »
Jean, je vous propose la démarche suivante :
- Je cherche à l'écoute ce qui marche le mieux pour moi. Il y a 3 paramètres à trouver, F, Q et Att.
- Puis je vous donne les données géométrique pour le calcul.
- Nous comparons théorie et pratique, avec éventuellement un essais supplémentaire.

Oui ca me parait etre une tres bonne approche ;-) je tenterai du cote theorique de faire non pas un seul calcul mais un ensemble de calculs :

- avec des filtres HRTF de differents individus (une centaine ca me parait bien)
- en considerant une tolerance de +/-5 degres sur l'angle d'incidence de l'individu positionne au sweetspot
- en considerant une zone autour du sweetspot plutot que le sweetspot uniquement,

On obtiendra alors une distribution de compensations possibles, ce qui devrait permettre d'avoir une idee de la sensibilite de la compensation a ces differents parametres et en deduire une compensation plus robuste. J'essaierai de faire en sorte de partager un script Gnu Octave qui permette de realiser ses propres calculs avec uniquement des logiciels gratuits.

Cdlt,
Jean
« Modifié: septembre 30, 2018, 22:28:21 pm par LeChacal619 »

pompon

  • Newbie
  • *
  • Messages: 108
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #31 le: octobre 01, 2018, 13:29:11 pm »
Je ne comprends pas ce post car il tombe dans le mathématique un peu trop vite pour moi.

Chaque oreille entend les 2 hp à la fois.
Je ne saisis pas pourquoi il faudrait faire une correction.

Pourriez-vous préciser un peu plus en détails la problématique que vous voyez ?

Je comprends que des hp ont un gros problème à la base ou justement, les 2 oreilles entendent les 2 hp à la fois, ce qui n'arrive pas avec des écouteurs.

Par contre, les sons trop près sont automatiquement additionnés par notre cerveau pour ne former qu'un seul son distinguable.

pompon

  • Newbie
  • *
  • Messages: 108
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #32 le: octobre 01, 2018, 13:59:15 pm »
Ok, j'ai lu le papier de Dirac et l'autre sur comment restaurer l'image centrale ... et cela a répondu à mes questions.

Cela est vrai qu'en chambre sourde. Avec les réflexions de votre pièce, vous avez probablement besoin que d'un boost beaucoup plus modeste que celui annoncé.


LeChacal619

  • Sr. Member
  • ****
  • Messages: 1767
    • E-mail
Re : Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #33 le: octobre 01, 2018, 15:18:59 pm »
Bonjour,

Cela est vrai qu'en chambre sourde. Avec les réflexions de votre pièce, vous avez probablement besoin que d'un boost beaucoup plus modeste que celui annoncé.

Dans mon cas, les reflexions de pieces sont tres faibles (EDT proche de 0 sur tout le spectre). Effectivement avec les reflexions de piece, ce boost doit probablement etre plus modeste. Nous ne savons pas encore si la frequence centrale du boost a appliquer change avec l'angle des enceintes. Nous devons donc trouver une correction a appliquer avec un simple egaliseur parametrique. Dominique propose de chercher les parametres (frequence, facteur qualite, gain) a l'ecoute, que je calcule la correction theorique, et de comparer les resultats pour voir s'il y a une certaine coherence ou non.

Cdlt,
Jean
« Modifié: octobre 01, 2018, 15:43:38 pm par LeChacal619 »

LeChacal619

  • Sr. Member
  • ****
  • Messages: 1767
    • E-mail
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #34 le: octobre 05, 2018, 17:09:30 pm »
Bonjour,

Je pense que j'avais mal calculé ma courbe cible la première fois. En cherchant des filtres HRTF pour différents individus pour faire un calcul plus robuste, j'ai trouvé un jeu de données ici : http://gershwin.akustik.rwth-aachen.de/hrtf/hrtf-lic.php

Il suffit de remplir le formulaire, puis un lien qui n'est valide que 2 heures, vous est envoyé. Le jeu de données présente des HRTF pour 48 individus, au format SOFA (et au format itaHRTF que je n'ai pas utilisé). J'ai mis une heure pour vérifier que j'avais bien compris les données... Il vous suffit de télécharger l'API matlab SOFA, ajouter le dossier au path de matlab, télécharger et extraire les fichiers SOFA de la base de données que j'ai donnée auparavant. J'ai utilisé ce script si vous voulez vous amuser : https://drive.google.com/open?id=1OY93G5qSQfjT62JT1eLmu40EO_seLjWZ.

En analysant le premier jeu de données, j'ai essayé de comparer l'impulsion oreille gauche vs oreille droite, pour voir si la référence temporelle était cohérente ou non dans les impulsions. En effet, le délai influe sur la sommation des réponses d'impulsions pour la source gauche et droite pour une même oreille : je préfére utiliser le délai de l'expérimentation plutôt que de calculer un délai erroné. Avec REW, il semble qu'a l'import d'une impulsion au format .wav, l'alignement temporel du pic d'impulsion soit automatiquement calculé et l'impulsion automatiquement décalée temporellement. En revanche sur Matlab, si j'affiche les deux impulsions gauche et droite, les impulsions sont bien décalées, exemple pour une source situé 90° à gauche :


Le délai est d'environ 44-18 = 26 échantillons, soit pour 44.1Khz un délai de 0.59ms. Ca représente une largeur de tête de 20cm, sauf que la largeur de tête (distance entre les orifices et donc la position des micros) dans les expérimentations est de 14cm en moyenne (ca varie de quelques cm entre chaque individu, souvent moins de 2). J'en déduis que l'onde parcours environ 20cm pour "contourner" la tête.... Mais bon, on a vu que les impulsions sont correctement référencées temporellement, donc je m'abstiendrai de ce calcul de délai dorénavant.

J'ai tout d'abord extrait les impulsions des oreilles G et D pour les 48 individus pour une source de face, que j'ai aligné temporellement et pour lesquelles j'ai ensuité réalisé un vector average. Comme il n'est pas possible de faire cela pour 48 mesures, j'ai fais un premier average sur les réponses des individus 1 à 20, puis un second average sur les réponses des individus 21 à 48, puis j'ai moyenné les deux impulsions obtenues sur ces deux paquets.

Ensuite, j'ai considéré une écoute stéréophonique avec deux sources disposées à un certain angle par rapport au centre. Par exemple, 30 degrés.
Pour chaque individu, j'ai extrait les 72 impulsions les plus proches du plan horizontal (l'auditeur est a une position (0,0,0), donc la source doit être a une hauteur (x,y,z proche de 0). Sur le premier fichier MRT01.sofa, il s'agit des impulsions 16,32,64....,2304. Mais sur les autres individus, les mesures ne sont pas indexées de la même manière. En revanche, il semble y avoir toujours 72 impulsions proches du plan horizontal (résolution de 5 degrés sur l'azimut). J'ai donc extrait dans un premier temps les 72 impulsions horizontales. Puis j'ai cherché l'impulsion dont l'azimut est le plus proche de celui des enceintes. Je n'ai pas fait d'interpolation : si l'angle est 29°, l'impulsion sera celle avec un azimut de 30°, je n'interpole pas entre l'impulsion de 25° et de 30° donc.
Puis j'ai utilisé Matlab pour effectuer une transformée de Fourrier, une sommation des impulsions pour la source G et la source D pour chaque oreille, puis j'ai calculé la transformée inverse pour calculer l'impulsion, que j'ai alors exporté en .wav.
Ensuite, j'ai calculé a l'aide de REW un moyennage vectoriel pour les 48 impulsions de l'oreille G (combinant le signal de la source G et de la source D), et un moyennage vectoriel des 48 impulsions de l'oreille D, enfin un moyennage vectoreil des 2 car la tête est a peu près symétrique. J'ai procédé, comme tout à l'heure, par paquet de 20 à 28 impulsions.

J'ai ensuite calculé la compensation qu'il faut appliquer pour obtenir une réponse similaire à celle d'une source frontale. J'ai réalisé ceci pour trois angles de configuration : 25° (ma configuration), 30° (la configuration "standard" recommandée), et 45° (la configuration de Dominique Pétoin). Voici le résultat, que j'ai aligné en amplitude à 500hz et que j'ai fenêtré temporellement avec une FDW de 6 cycles et que j'ai lissé a 1/3 octave :


Je fais plusieurs constats :
  • Entre les courbes 25° et 30°, l'écart sur la bande passante 180Hz à 6000Hz ne dépasse pas 1dB, ce qui est signe que les réponses calculées sont plutôt fiables, consistantes.
  • Entre les courbes 30° et 45°, l'écart est important dans le haut du spectre : environ 10dB d'écart à 3khz, ce qui est signe que dans un champ libre, l'angle d'incidence des enceintes est sensiblement importante.... si 30° est la courbe de référence, il faut fortement atténuer entre 5 et 10khz, en tout cas par rapport à la bosse à 3khz !
  • Si les enregistrements sont masterisés pour sonner "bien" a 30°, je n'ai pas besoin de corriger ma réponse ou très très peu
  • Si les enregistrements sont faits en mono et ne sont pas masterisés pour sonner "bien" spécifiquement en stéréo à 30° d'incidence (par exemple pour un film encodés en surround et downmixé en stéréo...) , il faut (évidemment toujours en champs libre...) compenser légèrement le haut du spectre : +2dB vers 3.5khz sur 1 octave, et (+4 à +5dB) vers (7 à 7.5Khz) sur 0.4 octave environ.

Je vais essayer d'ajuster ma courbe cible vers cette nouvelle correction.

Cdlt,
Jean
« Modifié: octobre 05, 2018, 17:16:47 pm par LeChacal619 »

LeChacal619

  • Sr. Member
  • ****
  • Messages: 1767
    • E-mail
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #35 le: octobre 06, 2018, 00:33:30 am »
En fin de compte la courbe cible initiale était la bonne, j'avais un bug dans le choix des impulsions (calcul tricky de l'azimut...), et il y a un fichier dont les coordonnées semblent corrompues (le fichier MRT15.sofa). Du coup j'ai refais des calculs mais avec seulement 13 fichiers par côté pour pouvoir faire le moyennage des deux oreilles d'un coup.


Les nouvelles courbes cibles pour différents angles, en prenant 0 degré comme référence :




En prenant 30 degré comme référence :


Toutes les réponses d'impulsions calculées ici au format .mdat, le script ici.

Les courbes sont seulement lissées à 1/2 octaves, je n'ai pas fenêtré temporellement ça n'a pas de sens.

A vous de décider la référence à choisir maintenant : 0° ou 30° ? :D
« Modifié: octobre 06, 2018, 01:09:48 am par LeChacal619 »

LeChacal619

  • Sr. Member
  • ****
  • Messages: 1767
    • E-mail
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #36 le: octobre 17, 2018, 23:15:17 pm »
Bonjour,

Des nouvelles Dominique du réglage à l'oreille ? Moi j'ai changé de position : je me suis légèrement avancé, donc mon angle c'est ouvert. Entre temps, je suis allé faire une écoute chez un audiophile vers Saint-Sulpice-la-pointe, pas loin de chez moi. J'ai ensuite fait une pause de plusieurs jours sans écoute (ou a faible volume). J'ai regardé des films : il me faut une courbe plate sur les films, et pas une courbe ISO-X ! Quant à la musique, à écoute raisonnable ca manque clairement d'aigus : j'ai du appliquer une courbe de correction, mais je ne veut pas spoiler !

Cdlt,
Jean

Tonipe

  • Administrator
  • Hero Member
  • *****
  • Messages: 6314
    • E-mail
Re : Courbe cible d'une reproduction sonore en configuration "stéréo"
« Réponse #37 le: octobre 18, 2018, 17:27:22 pm »
Bonjour

Je n'ai pas avancé depuis que je me suis rendu compte que si l'image sonore était bien plus centrée, la réponse des instruments était modifiée.
Je ferai d'autre tests, mais je n'y crois plus.

Cordialement, Dominique.