Pure data
Cet article est en construction: un auteur est en train de le modifier.
En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.
INTRODUCTION
Pure Data (souvent abrégé Pd) est un logiciel de création multimédia interactive couramment utilisé dans les domaines artistique, scientifique et pédagogique. Pure Data propose un environnement de programmation graphique dans laquelle l'utilisateur est invité à manipuler des icônes représentant des fonctionnalités et à les brancher ensemble.
Ci-dessous voilà à quoi peut ressembler une programmation graphique réalisée dans Pure Data. Ici un programme créé pour un exercice dans le cadre du cours STIC:STIC IV. Un programme qui permet d'additionner deux fréquences correspondant à des notes musicales, de faire varier la force du son et d'observer en temps réel les modulations de fréquences dans un graphique.
Portabilité et installation
Pure Data Fonctionne sur les plateformes Linux, Mac et Windows. C'est un logiciel libre et gratuit. La licence « Standard Improved BSD » protège ce logiciel et permet un travail collaboratif, l'accessibilité des sources et une distribution gratuite auprès des utilisateurs.
- développeur = [Miller Puckette]
- dernière version = 0.42.5.extended
- date de dernière version = 18 septembre 2010
- version avancée = 0.43
- date de version avancée =
- environnement = GNU/Linux, Mac OS X, Microsoft Windows
- langue = Anglais
- licence = Licence publique générale GNU|GPL
- site web = puredata.info
Le logiciel existe en deux version Pure Data Vanilla et Pure Data Extended
Pd Vanilla et Pd Extended
- Le noyau de Pure Data est Pd Vanilla. Elle est maintenu par son créateur, Miller Puckette.
- Pure Data Extended est une version étendue du logiciel Pd Vanilla par des développers qui se sont joints aux projet. Cette version ajoute de nombreuse "librairies" et offre ainsi plusieurs améliorations.
Les deux versions du logiciel sont disponibles sur le site de Pure Data
Fonctionnement du programme
"Pure Data est un système conçu de façon modulaire. Chaque utilisateur peut ainsi adapter le logiciel selon ses besoins. Il exploite un langage de programmation non procédural avancé (programmation orientée objet) qui permet à l'utilisateur d'effectuer des modifications au code en temps réel sans que celui-ci doive chaque fois être recompilé. Cependant, la non-linéarité de cette approche peut parfois causer des difficultés dans la conception des patchs, surtout à l'étape de composition. Elle peut notamment entraîner de la confusion dans la compréhension et dans la gestion de l'ordre des opérations. Techniquement ce n'est pas un langage de programmation en tant que tel, mais un environnement d'implémentation, où l'utilisateur assemble des bouts de codes créés par d'autres, ce qui permet un prototypage ultra-rapide. L'interface du logiciel est donc une représentation visuelle de la logique qui sous-tend la programmation."Article wikpedia
Configuration audio et Midi
Il faut préalablement configurer les appareils audio avant d'utiliser Pd. Si vous décidez de recevoir ou d'envoyer des notes et des contrôles MIDI, il sera également nécessaire de configurer vos appareils MIDI.
Pure Data a peut-être détecté automatiquement l'interface audio.
Pour tester si le son fonctionne :
- Media>Test Audio and Midi
Repérez les colonnes de carrés à gauche du patch sous le titre "TEST TONES". Ces carrés ou
cases sont des choix multiples dont les options sont : "OFF", "60" ou "80". Cliquez sur la case correspondant au choix "60" ou "80" et un carré noir apparaît dans la case que vous avez sélectionnée. On peut changer le son du test par un bruit en choisissant l'option "NOISE" plutôt que "TONE" en cliquant dans la case correspondante. Si vous entendez un son (un "La" en 440 Hz, ou du bruit), cela signifie que Pure Data a détecté votre interface audio. Dans le cas contraire, il va vous falloir la configurer.
Pour configurer si cela ne fonctionne pas:
- Media>Preferences>Audio setting
Une fenêtre de dialogue qui permet de configurer le nombre d'entrées et de sorties audio du logiciel ainsi que son taux d'échantillonnage. Vous n'entendrez rien si les options de ce dialogue sont mal configurées.
- Le taux d'échantillonnage (sample rate) est par défaut de 44 100 Hz, ce qui correspond au taux d'échantillonnage des disques compacts. Une autre valeur couramment utilisée ici est 48 000 Hz.
- Le Délai(Delay) est le temps pour temporiser le signal audio que Pure Data reçoit et pour
effectuer tous les calculs qu'on lui soumet avant de faire entendre des sons. "À intervalle régulier, Pure Data enregistre le son dans un espace mémoire, puis il applique toutes les opérations sur le son et, enfin, donne le résultat de ces calculs à l'interface audio. La durée de cet intervalle est spécifiée dans cette boîte de dialogue. Par défaut, il est de 50 ou 70 millisecondes."1 /!\ Ne pas trop réduire ce paramètre sinon Pure Data n'a pas le temps de tout calculer des craquements indésirables apparaitront.
- Activation du nombres d'entrées et de sorties(use multiple devices)
Vous pouvez activer ou non les entrées et sorties de votre interface audio (les selectionner, si elles sont inactives). La plupart du temps, on choisi la même interface pour les entrées et les sorties, avec du son mono ou stéréo. Si ce n'est pas le cas, il faut choisir deux canaux en entrée et deux autres en sortie.
Pour choisir le pilote Midi :
- Media>choix du pilote
Pour recevoir des notes et des contrôles MIDI quel qu'il soit, il faut
d'abord choisir un pilote. Les pilotes audio sont listés dans le menu "Media" avec leur
appellation. Sur GNU/Linux, vous pouvez choisir "Default" ou "ALSA". Le second fonctionne bien
chez moi.
Pour tester si le Midi fonctionne :
- Media>Test Audio and Midi
Le patch qui sert à tester l'audio sert également à tester le MIDI. Si tout est bien configuré, les nombres affichés dans ce patch devraient changer lorsque vous appuierez sur les touches de votre clavier MIDI.
On peut également envoyer des notes MIDI à un appareil ou à un autre logiciel branché à la sortie MIDI de Pure Data en cliquant sur la case de l'interrupteur qui a pour titre "MIDI OUT ".
Pour configure le MIDI
- Media>Preferences>MIDI setting
Cette boîte de dialogue vous de choisir quel appareil MIDI on désire utiliser ainsi que le nombre d'entrées et de sorties MIDI. Par exemple, si je souhaite brancher un clavier MIDI dans Pure Data, indiquez le chiffre 1 dans le nombre
d'entrées MIDI.
Aperçu des possibilités de Pure Data
Selon la Floss Manuals Foundation1 :
- Pure Data permet la gestion d'échantillonneurs (samplers) et d'effets, la composition musicale, ou encore, la création de séquenceur MIDI. LE logiciel est utilisé par certain musicien pour générer automatiquement de la matière sonore ou tout simplement comme aide à la composition musicale.
- Il peut également gérer des applications vidéo et 3D.
- Il est possible également d'interfacer un programme avec le monde physique en utilisant des capteurs (caméras, détecteurs de présence, etc.) pour commander des robots, interagir avec des sites internet, ou encore effectuer une visualisation de données. La plateforme de développement matériel Arduino est souvent utilisés par les utilisateurs de Pure Data. Dans ce cas on utilise les bibliothèques Pduino ou Msg.
- En art appliqué, il est utilisé en design d'interaction, en architecture et pour créer des jeux. Une belle illustration des utilisations artistiques professionnelles de Pure Data est disponible ici
- On l'utilise aussi dans les disciplines techniques et scientifiques comme l'électronique, les sciences physiques et les mathématiques. Il alors souvent comme un outil de mesures acoustiques.
- En tant qu'outil pédagogique pour les analyses acoustiques et audio-numériques, la synthèse sonore, la 3D, les opérations mathématiques. Grâce à son système de programmation intuitif, Pure Data favorise l'apprentissage et l'expérimentation. Il est possible de concevoir à l'aide de ce logiciel des dispositifs numériques originaux d'enseignement.
Quelques Illustrations
Prise en main
Console
Le programme est tout d'abord constitué d'une console (ou log). C'est la toute première fenètre s'ouvrant à l'ouverture du programme. Elle affiche certains messages d'erreurs concernant les éventuels problèmes de nos réalisations. Elle dsipose de différents mode d'affichage accessible en cliquant sur le numéro à coté du log dans la barre grise. On peut ainsi choisir d'afficher seulement les erreurs critiques, les simples avertissements etc.. La console sert aussi à afficher certaines informations durant l'execution de nos programme grâce à l'objet "print" dont nous reparlerons plus loin.
Patch
C'est le coeur de notre travail dans Pd. Le patch est un programme Pure Data enregistré en .pd. Lorsque nous cliquons sur "file">"new" nous créons un patch et c'est à l'intérieur de celui-ci que nous travaillerons. Les patchs peuvent faire appel à d'autre patch permettant de créer des programmes très élaborés. Le logiciel Pure Data est lui même constitué de ces différents patchs comme nous avons pu le voir, précédemment, avec le patch "Test Audio and MIDI".
Un patch à deux mode de fonctionnement :
- Le mode édition. C'est le mode de création de programme, nous le reconnaissons par le curseur de la souris représentant une main.
- Le mode action. C'est le mode de l'interaction. L'utilisateur ne peut plus déplacer ni modifier les boites mais peut interagir avec les éments cliquables de notre programme. Nous reconnaissons ce mode par le curseur de la souris sous forme d'une flêche.
Nous pouvons passez d'un mode à l'autre à tout moment en cliquant sur ctrl+e (windows/Linux) ou Pomme+e(MAc). Il est aussi possible de cliquer sur un élément tout en restant en mode édition en maintenant ctrl enfoncé.
Les donnés
Ce sont les informations que nous sommes ammenés à minipuler avec Pure Data. Elle peuvent être mis dans une boite message, ou stocker dans un objet. Dans Pd elles sont de différents types :
- Bang : Information de déclenchement. On allume, on provoque, on démare quelque chose. On la stock dans l'objet -->
- Integer: Un nombre entier. On le stock dans l'objet -->
- Float: Un nombre à virgule. On le stock dans l'objet -->
- Liste: Plusieurs donnés différentes On les stock dans l'objet -->
- Symbol Une chaine de caractères. On la stock dans l'objet -->