Développé par Martin Kaltenbrunner et Ross Bencina au sein du groupe de Technologie musicale à l’université Pompeu Fabra de Barcelone, ce logiciel fait partie du projet Reactable, un instrument de musique électro-acoustique basé sur une interface utilisateur tangible.
La reactable est un instrument de musique électro-acoustique pour utilisateurs multiples. Utilisant le dessus d’une table vitrée comme interface utilisateur tangible, plusieurs personnes peuvent dès lors partager simultanément le contrôle de l’instrument. Basée sur le déplacement d’objets physiques sur la surface de la table, la reactable génère également des topologies sonores différentes.
Fabriquer sa reactable
Le matériel de base de la reactable est composé d’une table ronde translucide, une caméra vidéo située sous la vitre, de façon à permettre l’analyse continue de la surface de la table, et d’un projecteur adéquat situé également sous la vitre.
Plus chip, la solution proposée par Jean-Yves Gratius
1 carton d’emballage 32*32*26 cm
1 plaque de plexiglass 25*50 cm
1 miroir 30*30 cm
une webcam avec une qualité correcte à 640*480
le module reacTiVision
l’extension de l’application « client »
Et ce tutorial (en anglais, sorry) développé par un chercheur localisé à Berne.
reacTIVision est un Open Source multi-plateformes permettant la captation rapide de marqueurs fiduciaires attachés à des objets physiques. Cette application autonome envoie des messages de contrôle OpenSound par UDP à toute application client suivie. Elle rend effectif le protocole TUIO pour la transmission de l’état d’objets tangibles et pour le contrôle d’un multi-toucher sur une surface plane.
Télécharger reacTIVision-1.3-mac.zip (MacOS X)
Passons maintenant aux différentes étapes d’utilisation.
Les marqueurs fiduciaires
Conçue pour traquer des marqueurs fiduciaires spécifiques, vous trouverez la série ’amoeba’ de 90 fiduciaires dans le fichier implicite.pdf situé dans le dossier ’symbols’. Imprimer ce document et attacher les étiquettes à n’importe quel objet que vous voulez traquer. Actuellement, le multi-touche est géré par un traqueur de doigt utilisant de petits autocollants, que vous trouverez dans doigt.pdf. À savoir, les prochaines versions de reacTIVision ne nécessiteront plus l’utilisation de ces autocollants.
Utilisation pratique de l’application
Avant de lancer reacTIVision, assurez-vous de bien avoir connecté une caméra à votre système, auquel cas l’application ne fonctionnerait pas. Enfin, vous devrez choisir et configurer votre caméra au démarrage. Apparaîtra ensuite une fenêtre vidéo permettant la visualisation de votre image.
La touche « S » de votre clavier permet de visionner l’image source.
La touche « N » stoppe la visualisation.
La touche « T » retourne à l’image de base.
La touche « R » permet d’ajuster les frames.
La touche « B » exporte l’image active au format .bmp.
La touche « P » arrête l’analyse de l’image.
La touche « F » bascule le display d’informations de FPS dans la barre de titres.
La touche « V » imprime les données de symbole actuellement reconnues par la console et dessine les ID de symboles reconnues à l’écran.
La touche « H » affiche l’aide en et hors ligne.
La touche « ESC » quitte l’application.
Les options en lignes de commandes
Par défaut, reacTIVision envoie les messages de TUIO au port 3333 sur localhost (127.0.0.1). Vous pouvez changer ces options par l’utilisation des commandes -h [ip-address] et -p [port-no].
La commande -f vous permet de choisir le moteur de reconnaissance fiduciaire. Par défaut, le moteur utilise la série des fiduciaires ’amoeba’. En ajoutant l’option « classique » vous pourrez utiliser votre propre implémentation. Vous pourrez revenir au moteur original par le biais de l’option « dtouch ».
ReacTIVision a besoin de connaître la structuration des symboles et leur ordre d’importance. La configuration de l’arborescence ’amoeba’ est déjà incluse dans l’application. Si vous voulez utiliser votre propre arborescence (par exemple, changer l’ordre fiduciaire) vous devrez utiliser la commande -t [l’arbre-dossier].
Pour démarrer reacTIVision en lignes de commandes sous MacOS X, taper :
Le calibrage
Quelques tables, telles la reacTable, utilisent un miroir convexe afin d’augmenter le champ de visibilité de la caméra. Ce miroir, tout comme certaines lentilles, déforme malheureusement l’image. reacTIVision inclut un algorithme de correction appelé grid file. Ces grilles de correction peuvent être générées au moment du calibrage. Pour ce faire, placez une feuille de calibrage (en lien ci-dessous) sur la table et ajuster les points de la grille de calibrage sur ceux de la grille imprimée comme suit.
Télécharger la feuille de calibrage rectangulaire
Télécharger la feuille de calibrage carrée
Pour accéder au calibrage, tapez la commande ci-dessous :
La touche « C » permute en mode calibrage.
La touche « G » affiche à l’écran la grille imprimée et la grille de calibrage.
Utiliser les touches UN, D, LE W, X pour vous déplacer dans la grille.
Les touches gauche, droite, haut, bas du curseur permettent l’ajustement des points sur la grille.
La touche « J » effectue un reset complet de la grille de calibrage.
La touche « U » remet à l’état initial le dernier point calibré.
La touche « K » revient à la dernière sauvegarde de la grille.
Exemples d’applications clients pour reacTIVision
C++ : TUIO_CPP.zip (source, toutes plateformes)
Java : TUIO_JAVA.zip (plateforme indépendante)
C# : TUIO_CSHARP.zip (plateforme indépendante)
Processing : TUIO_Processing.zip (plateforme indépendante)
Pure Data : TUIO_PureData.zip (toutes plateformes)
Max/MSP : TUIO_MaxMSP.zip (toutes plateformes)
Références
reacTIVision est issu d’un travail collaboratif, ainsi chaque élément est soumis à une licence particulière.
The reacTIVision framework © by Martin Kaltenbrunner sous licence GPL
the fidtrack library (incluse dans la reacTIVision) © by Ross Bencina est sous licence GPL
the dtouch library © by Enrico Costanza est sous licence GPL
the portVideo framework © by Martin Kaltenbrunner est sous licence GPL
the oscpack library © by Ross Bencina est sous licence BSD
the DsVideoLib library © by Thomas Pintaric est sous licence GPL
the ccvt library © by Nemosoft est sous licence GPL
Sources et liens