open_sound_control_osc
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
open_sound_control_osc [2018/07/19 08:15] – [Applications qui utilisent OSC] serge | open_sound_control_osc [2021/12/13 17:25] – [Comprendre ce qu'est OSC] Benjamin Labomedia | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======Open Sound Control OSC====== | ======Open Sound Control OSC====== | ||
- | ===== Applications | + | ===== Quelques applications |
* [[https:// | * [[https:// | ||
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | ===== Ressources Web ===== | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | ===== Pages du wiki Labomedia en rapport avec OSC ===== | + | ===== Ressources Web ===== |
- | === Blender Tools: des class python indispensables === | + | * [[http:// |
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
- | BlenderTools contient des modules pour les opérations courantes dans le Game Engine, en particulier osc. Ce sont des [[http:// | + | ===== Séquenceurs OSC ===== |
- | [[Blender_Tools:_des_class_python_indispensables|//' Blender Tools//']] | + | * Vezér https://imimot.com/vezer/ |
+ | * QLab https:// | ||
+ | * Un petit français très chouette avec plein de fonctionnalités http:// | ||
+ | * Simple dév en openframework https:// | ||
+ | * Un premier multiplateforme | ||
+ | * Un vieux plutôt linux http:// | ||
+ | * Repear reste un bon " | ||
+ | * Iannix donc https:// | ||
- | === Les pages de la catégorie OSC === | + | {{youtube> |
- | : | ||
- | |||
- | === Ressources générales === | ||
- | |||
- | * [[Le_Principe_des_logiciels_Temps_réel|Le Principe des logiciels Temps réel]] | ||
- | * [[Les_ressources_logicielles|Les ressources logicielles]] | ||
- | * [[Les_bases_du_Blender_Game_Engine|Les bases du Blender Game Engine]] pour commencer à prendre en main le Blender Game Engine | ||
- | * [[Liens_ressources_tutoriaux_Make_Controller|Liens ressources tutoriaux Make Controller]] | ||
- | * [[Liens_ressources_tutoriaux_Arduino|Liens ressources tutoriaux Arduino]] | ||
- | |||
- | === En pratique === | ||
- | |||
- | * Kinect Tout sur la kinect | ||
- | * [[Installation_Kinect_Linux|Installation Kinect Linux]] Comment installer OpenNI Nite OSCeleton sur Linux | ||
- | * [[Kinect_dans_le_Blender_Game_Engine|Kinect dans le Blender Game Engine]] avec decodeOSC de OSC.py de SimpleOSC | ||
+ | ==== Les pages Logiciels de communication ==== | ||
+ | {{topic> | ||
===== Comprendre ce qu'est OSC ===== | ===== Comprendre ce qu'est OSC ===== | ||
- | **OSC réalise l'encapsulation | + | **OSC réalise l'encodage |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | * [[http:// | + | * [[http:// |
"Au dessus de TCP ou UDP de nombreuses personnes ont développé des couches logicielles pour répondre à des besoins spécifiques à un domaine en définissant des protocoles ad-hoc. Et dans bien des cas il existe un module tiers Python qui permet d' | "Au dessus de TCP ou UDP de nombreuses personnes ont développé des couches logicielles pour répondre à des besoins spécifiques à un domaine en définissant des protocoles ad-hoc. Et dans bien des cas il existe un module tiers Python qui permet d' | ||
Open Sound Control (OSC) est un protocole de communication utilisé dans le domaine du spectacle vivant, qui permet de transmettre des messages contenant des données typées, des ordres de contrôle pour des instruments, | Open Sound Control (OSC) est un protocole de communication utilisé dans le domaine du spectacle vivant, qui permet de transmettre des messages contenant des données typées, des ordres de contrôle pour des instruments, | ||
- | === Quelle différences entre UDP et TCP === | + | === Quelle différences entre UDP et TCP ?=== |
- | TCP est une couche au-dessus de UDP. En gros, UDP va vite mais ne vérifie pas si ce qui a été envoyé à été reçu. C'est bien pour du son, un jeu, ou la vitesse est importante. TCP attend une réponse après l' | + | TCP est une couche au-dessus de UDP. En gros, UDP va vite mais ne vérifie pas si ce qui a été envoyé à été reçu. C'est bien pour du son, un jeu, ou la vitesse est importante. TCP attend une réponse après l' |
+ | En pratique, sur un réseau local le TCP va aussi vite que l'UDP. TCP permet le mode connecté, qui permet d' | ||
+ | |||
+ | {{ ::score.png |ossia screenshot}} | ||
===== Comment implémenter OSC en python ? ===== | ===== Comment implémenter OSC en python ? ===== | ||
- | + | ====oscpy du projet Kivy==== | |
- | ==== txosc ==== | + | * **[[kivy_oscpy|]]** |
- | + | En 2020, ce projet fait partie du projet Kivy: laisser tomber tout le reste, utilisez ça ! | |
- | Uniquement python2.7 en avril 2012, mais twisted est en cours de portage. Je cite un des auteurs :" | + | |
==== liblo ==== | ==== liblo ==== | ||
- | [[http:// | + | [[http:// |
* OpenNI | * OpenNI | ||
* RoseGarden | * RoseGarden | ||
- | Il n'y a pas de fonction " | + | Il n'y a pas de fonction " |
==== pyOSC une implémentation simple de Open Sound Control en Pure Python ==== | ==== pyOSC une implémentation simple de Open Sound Control en Pure Python ==== | ||
- | * [[http:// | + | * [[http:// |
- | * [[https:// | + | * [[https:// |
"Ce module est vaguement basé sur le bon vieux " | "Ce module est vaguement basé sur le bon vieux " | ||
- | == Historique | + | ===SimpleOSC=== |
- | + | ||
- | **SimpleOSC:** | + | |
* Copyright (c) Daniel Holth & Clinton McChesney. | * Copyright (c) Daniel Holth & Clinton McChesney. | ||
- | encore valable avec python2.6 et c'est cette version qui est dans le pyKit de Julian oliver ! toujours en ligne sur [[http:// | + | encore valable avec python2.6 et c'est cette version qui est dans le pyKit de Julian oliver ! toujours en ligne sur [[http:// |
- | **pyOSC:** | + | ===pyOSC=== |
* Copyright (c) 2008-2010, Artem Baguinski < | * Copyright (c) 2008-2010, Artem Baguinski < | ||
Ligne 93: | Ligne 87: | ||
* Copyright (c) 2010 Uli Franke < | * Copyright (c) 2010 Uli Franke < | ||
- | |||
- | == Version == | ||
**v0.3.0 - 27 Dec. 2007** Started out to extend the ' | **v0.3.0 - 27 Dec. 2007** Started out to extend the ' | ||
Ligne 106: | Ligne 98: | ||
* Le dépot sur gitorious.org n'est plus actif en novembre 2017 | * Le dépot sur gitorious.org n'est plus actif en novembre 2017 | ||
- | Un lien pour récupérer les sources: [[https:// | + | Un lien pour récupérer les: [[https:// |
- | + | ||
- | == Download == | + | |
- | + | ||
- | Pack des fichiers du 22 juin 2011 : **{{:OSC.py versions.zip|fig: | + | |
- | + | ||
- | ===== Importer votre module OSC en python ===== | + | |
- | Les explications sur la page [[Importer_un_module_python_dans_un_script|**Importer un module python dans un script**]]. | + | === Version python 3=== |
+ | La version python 3 est [[https:// | ||
- | ===== Des exemples simples pour envoyer et recevoir en python ===== | ||
- | Des exemples | + | ===== Documentation |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[TapOSC|TapOSC Application Android imitation de TouchOSC]] | ||
+ | * [[https:// | ||
===== Des exemples entre puredata et Blender ===== | ===== Des exemples entre puredata et Blender ===== | ||
Ligne 128: | Ligne 118: | ||
===== Problème de latence très grande ===== | ===== Problème de latence très grande ===== | ||
- | Si la latence est énorme, le problème vient du buffer UDP. Si l' | + | Si la latence est énorme, le problème vient du buffer UDP. Si l' |
===== Bundle or not Bundle ===== | ===== Bundle or not Bundle ===== | ||
Ligne 141: | Ligne 131: | ||
**Intêret du Bundle**: Si il y a beaucoup de messages qui changent en même temps, tous les messages seront traîtés à chaque boucle du script. Sinon, il serait traîtés dans des boucles successives. | **Intêret du Bundle**: Si il y a beaucoup de messages qui changent en même temps, tous les messages seront traîtés à chaque boucle du script. Sinon, il serait traîtés dans des boucles successives. | ||
- | Particularité d'un script dans Blender: Le script est excécuté à chaque frame, donc maxi 60 fps(60Hz). Le script peut décoder le bundle à chaque frame et Blender n'aura pas de latence. Il faudra aussi s' | + | Particularité d'un script dans Blender: Le script est excécuté à chaque frame, donc maxi 60 fps(60Hz). Le script peut décoder le bundle à chaque frame et Blender n'aura pas de latence. Il faudra aussi s' |
TouOSC envoie un message toutes les 0.1 secondes en jouant très vite(soit 10Hz), le script avec un sleep de 0.001 tourne à 300 Hz. | TouOSC envoie un message toutes les 0.1 secondes en jouant très vite(soit 10Hz), le script avec un sleep de 0.001 tourne à 300 Hz. | ||
Ligne 148: | Ligne 138: | ||
- | {{tag> | + | {{tag> |
open_sound_control_osc.txt · Dernière modification : 2024/03/28 21:44 de Mushussu