Atelier PureData, Pôle numérique des beaux arts de Paris, les 17, 18, 19 avril 2023.
Pure data est à l’origine d’une famille de logiciels proposant la première écriture visuelle et nodale de l'histoire : son interface graphique sous forme d’arborescences permet de manipuler la « carte » du projet en temps réel. Cette possibilité d’altérer la trajectoire du programme en live rend cet outil particulièrement attrayant pour les artistes, notamment les musicien.ne.s.
Logiciel libre et gratuit, PureData permet de prototyper rapidement des projets orchestrant son et image, capteurs, lumière et moteurs, de créer des instruments de musique nouveaux ou tout autres outils expérimentaux...
Un programme Pure Data s'appelle un patch (voir ci dessus exemple d'interface et menu aide accessible avec un clic droit)
-> Pure Data peut également être installé sur les ordinateurs de petite taille comme les micro-ordinateurs Raspberry Pi tournant sous linux, afin de lire des patchs contenant de l'image et du son. (exemple: lecteur de vidéo synchronisé en réseau, diffusion de son multicanal, connections de capteurs sur port GPIO, récupération de flux internet en wifi...)
Il est également possible d'écrire des patch faisant intervenir du son et des capteurs, pour de nombreuses autres petites cartes électroniques à faible consommation (Bela, Daisy...) en vue de réaliser des objets intelligents et autonomes.
Un Raspberry Pi zero avec ses broches entrées / sorties
- Voici une distribution de Pure Data spécialement proposée pour le workshop. Il contient l'ensemble des librairies nécessaires à l'atelier, une interface visuelle plus facile à utiliser, et un menu d'objets accessible avec un clic droit:
- Télécharger PureData workshop version PC
- Télécharger PureData workshop version MacOS Intel
- Télécharger PureData workshop version MacOS Arm (M1, M2 etc)
- Télécharger les médias (video, son example...)
- Patch formation PureData Jour1.zip (à glisser sur la version Pure Data téléchargée ci dessus)
1 - Introduction - objets messages et patch
2 - Initialisation - loadbang - execution systeme
3 - Detection touche clavier et voix - keypress
4 - Introduction affichage Gem
5 - Translation counter carre rouge
6 - Capteur proximetre arduino sur video bruit blanc
Exemple d'installations, performances, instruments réalisés avec pure data:
Cette deuxième journée montrera les possibilités offertes par l'interfacage de capteurs et d'effecteurs dans les patch pure data via la plateforme arduino. Nous nous pencherons également sur le traitement de signal les plus courants nécessaires à certains capteurs pour les exploiter d'une manière efficace.
L’Arduino est un microcontrôleur (et non un ordinateur) qui permet de contrôler des moteurs, déclencher de la lumière etc... Il s'agit d'une carte électronique qui a révolutionné et simplifié la création interactive en 2005. Projet open-source, il est devenu aujourd’hui l’un des outils les plus utilisés par les makers et les artistes.
TinkerKit est un Kit compatible Arduino permettant de créer des projets interactifs de manière simplifiée. Il se compose d'une carte "Shield" qui se clipse sur l'arduino et permet de connecter facilement 6 capteurs en entrées et 6 effecteurs en sortie, ainsi qu'un système modulaire constitué de différents blocs capteurs qu'il suffit de brancher à l'aide de câbles à "clipser".
-> Dans la version de Pure Data distribuée plus haut, l'objet [tinkerkit] permet de discuter facilement avec la carte tinkerkit et ses numéros d'entrées / sorties.
- Sinon, l'objet [arduino] permet de faire de même sans carte tinkerkit, compatible avec toutes les cartes arduino.
Sept valisettes de formation sont disponibles. Elles contiennent le matériel de base pour réaliser les exercices:
Contenu de la valisette de formation:
Cartes électroniques:
- Arduino Uno + câble usb
- Carte bouclier tinkerkit (carte "shield" sur l'arduino pour connecter vos capteurs / effecteurs)
Capteurs entrée digitale ("tout ou rien"):
- Bouton poussoir
- Capteur à bille (orientation)
- Capteur capacitif (touché)
Capteurs entrée analogique ("graduels"):
- Slider (réglette linéaire)
- Potentiomètre
- LDR (lumière)
- Température
- Proximètre infrarouge (distance)
Effecteur (sortie digitale ou pwm):
- Led (variété de couleur)
- Led RGB
- Led de puissance sur aimant (à demander)
- Bande flexible de led RGB (à demander)
- Ventillateur 12v (moteur continu)
- Servomoteur classique / mini servomoteur 9g (rotation précise en degré)
- Solénoïde 12v (électro-aimant), petit solénoïdes 5v
- Module relais (contrôler un circuit indépendant jusque 36v)
- Module Mosfet (contrôler un circuit indépendant en le graduant en pwm)
- Alimentation 12v
Exemple de Capteurs à connecter sur les entrées de la carte "Input": I0, I1, I2, I3, I4, I5
Exemple d'effecteurs à connecter sur les sorties de la carte "Output": O0, O1, O2, O3, O4, O5
Branchement alimentations, module relais & module mosfet:
Initiation à la carte arduino de manière indépendante (sans ordinateur ni puredata) pour réaliser de petits projets autonomes. Le language arduino est assez simple et peut convenir pour les projets ne nécessitant pas de traitement graphique ou de traitement audio. Il est ainsi possible de réaliser de petits scénarios dans la mémoire de la carte arduino, qui peut même être alimentée sur batterie.
Programmes de formation commentés à venir...
Pour piloter des appareils de plus haute tension, nous utiliserons le protocole dmx, très utilisé dans le spectacle et au théâtre pour la gestion des lumières par exemple. Il permet de contrôler des projecteur RGB et motorisés, des diffuseurs de fumée, mais également des blocs de prises appelées "gradateurs".
Les avantages du dmx:
- Haute puissance en toute sécurité (normes électriques respectées, fusibles)
- Longue distance (câble XLR pouvant porter un signal sur 25m et plus)
- Périphériques chaînables et adressables pour gérer des installations complexes
- Compatibilité avec le monde du spectacle (nombreux matériel et logiciels disponibles)
-> L'objet PureData [proto.dmx] permet de contrôler facilement les périphériques utilisant le protocole dmx
Autres distributions de PureData:
Pure Data Vanilla = version d'origine, très minimale et léger, par l'auteur Miller Puckette (pour les initiés!)
Plug Data = La prochaine génération de Puredata, avec une interface graphique ré-écrite avec JUCE et disponible comme plugin dans n'importe quel logiciel audio.
Purr Data = distributions de pure data avec une interface ré-écrite en html5 (node.js), incluant beaucoup de libs.
pd-l2ork = Version dérivée de PurrData, spécialement adaptée au Laptop Linux Orhestra l2ork, ainsi qu'aux formations.
ModMuPlat = version mobile pour des applications android et Iphone/ipad.
PurrData.glitch.me = PurrData et son éditeur dans le navigateur web!
PdWebParty = Lire un patch Pure Data sur une page web (attente longue...).
Pd-Ceammc = version du centre de recherche acoustique du conservatoire de Moscou.
https://www.youtube.com/watch?v=1o5Wasmd8yU&list=PLyFkFo29zHvD4eRftIAjcLqIXCtSo7w8g
Coordonnées dans l'espace Gem:
Il s'agit d'un repère orthonormé avec 3 dimensions: X en horizontal, Y en vertical, et Z en profondeur.
La fenêtre par défaut est en 500 pixel de hauteur et 500 pixels de largeur.
La caméra est placée à -4 sur l'axe de la profondeur et permet de voir les objets entre -4 et 4 à cette taille.