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 |
même machine | udp addr | localhost |
Usine | port | 8000 |
adresse spécifique | address | /usine/ |
données | value | flot de données connecté |
use type | on | |
envoi | transmit | trigger |
Patch Isadora d'envoi de messages OSC.
Dans l'exemple donné ici, nous utilisons un Wave Generator pour créer un flot de données. Les valeurs fluctuent entre 0 et 100.
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. Choisir le nombre de flux différents dans l'entrée inputs (4 ici).
Il faut activer par un trigger l'entrée transmit à chaque fois que l'on veut envoyer une donnée à l'extérieur. Ce peut être à chaque donnée, ou bien ponctuellement au cours du temps, selon les besoins.
2 - Vers Usine
Patch OSC_from_Isadora
Du côté d'Usine, le module OSC receive permet de recevoir tout message OSC. En posant le module, choisir le nombre de sorties Data Out nécessaires en fonction du nombre de flux de données différents à recevoir, entre 1 et 64. Dans l'exemple, le module est équipé de 4 data out, correspondant aux 4 values de l'actor OSC MUlti Transmit d'Isadora.
Le message qui vient d'Isadora est adressé au port UDP 8000. Il est marqué par l'adresse /usine, correspondant sur le module Usine. Le tri des différents messages se fait directement dans le module OSC receive vers les 4 sorties data, ici liées à des faders.
Le Wave Generator étant automatique, lorsque les deux fichiers sont ouverts en même temps, et que l'OSC est activé dans Usine, vous devriez observer l'arrivée régulière de données dans ce dernier.
1 - Connexion et envoi des informations depuis Usine
Le module d'envoi est OSC send. Il peut être configuré pour envoyer de 1 à 64 flux différents. Dans notre cas l'option choisie est 1.
Il faut d'abord activer l'OSC dans OSC Setup avant de pouvoir envoyer des informations.
Il faut ensuite choisir le rythme d'envoi : l'entrée send du module OSC send doit être activée pour qu'un message parte. Deux possibilités :
- activer le bouton send, vert par défaut, le flux est permanent ;
- activer l'envoi ponctuellement en désactivant l'entrée send et en la cliquant seulement quand nécessaire.
Traduction | Entrée de l'objet OSC Transmit | Paramètres |
même machine | addr | 127.0.0.1 |
Isadora | port | 1234 |
adresse spécifique | address | /isadora/num_channel |
données | data 1 | flot de données connecté |
envoi | send | activé ou ponctuel |
Dans l'exemple, un module LFO envoie des valeurs en permanence et l'entrée send est activée en continu. L'entrée broadcast est désactivée. Il est obligatoire d'employer "/isadora" avant de préciser l'adresse OSC par "/nombre".
2 - Réception des données dans Isadora
L'objet à utiliser est OSC Listener, qui se trouve dans l'ancien groupe 7 (Control Group) ou maintenant Communications. Il est inutile de préciser l'adresse UDP 1234 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'autres flux de données envoyés à Isadora. Ici c'est 1, correspondant au /1 de l'OSC send "/isadora/1" dans Usine.
Patch Isadora d'envoi et de réception de messages OSC.
Dans l'exemple précédent, nous avons expliqué comment envoyer, un flux de données d'Usine vers Isadora et plusieurs d'Isadora vers usine.
Attention, cet exemple a été fait dans une version d'Isadora récente qui intègre l'actor OSC Multi Transmit. Dans les versions précédentes, pour envoyer plusieurs flux depuis Isadora, il faut utiliser plusieurs actors OSC Transmit.
1 - Isadora -> Usine
Patch Isadora - Envois et réceptions multiples.
Les adresses et ports UDP sont localhost (127.0.0.1), 1234 pour Isadora, 8000 pour Usine. Ce nouvel exemple reprend le précédent et y ajoute plusieurs flux dans les deux sens. Tous circulent indépendamment les uns des autres.
Patch Usine - Envois et réceptions multiples.
D'Isadora vers Usine, les messages sont différenciés soit par les diverses entrées du Multi Transmit, soit par des adresses nommées en toutes lettres : /usine/, /amporphis/ et /1000lakes/ sur les OSC Transmit simples. Attention à ne pas oublier le "/" final dans e nom de l'adresse.
Dans Usine, le tri des flux se fait par des modules OSC receive différents, configurés sur ces adresses précises. Le choix du nombre de sorties de l'OSC receive se fait en fonction de l'actor Isadora utilisé : comme dans le premier exemple, un OSC multi Transmit est directement associé à un OSC receive à 4 sorties. Les OSC Transmit simples sont associés à des OSC receive à une seule sortie.
Patch OSC_in_plusieurs
Il est possible d'employer aussi 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.
Cette action n'est pas nécessaire avec l'actor OSC Transmit, qui envoie un message réseau dès que sa valeur varie.
2 - Usine -> Isadora
Patch OSC_out_plusieurs.pat
Dans cet exemple, le mode track est activé, ce qui permet d'envoyer des données en réseau depuis plusieurs patchs. En grid, seul le patch actif permet d'envoyer des données. Dans ce cas, pour envoyer plusieurs flux OSC en même temps, il faut que les modules OSC send soient dans le même patch.
Le tri se fait par les "channels" 1, 2 et 3, qui apparaissent dans les adresses des modules OSC send. Il faut un module OSC send par flux, configuré sur une seule entrée data.. Comme auparavant, il est obligatoire d'employer /isadora avant ces /1, /2 et /3.
Dans Isadora, les données apparaissent tout simplement sur des actors OSC listener configurés en channel 1, 2 ou 3. Le type de nombre (float ou integer) envoyé se choisit dans l'entrée type de l'OSC send.