Pure Data
Pure Data (en abrégé pd) est un logiciel de programmation graphique pour la création musicale et multimédia en temps réel. Il permet également de gérer des signaux entrants dans l'ordinateur (signaux de capteurs ou événements réseau par exemple) et de gérer des signaux sortants (par des protocoles de réseau ou protocoles électroniques pour le pilotage de matériels divers). Ce logiciel permet un suivi de partition.
Développé par | Miller Puckette |
---|---|
Première version | |
Dernière version | 0.55-2 ()[1] |
Dépôt | github.com/pure-data/pure-data |
Écrit en | C |
Système d'exploitation | Microsoft Windows, macOS et Linux |
Environnement | GNU/Linux, Mac OS X, Windows |
Langues | Anglais |
Type |
Audio programming language (d) Langage de programmation graphique |
Licence | BSD |
Site web | puredata.info |
Origine
modifierIl tire son origine de l'éditeur Patcher écrit par Miller Puckette en 1988 à l'IRCAM[2] en France. Le logiciel a été cédé à la société américaine Opcode, où il a été réécrit par David Zicarelli, sous le nouveau nom de Max/MSP. Miller Puckette a décidé de reprendre la conception de Patcher pour faire un logiciel libre et portable à des fins musicales en temps réel.
Il est distribué librement sur le Web, maintenu par Puckette, maintenant directeur-associé du CRCA (Center for Research in Computing and the Arts (en)) de l'Université de Californie. De nombreux développeurs se sont, par la suite, joints au projet.
Fonctionnement
modifierPure 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.
Communauté
modifierAutour de Pure Data gravite une communauté composée à la fois de développeurs et d'utilisateurs, puisqu'il s'agit d'un logiciel libre. Les premiers créent de nouveaux objets en langage C ou contribuent à améliorer le fonctionnement général du programme. Les seconds l'utilisent à des fins artistiques liées, entre autres, à la performance musicale et vidéo ainsi qu'aux installations interactives.
Depuis 2004, et la première convention organisée à Graz en Autriche, ont eu lieu les conventions de Montréal (2007[3]), Sao Paulo (2009[4]), Weimar (2011[5]) et New-York (2016[6]).
Documentation
modifierL'apprentissage comme la documentation de référence de Puredata sont disponibles sous la forme de patches d'aide exécutables directement depuis le programme. Ils ne sont cependant disponibles qu'en langue anglaise. À la suite d'un booksprint organisé par l'association FLOSS Manuals France avec le soutien de l'OIF, il existe un manuel d'apprentissage français de ce langage de programmation, fruit du travail de représentants de la communauté des utilisateurs et des développeurs venus du Québec, de France, de Belgique et de Tunisie.
Bibliothèques
modifierAutour du logiciel de Miller Puckette, ont été développées de nombreuses bibliothèques ajoutant de nouvelles fonctionnalités. Ces bibliothèques permettent d'utiliser la vidéo, le sample, les capteurs, etc.
Hans-Christoph Steiner en a réuni de nombreuses dans ses installateurs « tout-en-un» connus sous le nom de Pd-extended. La distribution Linux Puredyne offre une installation optimisée de Pure Data avec de nombreuses bibliothèques distribuées sous forme de paquets indépendants.
À la suite de l'arrêt d'une maintenance régulière de Pd-extented en 2014, Ivica Bukvic, Jonathan Wilkes et Albert Graef décidèrent de lancer le développement de PurrData en 2016[7], une refonte de Pure Data régulièrement mise à jour et basée sur la distribution utilisée par le Virginia Tech's Linux Laptop Orchestra (Pd-L2Ork[8]).
Bibliothèques audio
modifier- Zexy
- IEM lib
- Flext
- Xsample
- fftease
- dyn~
- creb
- Cyclone
Bibliothèques vidéo
modifierGEM
modifiercompatible Linux - Win - Mac OS
« GEM » signifie Graphics Environment for Multimedia (en français « environnement graphique pour le multimédia »). Elle a été écrite par Mark Danks pour la production d'images en temps réel, particulièrement pour les compositions audiovisuelles. Elle permet la manipulation d'objets de synthèse, d'images et de vidéos via l'utilisation d'OpenGL. Les formats de fichier lisibles dépendent grandement de la plateforme pour laquelle la bibliothèque a été compilée, le codec Photo-JPEG dans un container QuickTime restant le plus largement répandu. La lecture de flux (streams) vidéo en est encore à un stade très expérimental.
La version stable actuelle 0.92.3 supporte également l'utilisation des shaders GLSL et permet également d'implémenter directement des commandes OpenGL.
PDP/PiDiP
modifiercompatible Linux - Mac OS
Pure Data Packet (pdp en abrégé) est dédiée au traitement de la vidéo écrite par Tom Schouten. PiDiP en est une extension écrite par Yves Degoyon. Elle permet d'utiliser plusieurs sorties vidéo (xgl, xv, sdl), permet la lecture du quicktime, l'utilisation des effets freeframe et effecTV.
Bibliothèques diverses
modifierHid
modifiercompatible Linux - Mac OS
Écrite par Hans-Christoph Steiner, elle permet l'utilisation des interfaces physiques pour pd, comme des joysticks, souris, tablettes graphiques, interfaces capteurs, etc.
Joystick
modifiercompatible - Win
MrPeach
modifierBibliothèque écrite par Martin Peach permettant la lecture de fichiers MIDI comme l'utilisation du protocole OpenSoundControl ou OSC.
Wiimote
modifierBibliothèque fournissant un objet [wiimote] permettant l'utilisation d'une manette wii comme interface de contrôle[9].
Intégration logicielle
modifierPure Data intègre Tcl/Tk, Tcl comme langage de script, et Tk pour la gestion des fenêtres graphiques. On peut néanmoins l'utiliser avec d'autres langages via la bibliothèque libpd.
Libpd est écrit par Peter Brinkmann et permet de réutiliser des composants préexistants (patch) au sein de n'importe quelle application, notamment écrite en :
- Java
- C#
- Objective C
- C++
- Python
Deux autres versions ont également été développées pour s'adapter aux spécificités des plateformes mobiles Android et iOS :
- pd-for-android
- pd-for-ios
Références
modifier- « Release 0.55-2 », (consulté le )
- « GENIUS! #26: Miller Puckette and Max - PSNEurope », sur www.psneurope.com (consulté le )
- « À propos du congrès », sur puredata.info (consulté le ).
- (en) « Pdcon09 papers », sur puredata.info (consulté le ).
- (en) « Pure Data Convention 2011 », sur puredata.info (consulté le ).
- (en) « 19.Nov.13 Guest Lecture : Douglas Geers », sur NYU Waverly Labs for Music & Computing, (consulté le ).
- « Jonathan Wilkes / purr-data », sur GitLab (consulté le ).
- (en) « Pd-L2Ork — Pd Community Site », sur puredata.info (consulté le ).
- « wiimote — Pd Community Site », sur puredata.info (consulté le )
Annexes
modifierArticles connexes
modifierLiens externes
modifier- (en) Site de Miller Puckette
- (en) Site de Pure Data
- (fr) Manuel francophone (FlossManuals)
- (en) Manuel anglophone (FlossManuals)
- (en) La documentation officielle
- (fr) Codelab, Forum d'entraide francophone pour pure-data
- (fr) Pdpedia, wiki francophone sur pure-data
- (fr) Impala.utopia, site artistique avec des ressources pour l'initiation à pure-data
- (fr) Papatchs Party, bibliothèque de patchs pour Pd-extended
- (en) Repos GitHub du projet libpd
- (en) Liens de téléchargement de PurrData
Publications
modifier- (en) Techniques audionumériques plus poussées : Un livre écrit par Miller Puckette qui enseigne les formules mathématiques, les algorithmes qui se trouvent derrière la gestion du son par un ordinateur. À chaque fin de chapitre vous pourrez trouver des exemples avec des patchs.
- (en) Concevoir du son, 2009 : ouvrage rédigé par Andy Farnell expliquant comment générer des sons en partant de rien à partir de principes d'analyse relativement simples (musique procédurale). Des patches d'exemple sont également téléchargeables. MIT Press, 2010.
- (en) Bang. Cette publication est une compilation de textes décrivant différentes approches de Puredata, une mise en relief de ses utilisations comme de ses développements, dans un débat contradictoire qui laisse en fin de compte bien des questions ouvertes, que ce soit en termes techniques que philosophiques. Elle a été éditée à la suite de la première convention internationale à Graz (Autriche) à l'automne 2004. Contient un DVD illustrant plusieurs des travaux présentés à cette occasion. Wolke Verlag, 2005.
- (en) Making music apps. Livre écrit par Peter Brikman sur l'utilisation de libpd sur les plateformes mobiles Ios et Android