PatchsTableau résumé- Matériel / Logiciel / OutilsLogiciels et langages- Pure Data- Max MSP- Isadora- EyesWeb- VVVV- Processing- UsineTraitement de données- Outils- Filtres pour capteurs- Communication OSC, ponts entre logicielsDidacticiels- Réception en Midi- Pure Data / Gem- Proxi Mini + SonMatérielAutonomes- ZIP Z Interprêteur de PatchCaptationInterfaces sans fil- Mini-HF vers Midi- WiwiInterfaces filaires- 12 Ana / 16 Num- 16 capteurs OSC- 8 Ana / 8 Num Midi 2003- 2 Analogiques- 1 AnalogiqueCapteurs autonomes- Télémètre simple- Télémètre synchro- Tapis sensitif- RFIDCapteurs simples- Capteur piezo- Capteur pyro- Capteur Vitesse Doppler- Proxi Mini + SonCommunication- Midi vers DMX- Booster / Split / MergerActionActionneurs autonomes- 2 Servo / 4 Lampes- 8 Ana Out 0-10V- 8 Servo 128 pas- 8 Servo 3500 pas- 64 LEDCommande - Cartes filles- 8 Transistors- 8 Relais 2RT / 1RT / Reed- Inversion de moteurs |
Communication logicielle - OSCOSC - Transmission de données
|
Traduction | Entrée de l'objet OSC Transmit | Paramètres |
données | value | flot de données connecté |
adresse spécifique | address | /quelquechose |
Pure-Data | port | 1235 |
même machine | udp addr | localhost |
use type | on |
Patch Isadora d'envoi de messages OSC.
Dans l'exemple donné ici, nous utilisons un Envelope Generator pour créer des flots de données. Les paramètres de l'objets sont ceux qui apparaissent par défaut : les valeurs décrivent une courbe définie par un seul segment, qui part de 0 pour atteindre 100 en 1 seconde. Le Pulse Generator permet d'automatiser l'apparition de données à envoyer : toutes les deux secondes (fréquence 0,5 Hz), il envoie un trigger, qui connecté sur le Tirgger du Pulse Generator, fait démarrer la rampe de valeurs. Ces deux objets se trouvent dans le groupe 4 (Generator Group).
Dans les versions récentes, un actor Multitransmit permet d'envoyer plusieurs flots de données sur une même adresse, évitant la duplication de OSC Transmit dans le cas de nombreuses informations à partager.
2 - Vers PureData
Du côté de Pure-Data, deux objets sont nécessaires pour la réception des données. Il n'est pas besoin de se connecter comme on le verra plus loin pour l'envoi. L'objet dumpOSC permet de recevoir tout message OSC. Le message qui vient d'Isadora est adressé au port UDP 1235. L'objet dumpOSC prend en paramètre ce numero de port. Le message est marqué par l'adresse /quelquechose. L'objet suivant, OSCroute, permet de trier les messages arrivant à l'aide de cette adresse. Sur la sortie de gauche (sur laquelle est branché un nombre dans l'exemple) sortent les valeurs marquées par /quelquechose. Sur la sortie de droite passent d'éventuels autres messages marqués différemment.
Le Pulse Generator étant automatique, lorsque les deux fichiers sont ouverts en même temps, vous devriez observer l'arrivée régulière de données dans Pure Data.
1 - Connexion et envoi des informations depuis PD
L'objet crucial est sendOSC. Il doit recevoir successivement plusieurs informations (sous forme de messages) pour envoyer des données vers Isadora.
Il faut d'abord se connecter avant de pouvoir envoyer des informations. Un message établit la connexion (connect) et indique à sendOSC qu'on s'adresse à un logiciel sur la même machine que le patch (localhost) et que le logiciel cible est Isadora (identifié par l'adresse UDP 1234). Cliquer sur ce message une fois.
Il faut ensuite envoyer un message typetags 1, nécessaire pour communiquer avec Isadora.
Enfin, les informations peuvent être envoyées par sendOSC et comprise par Isadora. Le message send branché sur sendOSC précise à quel logiciel et à quelle adresse OSC le message doit être envoyé, grâce au paramètre /isadora/1. Il est obligatoire d'employer "/isadora" avant de préciser l'adresse OSC par "/nombre". Le $1 de notre exemple est remplacé par tout ce qui est envoyé sur ce message.
2 - Réception des données dans Isadora
L'objet à utiliser est OSC Listener, qui se trouve dans le groupe 7 (Control Group). Il est inutile de préciser l'adresse UDP 1234 (contrairement au dumpOSC de Pure-Data) car elle est déjà configurée dans les Preferences. Il n'est pas non plus nécessaire de rappeler le /isadora qui marque tout message OSC destiné à ce logiciel. Il faut en revanche entrer dans le channel le numéro choisi pour identifier le message OSC et permettre de le séparer d'autre flux de données envoyés à Isadora. Ici c'est 1, correspondant au /1 de "send /isadora/1" dans PD.
Lorsque vous faites varier le slider dans PD, vous devriez voir arriver des données dans la sortie value de l'OSC Listener.
Dans cet exemple, les données sont branchées sur un Limit-Scale Value puis sur un Colorizer pour jouer sur la teneur en rouge d'une couleur.
Dans les exemples précédents, nous avons indiqué comment envoyer, dans un sens ou dans l'autre, un seul flux de données. L'exemple suivant montre l'envoi de trois flux d'informations en parallèle, dans les deux sens.
Attention, cet exemple a été fait dans une version d'Isadora récente qui intègre l'actor OSC Multi Transmit.
Les adresses et ports UDP sont localhost, 1234 pour Isadora, 1349 pour PD.
D'Isadora vers PD, les messages sont différenciés par un nom donné en toutes lettres : /frost, puis par des compléments d'adresse en nombres 1, 2, 3. Cette identification apparaît dans l'objet route dans PD qui sert à trier ces messages et à ôter l'indication /frost de la liste reçue. L'objet unpack permet ensuite de séparer les trois nombres sur trois sorties différentes.
Il est possible d'utiliser plusieurs Multi Transmit avec des adresses /quelquechose différentes. Cet objet envoie toutes les données des inputs dans une seule liste. Le nombre de données différentes est paramétré dans inputs. Il faut actionner l'entrée Transmit chaque fois que l'on veut expédier le message, par exemple quand une donnée arrive, ou bien régulièrement au cours du temps.
De Pure Data vers Isadora, le tri se fait par les "channels" 1, 2 et 3, qui apparaissent dans le message send envoyé à l'objet sendOSC. Comme auparavant, il est obligatoire d'employer /isadora avant ces /1, /2 et /3.
Dans les exemples précédents, nous avons comment envoyer, dans un sens ou dans l'autre, un seul flux de données. L'exemple suivant montre l'envoi de trois flux d'informations, dans les deux sens.
Attention, cet exemple a été fait dans une version d'Isadora qui n'intégrait pas encore l'actor OSC Multi Transmit.
Les adresses et ports UDP sont les mêmes que dans l'exemple précédent (localhost, 1234 pour Isadora, 1235 pour PD).
D'Isadora vers PD, les messages sont différenciés par des noms donnés en toutes lettres : /quelquechose, /autrechose, /machin. Ces identifications apparaissent dans l'objet OSCroute (ou route simple). L'ordre des trois premières sorties du route correspond à l'ordre dans lequel les messages sont nommés dans cet objet.
Dans une version plus récente d'Isadora, l'actor OSC Multi Transmit permet d'envoyer plusieurs flux sur une adresse /quelquechose, selon le même principe de numérotation /1, /2 etc.
De Pure Data vers Isadora, le tri se fait par les "channels" 1, 2 et 3, qui apparaissent dans le message send envoyé à l'objet sendOSC. Comme auparavant, il est obligatoire d'employer /isadora avant ces /1, /2 et /3.