GRIS-UdeM / SpatGRIS

Sound spatialization tool
GNU General Public License v3.0
59 stars 6 forks source link

Différence de niveau et de spectre entre STEREO et BINAURAL #271

Closed Normandeau closed 2 years ago

Normandeau commented 3 years ago

V2110 Il y a une très grande différence de niveau (environ -6dB) en STEREO par rapport à BINAURAL. Mais aussi le timbre est aussi très étouffé en STEREO par rapport à BINAURAL. Est-ce juste le niveau moindre qui crée cela? Vérification faite avec un analyseur spectral: non, les aiguës sont très diminuées en STEREO.

SamuelBeland commented 3 years ago

[...] les aiguës sont très diminuées en STEREO

Je crois que c'est plutôt le mode BINAURAL qui boost les hautes fréquences.

Après ce qu'Olivier nous avait mentionné, j'ai pensé que c'était surement dû à un problème de phases causé par l'interaction [VBAP ou LBAP]->HRTF, mais je constate que l'effet persiste même lorsque j'isole HRTF. Je vais m'informer pour savoir si c'est un effet normal.

Il y a une très grande différence de niveau (environ -6dB) en STEREO par rapport à BINAURAL

Le mode STEREO pourrait être un peu boosté, mais je crois que BINAURAL est peut-être un peu trop fort aussi. STEREO semble diminuer beaucoup les sources placées au centre de l'espace. J'utilise en ce moment un pan law linéaire. Je vais en essayer d'autres (logarithmiques ou sinusoïdales) pour la prochaine version.

SamuelBeland commented 3 years ago

v2.1.10

Après vérification, je confirme que le transfert HRTF va fréquemment booster les hautes fréquences.

Par contre, je viens aussi de réaliser que j'ai commis quelques fautes dans le code BINAURAL en tentant de l'optimiser il y a quelques semaines. C'est très probables que ces fautes contribuent aussi aux filtres étranges que l'on peut entendre dans v2.1.10.

Je vais revisiter cette section pour la prochaine version.

Normandeau commented 3 years ago

V2111 Je pense qu'il y a un peu d' amélioration. Mais il y a quand même de grandes différences qui persiste.

Niveaux, Stereo: Niveaux Stereo

Niveau, Binaural: +3dB: Niveaux Binaural

Bruit rose, Stereo: Bruit rose Stereo

Bruit rose, Binaural: crête importante entre 1600 et 6300Hz et perte dans le grave: Bruit rose Binaural

Normandeau commented 3 years ago

La loi de panoramisation semble corrigée. En effet, on a -3dB au centre sur les deux canaux, ce qui correspond bien à la loi de puissance où il est spécifié que deux sources augmentent la puissance de 3dB.

NicolaGiannini commented 3 years ago

Je confirme ce que Robert dit. En faisant des tests avec du bruit rose, de manière totalement subjective, j'ai trouvé plus fidèle la version stéréo (bien que plus faible) et cela semble cohérent avec l'analyse du spectre postée par Robert.

SamuelBeland commented 3 years ago

Après un peu de lecture, je comprend que le filtrage qu'on peut entendre dans SpatGRIS est typique des transferts HRTF. Tellement que c'est un problème qui a déjà été réglé :

diffuse-field equalization : Its principle consists in using a reference soundfield to equalize the HRIR. This equalization technique is called "decoupled equalization" [Blauert97,Larcher98], because the recording system and the reproduction system can be equalized in independent sessions using different equipment : the effect of the amplifier, microphones and ears canals are eliminated locally in each session.

(lien)

Les HRIR (head-related impulse responses) utilisés dans SpatGRIS (KEMAR mesuré au MIT) sont disponibles librement en version diffuse-field equalized. Je viens de les essayer dans SpatGRIS et ça sonne vraiment bien. L'égalisation augmente même beaucoup le réalisme de la spatialisation.

Je vais remplacer les HRIR de pour ceux-ci.

Normandeau commented 3 years ago

V2112 Grosse amélioration en effet. Déjà sur le plan des niveaux de sorties, Stereo et Binaural sont à peu près équivalents en terme de lecture VU. Et sur le plan sonore, légère augmentation du niveau du signal perçu en mode Binaural. Cela apparaît plus clairement avec une pièce dense et complexe. Ce n'est pas désagréable au contraire, mais le contraste est plus prononcé quand on passe de Stereo à Binaural. En testant avec une source sonore très bruiteuse, on constate la présence d'un filtre passe-bas lorsque le son se positionne à l'arrière, ce qui est réaliste. Précision plus grande sur les côtés et contraste avec l'avant.

En terme de CPU, avec une grosse session de 104 canaux audio, tous spatialisés, Mode DOME 20.4:

Même session en mode CUBE 32:

STEREO, Bruit rose: Stereo

BINAURAL, Bruit rose: Binaural

Normandeau commented 3 years ago

Parti trop vite. Voici la fin: MacOS 10.15, i9, 8 coeurs. À comparer sur d'autre machines et d'autres OS. Mais en ce qui me concerne, on peut publier avec ces performances.

Normandeau commented 3 years ago

Infos complémentaires. Différence de niveau entre Stereo et Binaural avec un projet complexe: environ -6dB pour le premier. Ce n'est peut-être pas important, mais je pose la question: pourquoi cette différence?

Stereo (± -18dB): Stereo VU

Binaural (± -12dB): Binaural VU

SamuelBeland commented 3 years ago

La diminution de CPU en STEREO par rapport au DOME, est-elle due à l'élimination des Spans? Précisions à mettre dans le manuel.

