GRIS-UdeM / SpatGRIS

Sound spatialization tool
GNU General Public License v3.0
57 stars 4 forks source link

Problème de communication OSC #269

Closed MelanieFrisoli closed 3 years ago

MelanieFrisoli commented 3 years ago

V2.1.10 J'envoie de l'OSC depuis Live à SpatGRIS et le comportement a complètement changé entre la v2.1.8 et la v2.1.10. Dans la v2.1.10, il n'arrive pas à faire les trajectoires que je lui demande et il fait clignoter mes sources (comme quand on assigne deux ControlGRIS aux mêmes sources) et le son "tremblote" également. Aussi, un des points ne bougent plus du tout. Et il y a un autre point bleu dans la fenêtre tout en haut alors que je n'ai jamais envoyé d'OSC à ce point. En vidéo ça donne ça :

https://user-images.githubusercontent.com/74631914/121553867-ad75ca80-c9df-11eb-80e0-ecbbbd795a24.mp4

Dans la v.2.1.8, tout fonctionne correctement :

https://user-images.githubusercontent.com/74631914/121553929-bb2b5000-c9df-11eb-93e8-68621e545095.mp4

SamuelBeland commented 3 years ago

Je vois que ça ne s'emble affecter qu'une seule source dans les vidéos, est-ce bien le cas?

Si oui, est-ce la source 5 ou 6?

Est-ce que ça serait possible de joindre le fichier de projet et celui du speaker setup?

Est-ce que quelqu'un d'autre a vécu quelque chose de semblable?

Normandeau commented 3 years ago

Commentaire: le point bleu semble appartenir aux entrées 1 ou 2. Cela me rappelle l'OSC fantôme de DP. Voir issue 144 (fermée) dans ControlGRIS. Catalina. Testé avec deux sessions DP utilisant ControlGRIS (contrairement à Mélanie). Une session avec 64 ControlGRIS stéréos, soit 128 canaux, tous automatisés. Une seconde session avec 56 canaux, 26 ControlGRIS stéréos automatisés. Aucun problème.

MelanieFrisoli commented 3 years ago

Retesté ce matin chez moi et toujours un comportement étrange, comme si il y avait un aimant à {x = 0, y = 1}. C'est le point vert (input 5). Les sources 7/8 ont un ControlGRIS (aucun problème à noter non plus avec ControlGRIS).

Voici avec juste un jeu sur l'azimuth :

https://user-images.githubusercontent.com/74631914/121681972-76f48a00-ca89-11eb-82c7-69bf1f8f45cb.mp4

En ajoutant une élévation fixe, il revient quand même au même point régulièrement :

https://user-images.githubusercontent.com/74631914/121682025-896ec380-ca89-11eb-8405-901f6fcd8075.mp4

J'ajoute aussi que le son ne se rend pas en sortie. Pourtant SpatGRIS le reçoit, mais ne l'assigne à aucune sortie. (je suis en mode dôme et binaural dans le logiciel)

Je vais t'envoyer le fichier du projet et du speaker setup par courriel car github ne supporte pas ce format (.xml)

Maintenant, je laisse Live ouvert avec cette session, je ferme SpatGRIS v2.1.10 et ouvre SpatGRIS v2.1.8 et tout fonctionne normalement (j'ai même du son - même réglages à ce niveau dans le deux SpatGRIS - mais je ne l'ai pas enregistré dans la vidéo):

https://user-images.githubusercontent.com/74631914/121682790-80cabd00-ca8a-11eb-9a56-8bdfd5689469.mp4

MelanieFrisoli commented 3 years ago

Petite précision : La différence par rapport à hier est qu'aujourd'hui j'utilisais mon séquenceur à pas de sources mono (input 5 au lieu de 5 et 6) Je refais des tests dans pas longtemps avec le séquenceur à pas pour sources stéréo.

MelanieFrisoli commented 3 years ago

Avec le séquenceur à pas stéréo : Fonctionne très bien avec v2.1.8 (même procédé que tantôt, je ne change pas la session Live, juste la version de SpatGRIS utilisé) et j'ai du son. Dans les vidéos pour la stéréo, ce sont les points roses qui nous intéressent - input 3/4)

https://user-images.githubusercontent.com/74631914/121684509-c5575800-ca8c-11eb-94c8-4539462e6267.mp4

Les deux SpatGRIS sont réglés pareil (ils reçoivent de BlackHole, envoient vers ma carte son, en 44100 Hz et 512 de buffer size - mode binaural).

v2.1.10 Je n'ai pas de son et l'OSC se comporte bizarrement :

https://user-images.githubusercontent.com/74631914/121684526-cab4a280-ca8c-11eb-9ce0-5d6b1a0f3087.mp4

SamuelBeland commented 3 years ago

Ce qui me semble le plus probable, c'est que quelque chose envoie vraiment des données OSC, mais que ces données sont "aléatoires", ou en tout cas que ses valeurs sont à l'extérieur des limites assumés par SpatGRIS.

Ça expliquerait pourquoi l'audio ne fonctionne pas non plus.

