Touch Osc

De Centre de Ressources Numériques - Labomedia
Aller à : Navigation, rechercher

1 touchOSC-7.png Touch OSC est une application Android et Iphone pour envoyer des signaux OSC vers un dispositif distant (votre ordinateur par exemple). Celui ci permet de se créer des interfaces, et ainsi des controleurs usb/midi virtuels pour vos instruments et installations. A l'instar d'une Wiimote, il permet aussi d’accéder à l’accéléromètre de vos interface mobile et d'utiliser ces paramêtres.

Utiliser TouchOSC avec Puredata

  • Configurer le Host de votre ordinateur (ip local) (exemple: sur windows: aller dans Réseau> propriété > protocole Tcp/ip > et entrer manuellement une i.p.)
  • Rentrer cet ip dans votre téléphone : dans le menu Osc > Host
  • Appuyer sur "done", l'interface se lancera
  • Créer un patch sur PD avec un dumpOSC 8000 qui récupérera les infos du téléphone.
  • Vous pouvez ensuite avec un print voir ce qu'il sort de cette boite dans votre terminal puredata.

Secouer votre téléphone, bouger les curseur de touchOSC pour trouver leur identifiants avec une boite Print (en règle général : /numéro de page/id/ valeur)

Voici un patch d'exemple : http://reso-nance.org/wiki/Fichiers/TOUCHOSC.pd Touchoscpuredata.jpg

Utiliser TouchOSC avec Blender

Etape 1

Erreur bête à éviter: utiliser 2 routeurs (un wifi et un autre ethernet) et chercher 2 heures pourquoi ça ne marche pas !
Utilisation de OSCinBlender pour tester et récupérer les noms de variables dans help.txt
Le nombre d'interface possibles dans TouchOSC est d'une grosse vingtaine: soit un nombre de variable proche de la centaines !

Etape 2

Dans Blender est affiché un curseur : celui du haut du layout simple et du premier bureau) et le téléphone orienté avec les accélérations: l'accéléromètre subit la gravité terrestre (nous n'avons pas testé sur la Lune). Ce qui correspond à un poids sur Z. Une rotation sur Z ne change rien à ce poids, donc il n'y a pas de rotation sur Z. Seulement sur X et Y. Ajouter une balle avec la première touche en bas à gauche.

Le curseur c'est 3 objets, dont 2 déformés par le script python. Ce n'est pas compliqué, mais à chaque fois, les déformation sont du style y=ax+b, et il faut affiner a et b.

Fichiers

Fichier:TouchOSC2Blender.zip pour Blender 2.6 et python 3.2

Utiliser TouchOSC dans un script python pour faire de la musique Kollectiv

Ce script récupère et transforme les messages OSC en midi, sans limitation du nombre de téléphone.

Ce script est en python 2.7. Le python 3 est mal documenté sur quelques nouveautés telles que format() sys.path.append() , pyfluidsynth n'existe pas en python 3. De nombreuses fonctions viennent de OSCinBlender: une aide pratique qui a été écrit pour traduire des messages OSC en valeurs dans un dictionnaire: je trouve que c'est très pratique. OSCinBlender est en phython3.

Au lancement le script demande l'IP du PC et le Port d'écoute. Ce sont ces IP, Port qu'il faut utiliser sur chaque téléphone.

Installation sur le PC

Nécessite:

  • Linux
  • python2.7

Installer:

sudo apt-get install fluidsynth fluid-soundfont-gm fluid-soundfont-gs

Lancer le script en console

Dans le dossier TouchOSC_Kollectiv, ouvrir un terminal

python touchOsc.py

Ou clic sur le lanceur touchOSC_Kollectiv (le rendre exécutable si il ne l'est pas), ouvrir dans un terminal.

Répondre au question au début du script

Ne pas se tromper, je ne fait aucun contrôle de saisie. Chaque téléphone doit être configuré avec l'IP du PC (ifconfig pour ne pas se tromper), et un numéro de port.

Sorry, no control input !

What is your IP ? 10.0.0.4 Unique port number ? 8000 Your IP is 10.0.0.4 and Port is 8000 Plug : IP = 10.0.0.4 Port = 8000 fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible. No problem with --> fluidsynth: warning:

Press q + Enter to quit

Il faut obligatoirement arrêter le script avec q + entrée, pour éviter d'avoir un script zombie qui continue à tourner et bloquer le port.

Détails pour les téléphones

  1. Vous devez vous connecter sur votre réseau Wifi
  2. Dans TouchOSC, saisir l'IP, Port du PC dans Host, Port(outgoing)
  3. Choisir un Layout
  4. Done

Jouer

Seules les Layout Key (panel 1 et 2, le 3 sert de config) et Beatmachine (panel 2) sont possibles. L'interface n'est pas très adaptée: il faut faire avec, ce n'est pas adaptable avec Android.

Réglages possibles sur les téléphones

Touch25.png

Fichiers

A partir du 24 février 2012, le script écoute sur un seul port tous les téléphones:

Fichier:TouchOSC Kollectiv.zip

TODO:

Le script a été testé avec 2 téléphones, il faudrait essayer avec plus de 10 téléphones !

Ressources