Le azimuth span est pris en considération pour le mode STEREO, mais pas le elevation span. Aussi, ça vaut la peine de mentionner que le azimuth span en STEREO ne fait que tirer la source vers le centre. Contrairement à BINAURAL, le mode STEREO n'applique pas du tout VBAP ou LBAP : c'est seulement l'interprétation des positions OSC qui change. Il n'y a donc aucune différence dans le traitement audio entre DOME+STEREO et CUBE+STEREO.

Le mode STEREO est un traitement audio beaucoup plus simple que VBAP ou LBAP, de là la différence de consommation de CPU.

Différence de niveau entre Stereo et Binaural avec un projet complexe: environ -6dB pour le premier. Ce n'est peut-être pas important, mais je pose la question: pourquoi cette différence?

Dans le mode BINAURAL, la source est "pannée" par VBAP ou LBAP et ensuite chaque speaker est envoyé à chaque oreille en utilisant un transfert HRTF. On a donc une certaine addition (une "contamination croisée") des sources qui est beaucoup moins contrôlée qu'en STEREO.

Peut-être qu'on pourrait essayer d'appliquer un petit panning stéréo, soit juste avant le processing VBAP ou LBAP ou juste avant le transfert HRTF. Ça pourrait emmener les niveaux à quelques chose de plus stable et peut-être même augmenter un peu la qualité de la spatialisation.

À ce sujet : autant en VBAP qu'en LBAP, les spans vont augmenter la puissance totale d'une source. Je n'ai pas eu souvent la chance d'utiliser SpatGRIS dans un vrai setup multi-hp, mais j'imagine que la puissance perçue augmente aussi. J'imagine que c'est peut-être même un effet désirable! Par contre, comme STEREO ne passe pas par VBAP ou LBAP (contrairement à BINAURAL), on se retrouve avec une modulation de puissance d'un côté et rien de l'autre.

En BINAURAL, l'augmentation cumulative du volume vient s'additionner dans les deux seuls canaux et devient très perceptible alors qu'en STEREO, la puissance d'une source n'augmente jamais avec le span.

Vidéo d'un tone simple à -18 dbfs. Modification des spans en DOME, puis en DOME+BINAURAL, puis en DOME+STEREO.

https://user-images.githubusercontent.com/39448259/123456035-61668080-d5b0-11eb-862c-7d53a1df05b8.mp4

NicolaGiannini commented 3 years ago

Voici un test de CPU Session de 94 canaux tous spatialisés, Mode DOME 32.2

DOME: 13%; STEREO: 5%; BINAURAL 19%.

Même session en mode CUBE 32.2:

CUBE: 36%; STEREO: 7%; BINAURAL 23%.

MacOS 10.14, i7, 4 coeurs

La réduction binaural, de façon totalement subjective, me semble plus détaillée et plus axée vers les moyen-aigus par rapport à la réduction stéréo.

MelanieFrisoli commented 3 years ago

Petit test de CPU également : Session dans Live de 76 canaux spatialisés, Speaker Setup 32.2 (b-187) / Session 48 kHz - 512 buffersize MacOs 10.13 / i5 3,3GHz / 16GB RAM

Remarque : court buzz lors du changement entre les différents modes dans SpatGRIS (Cube-Dome-Binaural-Stereo)

Mode DOME : 30 % - Stereo : entre 20 et 30% - Binaural : entre 40 et 50% Mode CUBE : 60% - Stereo : entre 30 et 40% - Binaural : 55%

Même essai refait 30 min plus tard sans rien changer sur mon ordinateur (les mêmes applis sont ouvertes), tout a baissé de moitié !

MelanieFrisoli commented 3 years ago

V2.1.12 Je n'avais pas eu le temps de faire des tests de différence entre les résultats du binaural et de la stéréo mais je me rattrape. Cela donne des différences assez importantes de mon côté. Les tests ont été fait sur le même extrait de 20 secondes d'une pièce de 76 canaux spatialisés enregistrés à l'aide de SpatGRIS. La différence est déjà très visible sur la forme d'onde mais aussi avec les différentes mesures faites.

BinauralVSstereo

Mesures sur l'enregistrement binaural : TestBinauralLUFS

https://user-images.githubusercontent.com/74631914/123551528-3f036d00-d740-11eb-9153-45499e9613bc.mp4

Mesures sur l'enregistrement stéréo :

TestSTEREO

https://user-images.githubusercontent.com/74631914/123551555-56425a80-d740-11eb-8092-b2becac80bfb.mp4

MelanieFrisoli commented 3 years ago

(SUITE)

=> Une différence de presque 10dB entre les True Peak des deux enregistrements. Également une différence de plus de 6dB RMS entre les deux fichiers Également 10dB LUFS que ce soit sur le long-terme ou sur les valeurs momentanées.

Aussi, de manière plus subjective, en remettant les deux fichiers au même niveau, la différence timbrale est assez importante également. Le fait que l'extrait est assez "bruiteux" fait sûrement ressortir encore plus les différences. Je me permets de vous les partager car c'est même assez drôle comme ce ne sont pas les mêmes éléments de la pièce qui ressortent suivant la version. P.s 1 : J'ai bien conscience que ce soit normal que cela sonne différemment entre binaural et stéréo au vu des deux technologies complètement différentes utilisées) P.s 2 : Le binaural sonne beaucoup mieux qu'avant (j'ai fait d'autres tests avec des trajectoires et c'est plutôt bien réussi !

https://user-images.githubusercontent.com/74631914/123552181-f7321500-d742-11eb-96c6-457566d97d7f.mp4

https://user-images.githubusercontent.com/74631914/123552182-f7caab80-d742-11eb-9f0d-930003c8ee1c.mp4

Normandeau commented 2 years ago

V319 Comme déjà mentionné par ailleurs, l'amélioration du Binaural est une entreprise permanente pour nous!