Est-ce que ton plugin custom envoie directement de l'OSC, ou bien est-ce qu'il contrôle ControlGRIS?

Je vais ajouter une façon de monitorer l'OSC dans SpatGRIS et je vais faire en sorte que les données OSC soient mieux nettoyées avant d'être appliquées au système.

MelanieFrisoli commented 3 years ago

​Allo Samuel, ​J'envoie directement de l'OSC depuis mon device Max for Live. ​Je me suis basée sur ce qui est écrit dans le manuel pour les données OSC et les limites à respecter. ​Je ne comprends pas trop pourquoi ça fonctionne bien dans la version 2.1.8 et plus dans la version 2.1.10. Est-ce que ces valeurs ont changé ?

SamuelBeland commented 3 years ago

Moi non plus je ne comprends pas très bien, mais en scrutant le code, je ne vois pas vraiment d'endroits où la position d'une source peut être modifiée mis à part là où sont traités les messages OSC.

J'ai vérifié le manuel et la description du format OSC qui y est toujours valide (il manque beaucoup de précision sur les message en mode CUBE, mais comme tu es en mode DOME ça ne devrait pas t'affecter).

Les valeurs OSC et leurs intervalles valides n'ont pas changés, mais la façon qu'a SpatGRIS de les nettoyer et de propager l'information jusqu'au sections qui s'occupent de la spatialisation est différente.

Si deux messages qui concernent la même source sont envoyés successivement, c'est possible que v2.1.8 pouvait ignorer le premier des deux. Aussi, si une valeur est en dehors de ce ControlGRIS produit normalement, le comportement peut être différent depuis v2.1.9.

Je vais ajouter un moniteur OSC dans SpatGRIS pour qu'on en ait le cœur net.

MelanieFrisoli commented 3 years ago

Ok super ! Merci Samuel :)

Le 11 juin 2021 à 22:15, Samuel Béland @.***> a écrit :

 Moi non plus je ne comprends pas très bien, mais en scrutant le code, je ne vois pas vraiment d'endroits où la position d'une source peut être modifiée mis à part là où sont traités les messages OSC.

J'ai vérifié le manuel et la description du format OSC qui y est toujours valide (il manque beaucoup de précision sur les message en mode CUBE, mais comme tu es en mode DOME ça ne devrait pas t'affecter).

Les valeurs OSC et leurs intervalles valides n'ont pas changés, mais la façon qu'a SpatGRIS de les nettoyer et de propager l'information jusqu'au sections qui s'occupent de la spatialisation est différente.

Si deux messages qui concernent la même source sont envoyés successivement, c'est possible que v2.1.8 pouvait ignorer le premier des deux. Aussi, si une valeur est en dehors de ce ControlGRIS produit normalement, le comportement peut être différent depuis v2.1.9.

Je vais ajouter un moniteur OSC dans SpatGRIS pour qu'on en ait le cœur net.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

NicolaGiannini commented 3 years ago

Je ne sais pas si cela est lié au comportement décrit par Mélanie, mais dans les versions V219 et V2110, SpatGRIS2 ne reçoit plus ni l'audio ni les signaux OSC de SpatGRIS1, le plug-in de contrôle prédécesseur de ControlGRIS. Par contre dans V218, la communication entre SpatGRIS1, le plug-in, et SpatGRIS2 fonctionne bien.

SamuelBeland commented 3 years ago

Est-ce que c'est nécessaire de rester compatible avec SpatGris 1?

Normandeau commented 3 years ago

Probablement pas... SpatGRIS1 date d'août 2017! ;-(

SamuelBeland commented 3 years ago

v2.1.11

@MelanieFrisoli, il y a maintenant une fenêtre de monitoring OSC rendue disponible dans l'onglet "View".

MelanieFrisoli commented 3 years ago

@SamuelBeland j'essaie ça très vite pour essayer de comprendre ce qu'il se passe avec mon device !

MelanieFrisoli commented 3 years ago

v2.1.11 Test de communication OSC. Bonne nouvelle on a progressé (un peu). SpatGRIS reconnaît bien les valeurs de Span Azimuth et Elevation mais c'est tout. Dans la fenêtre de monitoring, j'ai < INVALID FORMAT > tout le long.

Screen Shot 2021-06-18 at 1 45 44 PM

Même principe que la dernière fois, je fais fonctionner mon device avec SpatGRIS2.1.8 et je n'ai aucun problème. Je ferme la v2.1.8, j'ouvre la v2.1.11 et le comportement change complètement.

MelanieFrisoli commented 3 years ago

@SamuelBeland Est-ce que quand je clique sur "Record" c'est juste pour visualiser dans cette console ou ça enregistre vraiment un fichier sur mon ordinateur?

SamuelBeland commented 3 years ago

