Bonjour,
je suis en train d'essayer de développer une petite installation basée sur kinect et quadriphonie.
Pour cela, j'ai branché une caméra kinect V2 à mon PC via adaptateur USB. Ensuite, j'utilise l'application KinectV2-OSC (https://github.com/microcosm/KinectV2-OSC) .
Cette application me permet de récupérer dans Hollyhock pas mal de données issues du squelette repérées par la cam. Les adresses de ces messages sont formatés comme suit : /bodies/{bodyId}/joints/{jointId} où {bodyId} est une suite d'une quinzaine de chiffres assez imprévisibles.
Je vois passer cet index quand je fais place un module OSC-Lister dans mon patch, mais je ne sais pas comment le récupérer pour libeller correctement l'adresse d'un OSC-Recieve.
Le problème vient également du fait que dès que la personne sort du champ de la caméra et que quelqu'un (ou le même...) y revient, elle a un nouvel Id, et donc l'adresse dans le Lister est obsolète. Même ,en relancant l'autolearn et en cleanant la liste, ça ne fonctionne pas puisqu'Holyhock perd les sorties du listeur et donc les liaisons vers les autres modules, qui deviennent rouge-pointillé (inopérantes)...
Quelqu'un a déjà réussi à récupérer de l'OSC d'une Kinect comme ça ?
Merci par avance.
Jérôme
Kinect V2
Salut,
Si tu as la version expert, tu peux utiliser le traducteur OSC pour mettre une "wildcard"
[/bodies/*/joints/[jointID]]
target=/usine/joint/1
pour chaque articulation (1,2,3,4,5,6....)
https://www.brainmodular.com/manuals/hh ... translator
comme les articulations sont maintenant numérotées de 1 à N, tu peux utiliser un "global array data OSC" pour ranger toutes les données.
si tu n'as pas la version expert, tu peux réaliser le traducteur OSC avec processing qui peut être peut traiter directement les données de la kinect
https://github.com/ThomasLengeling/KinectPV2
OSC pour Processing : OSCP5
Bon courage !
Olivar
Si tu as la version expert, tu peux utiliser le traducteur OSC pour mettre une "wildcard"
[/bodies/*/joints/[jointID]]
target=/usine/joint/1
pour chaque articulation (1,2,3,4,5,6....)
https://www.brainmodular.com/manuals/hh ... translator
comme les articulations sont maintenant numérotées de 1 à N, tu peux utiliser un "global array data OSC" pour ranger toutes les données.
si tu n'as pas la version expert, tu peux réaliser le traducteur OSC avec processing qui peut être peut traiter directement les données de la kinect
https://github.com/ThomasLengeling/KinectPV2
OSC pour Processing : OSCP5
Bon courage !
Olivar
http://oli-lab.org
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
-
LevraiBernardo
- Site Admin
- Posts: 110
- Contact:
Merci bien Oli.
J'avais bien repéré le traducteur OSC, mais je n'ai pas la version expert. Et je me dis que je vais rapidement avoir un souci de conflit dès qu'un deuxième corps va rentrer dans le champ de la Kinect.
Je ne sais pas jusqu'à quel point je vais pouvoir échapper à la reprogrammation en Visual Basic de KinectV2-OSC pour remplacer les indexes "hasardeux" qu'il impose par un index simple (Body1, Body2...) et ainsi avoir une adresse OSC fixe.
Je vais voir ce que je peux bidouiller avec oscp5 et Processing, ça a l'air quand même plutôt plus tranquille.
Je regarde ça de plus près, je reposte dès que j'ai tenté des trucs.
Merci encore.
Jérôme
J'avais bien repéré le traducteur OSC, mais je n'ai pas la version expert. Et je me dis que je vais rapidement avoir un souci de conflit dès qu'un deuxième corps va rentrer dans le champ de la Kinect.
Je ne sais pas jusqu'à quel point je vais pouvoir échapper à la reprogrammation en Visual Basic de KinectV2-OSC pour remplacer les indexes "hasardeux" qu'il impose par un index simple (Body1, Body2...) et ainsi avoir une adresse OSC fixe.
Je vais voir ce que je peux bidouiller avec oscp5 et Processing, ça a l'air quand même plutôt plus tranquille.
Je regarde ça de plus près, je reposte dès que j'ai tenté des trucs.
Merci encore.
Jérôme
-
LevraiBernardo
- Site Admin
- Posts: 110
- Contact:
Hello,
après quelques recherches et modifications du code du KinectV2-OSC, j'arrive à récupérer l'index des corps repérés par une adresse OSC fixe. Donc avec un petit patch pour "parser" les adresses avec cet index, je peux tracker les squelettes présents devant la caméra.
D'un autre côté, j'ai un souci quand j'ai plusieurs corps dans l'espace pour repérer lequel a la main. Par défaut, ils se "passent" la main en permanence, ce qui crée des flux de données très instables. J'ai donc fait une deuxième version du KinectV2-OSC qui n'envoie en OSC "qu'un seul" corps. C'est à dire que le premier corps qui rentre dans le champ de la cam garde la main jusqu'à ce qu'il sorte, auquel cas le deuxième prend la main, ainsi de suite. Bon, après, on peut lui mettre un peu le caillon en passant l'un devant l'autre, et là il se mélange un peu les pinceaux. Mais l'ensemble est assez stable pour une installation en autonomie, c'était pour moi l'objectif.
Si cela intéresse l'un ou l'autre, je peux cleaner un peu mes patches pour avoir un add-on Kinnect "prêt à l'emploi".
après quelques recherches et modifications du code du KinectV2-OSC, j'arrive à récupérer l'index des corps repérés par une adresse OSC fixe. Donc avec un petit patch pour "parser" les adresses avec cet index, je peux tracker les squelettes présents devant la caméra.
D'un autre côté, j'ai un souci quand j'ai plusieurs corps dans l'espace pour repérer lequel a la main. Par défaut, ils se "passent" la main en permanence, ce qui crée des flux de données très instables. J'ai donc fait une deuxième version du KinectV2-OSC qui n'envoie en OSC "qu'un seul" corps. C'est à dire que le premier corps qui rentre dans le champ de la cam garde la main jusqu'à ce qu'il sorte, auquel cas le deuxième prend la main, ainsi de suite. Bon, après, on peut lui mettre un peu le caillon en passant l'un devant l'autre, et là il se mélange un peu les pinceaux. Mais l'ensemble est assez stable pour une installation en autonomie, c'était pour moi l'objectif.
Si cela intéresse l'un ou l'autre, je peux cleaner un peu mes patches pour avoir un add-on Kinnect "prêt à l'emploi".
bravo !
http://oli-lab.org
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces
follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social
-
gwennaelle
- Member
- Posts: 257
- Contact:
Bonjour LevraiBernardo,
ton patch a l'air super ! J'aimerais beaucoup l'essayer. Si la proposition d'Add-on Kinect est encore d'actualité, je serais preneuse
J'ai utilisé la kinect XBOX 360 et d'autres capteurs de mouvements (Leap, Hot Hand) il y a un moment et j'ai envie de re tester des choses, malheureusement les appli sont devenues incompatibles. (avant j l'utilisais avec Synapse et Ableton et Synapse n'est plus compatible avec mon OS)
Je suis donc sur Mac (à ce jour Mac Os Catalina), il faut encore que je trouve l'appli adaptée KinectV2-OSC. Et J'espere que le patch pour Kinect V2 est compatible avec kinect XBOX 360.
Voilà, si jamais, merci beaucoup ! Bonne journée
ton patch a l'air super ! J'aimerais beaucoup l'essayer. Si la proposition d'Add-on Kinect est encore d'actualité, je serais preneuse
J'ai utilisé la kinect XBOX 360 et d'autres capteurs de mouvements (Leap, Hot Hand) il y a un moment et j'ai envie de re tester des choses, malheureusement les appli sont devenues incompatibles. (avant j l'utilisais avec Synapse et Ableton et Synapse n'est plus compatible avec mon OS)
Je suis donc sur Mac (à ce jour Mac Os Catalina), il faut encore que je trouve l'appli adaptée KinectV2-OSC. Et J'espere que le patch pour Kinect V2 est compatible avec kinect XBOX 360.
Voilà, si jamais, merci beaucoup ! Bonne journée
Who is online
Users browsing this forum: No registered users and 7 guests
