Pure Data

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir PD.
Pure Data
Image illustrative de l'article Pure Data
Logo

Développeur Miller Puckette
Dernière version 0.45.5 (26 mai 2014)
Version avancée 0.45.5
Environnement GNU/Linux, Mac OS X, Windows
Langue Anglais
Licence BSD
Site web puredata.info

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).

Origine[modifier | modifier le code]

Il tire son origine de l'éditeur Patcher écrit par Miller Puckette en 1988. 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) de l'Université de Californie. De nombreux développeurs se sont, par la suite, joints au projet.

Fonctionnement[modifier | modifier le code]

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.

Communauté[modifier | modifier le code]

Autour 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 (l'œuvre ouverte, 2007), Sao Paulo (2009) et Weimar (2011).

Documentation[modifier | modifier le code]

L'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. Suite à 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[modifier | modifier le code]

Autour 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, …

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és sous la forme de paquets indépendants.

Bibliothèques audio[modifier | modifier le code]

  • Zexy
  • IEM lib
  • Flext
  • Xsample
  • fftease
  • dyn~
  • creb
  • Cyclone

Bibliothèques vidéo[modifier | modifier le code]

GEM[modifier | modifier le code]

compatible 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'objet 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[modifier | modifier le code]

compatible 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[modifier | modifier le code]

Hid[modifier | modifier le code]

compatible 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[modifier | modifier le code]

compatible Linux - Win

MrPeach[modifier | modifier le code]

Bibliothèque écrite par Martin Peach permettant la lecture de fichiers MIDI comme l'utilisation du protocole OpenSoundControl ou OSC.

Intégration logicielle[modifier | modifier le code]

Pure Data intègre Tcl/Tk, Tcl comme language de script, et Tk pour la gestion des fenêtres graphiques. On peut néanmoins l'utiliser avec d'autres language via la librairie libpd.

Libpd est écrit par Peter Brinkmann et permet de réutiliser des composents préexistants (patch) au sein de n'importe quelle application, notamment écrite en:

  • Java
  • C#
  • Objective C
  • C++
  • Python

Deux autres version 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

Liens externes[modifier | modifier le code]

Publications[modifier | modifier le code]

  • (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 suite à 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

Références[modifier | modifier le code]