<INVALID FORMAT> veut dire que les messages ne respectent pas le format iffffff (une liste de nombres composée d'un entier puis de 6 nombres à virgule flottante) qui est attendu par SpatGRIS.

SamuelBeland commented 3 years ago

Est-ce que quand je clique sur "Record" c'est juste pour visualiser dans cette console ou ça enregistre vraiment un fichier sur mon ordinateur?

Non, c'est un mauvais choix de mot.

Normandeau commented 3 years ago

J'ai voulu tester d'autres modes de communication OSC avec Open Stage Control et Lemur. Mais ces deux outils communiquent avec ControlGRIS et non pas directement avec SpatGRIS. Quand même, le résultat des courses. Avec les mêmes réglages:

NicolaGiannini commented 3 years ago

Robert, J’avais testé moi aussi Open Stage Control. Je viens de refaire des tests, et dans mon cas, 10.14, entre le serveur, ControlGRIS, le mac et l'iPhone fonctionne bien. Testé aussi avec la dernière versione de Open Stage Control V1.9.10.

Normandeau commented 3 years ago

For whatever reason, ça fonctionne bien aujourd'hui. Le moniteur OSC de SpatGRIS semble très heureux...

MelanieFrisoli commented 3 years ago

v2112

Nouveaux tests avec mon séquenceur à pas spatial.

Le moniteur OSC n'écrit plus (alors que je n'ai encore rien changé). Cependant je remarque il manque 2 floats au message que je crée. Mon format était iffff au lieu de ifffffff. J'ai corrigé cela. Mais même avec 5 données au lieu de 7, le moniteur fonctionnait. Par contre, légère différence dans SpatGRIS. Avec 5 chiffres, absolument rien ne se passait. Avec 7 chiffres rien ne se passe non plus mais il a créé le point rouge correspondant à l'input. Mes deux derniers float sont alors réglés sur 0.

J'utilisais seulement 5 données car je n'envoie rien aux deux dernières qui sont, d'après le manuel :

  1. (f) The distance (1 is the surface of the dome)
    • Not used with VBAP.
  2. (f) The gain of the source.
    • Not used at the moment.

Bref en lisant correctement j'ai changé mon 0. pour un 1. sur l'avant-dernier float (c'est la distance et ça dit "1 is the surface of the dome").

et .... ÇA MARCHE !!!! Donc la différence entre SpatGRIS 2.1.8 et SpatGRIS 2.1.12 = il faut absolument lui fournir tous les chiffres qu'il demande.

https://user-images.githubusercontent.com/74631914/123339679-059ce880-d519-11eb-848a-e9c85336b934.mp4

MelanieFrisoli commented 3 years ago

v2.1.12 Dans mon moment de bonheur avec l'OSC réparé, j'en ai oublié de dire que je n'ai pas de son qui se rend à mon interface (donc dans mes oreilles) dans cette configuration. On voit pourtant bien l'input 2 qui module dans la vidéo ci-dessus et ça module dans les output 5 et 6 choisis. Je suis en mode binaural et je n'ai comme choix de sortie que les outputs du speaker setup (B-187) que j'ai choisi. Et donc pas de 1/2 qui est ma sortie d'écouteurs à la maison.

Screen Shot 2021-06-24 at 6 28 52 PM

Il faut donc que je crée deux autres hp dans mon speaker setup en les assignant à 1 et 2 pour entendre quelque chose en binaural. Ce que j'aimais dans la version 2.1.8, c'est que "Dome" "Cube" "Binaural" "Stereo" étaient au même niveau. On ne pouvait pas être en binaural et rester en mode Dome ou Cube et tous faisaient partie du même menu déroulant. Ce qui évitait des confusions. Le fait que, quand on passait en mode binaural, SpatGRIS présentait un nouveau speaker setup dédié et fasse automatiquement sortir le son en 1/2 était très pratique.

Cela étant, je trouve ça pertinent d'avoir le choix des sorties par la suite.

Capture d'écran de v.2.1.8 en mode binaural :

Screen Shot 2021-06-24 at 6 36 27 PM

MelanieFrisoli commented 3 years ago

Ça rejoint l'issue #273

SamuelBeland commented 3 years ago

Ce que j'aimais dans la version 2.1.8, c'est que "Dome" "Cube" "Binaural" "Stereo" étaient au même niveau. On ne pouvait pas être en binaural et rester en mode Dome ou Cube et tous faisaient partie du même menu déroulant. Ce qui évitait des confusions. Le fait que, quand on passait en mode binaural, SpatGRIS présentait un nouveau speaker setup dédié et fasse automatiquement sortir le son en 1/2 était très pratique.

C'est vrai que c'était pratique, mais il y a quand même quelques raisons qui nous on poussés à aller vers le fonctionnement actuel :

Normandeau commented 3 years ago

Commentaire. Le mode Binaural est destiné à l'écoute au casque. N'est-ce pas normal que rien ne sorte de 5-6 dans le dispositif du B187 puisque ce sont des sorties de subs, filtrées dans Total Mix à 95Hz. Donc à moins d'envoyer du très grave... Ensuite, si le dispositif ne contient pas les sorties 1-2, la solution effectivement est de créer celles-ci et de ne s'en servir que pour cela. Ou alors si tu as une RME, configurer la matrice en ce sens et brancher les écouteurs sur la carte son. Je mets cela dans le manuel. Cette issue est entrain de devenir complètement autre chose. Le problème OSC semble réglé, donc je la ferme. Merci Samuel pur le rappel.