Historique: puredata
Aperçu de cette version: 94
? Portail Logiciel > Langages de composition > PureData
PureData est un environnement de programmation visuel pour la synthse & traitement audio/vido.
Table des matières
Information
Version actuelle : 0.51-4.Support : Alsa, Jack.
Historique
En 1988, un certain Miller Puckette cre un environnement de programmation en mode graphique, destin au son et l'image, qu'il nomme Patcher. Il est ensuite cd l'entreprise Opcode, o il sera rcrit par David Zicarelli, et renomm Max/MSP. Miller Puckette dcide ensuite de reprendre les amliorations de ce dernier et de poursuivre ainsi le dveloppement de Patcher, afin d'en faire un logiciel libre: Pure Data.Fonctionnement
Donc Pd est un environnement de programmation orient objet. Que les non-dveloppeur-euse et les allergiques aux code et la ligne de commande ne fuient pas ces mots, on peut tout fait utiliser Pd, mme de manire avance, ne sachant pas ce qu'est une classe ou une instance: Pd est en mode graphique, austre certes, mais trs visuel. Vous n'aurez pas apprendre et taper toute une syntaxe complexe et contraignante, puisque tout est fait par des liens graphiques entre les objets et les messages.Mais alors que peut on faire avec Pd?
Tout, ou presque tout... De la synthse au traitement sonore, de la diffusion l'analyse: on peut en fait crer son propre logiciel selon ses besoin. Inutile de rinventer la roue, Ardour fait trs bien l'enregistrement multipiste, mais si le coeur vous en dit, Pure data le pourrait galement. De mme que Max/MSP a Jitter, Pure Data GEM pour travailler de la mme manire avec l'image: animation, effets vidos en temps rel etc...Pd gre le midi, ce qui vous permettra, outre de jouer des note, d'interagir avec lui partir d'une surface de contrle par exemple, ou une tablette. Certains objets vous permettent d'accder au rseau, et donc Internet.
Cette page vise expliquer les points essentiels du logiciel, et en particulier les spcificits de son utilisation sur Linux, mais en aucun cas vous apprendre l'utiliser. C'est pourquoi le chapitre qui suit vous fournira un extrait des ressources foisonnantes sur le sujet.
Apprentissage, ressources et liens
Voici un chantillon de tout ce que l'on peut trouver de bon sur le sujet- Site officiel de Miller Puckette, dveloppeur de Pure Data
http://crca.ucsd.edu/~msp/
- Site officiel de la communaut Pure Data
http://puredata.info/
- Le site de Hans-Christoph Steiner, qui a beaucoup contribu au projet: on y trouve galement des paquets pour certaines distributions
http://at.or.at/hans/pd/
- La page ftp d'auto-build: les dernires versions en dveloppement compiles rgulirement et automatiquement, avec des paquets pour Debian et Ubuntu, ainsi que pour des OS propritaires
http://autobuild.puredata.info/auto-build
Tutoriels et apprentissage
Il existe une multitude de tutoriels et de manuels de grande qualit. Le plus simple est de commencer avec ceux livrs avec Pd et ses bibliothques: dans Help, choisissez Browser.... Dans 1.Manual/, vous trouverez le manuel officiel en html, qui explique trs bien le principe, en anglais. Il se trouve galement sur cette page du site de la communaut. Il existe cette documentation francophone crite par Jrme Abel, qui malgr son age (de la documentation, pas de M. Abel) reste tout fait actuelle, puisque la base de Pd n'a pas tant chang.Si l'on fouille d'avantage dans cette prcieuse aide, on trouvera plein de ressources, qui prsentent l'avantage d'tre sous forme de patchs, donc interactives. Vous remarquerez que beaucoup de tuto sur Internet sont conus de la mme faon. Chaque bibliothque propose des patchs-exemples de leurs objets. Notez galement qu'il est toujours possible d'accder au patch d'aide d'un objet en cliquant-droit sur celui-ci et en slectionnant Help.
Sinon:
- Les listes de discussion officielles, trs ractives et qui comptent de nombreux-ses participant-e-s, dont les dveloppeurs du logiciel
http://puredata.info/community/lists
- L'Association Impala Utopia: d'excellents tutoriels, ainsi que des supports de cours (ceux-ci sont parfois inutiles hors contexte), tout en franais
http://impala.utopia.free.fr/pd/
- Tutos et manuels en anglais de Floss Manuals
http://en.flossmanuals.net/puredata
- Manuels en franais de Floss Manuals (moins complet que la version anglais, mais tout de mme une bonne introduction au logiciel).
http://fr.flossmanuals.net/Puredata/
- Programming Electronic Music in Pd une trs bonne introduction la synthse sonore et au traitement du signal dans Pure Data. Disponible en version anglaise, allemande et espagnole. On peut galement acheter le livre en version papier.
http://www.pd-tutorial.com/
- pd ring est un anneau de sites proposant de nombreuses ressources en anglais.
http://pd.klingt.org/pd_ring/
- Une srie de ressources en franais chez Labomedia
http://archive.labomedia.net/formpdaud092005.htm
- Pdpedia, le manuel wiki de Pd en franais... malheureusement pas trs fourni, pour ne pas dire totalement creux... Mais il ne tiens qu'aux Pidistes que vous tes ou que vous deviendrez de le rendre intressant et attractif! Pdpedia existe en diffrentes langues, dont certaines sont plus abouties que d'autres.
http://wiki.puredata.info/fr/Accueil
- GuitarExtended, un blog dtaillant comment utiliser Pd pour crer un multi-effets pour guitare. Beaucoup de questions sont traites, de l'installation de Linux la fabrication d'une pdale pour contrler Pd. De nombreux exemples d'effets sont expliqus et tlchargeables. Le site est en anglais mais l'auteur est franais, donc questions et commentaires en franais bienvenus.
http://guitarextended.wordpress.com
Forums
- Forum en franais
http://codelab.fr/
- Forum en anglais
http://puredata.hurleur.com/index.php
2. Installation
Il existe principalement deux versions officielles du logiciel: Pd-Vanilla et Pd-Extended. Le premire est la version originale de Miller Puckette "nue", intgrant le cur et les principales fonctionnalits. La deuxime, comme son nom l'indique, est une version tendue, comprenant un certain nombre de bibliothques, amenant une multitude d'objets supplmentaires.A vous de choisir, en fonction de vos besoins: l'utilisation d'externals (objets de librairies additionnelles) posent parfois un souci de portabilit, si votre patch devra tre utilis sur plusieurs plateformes/ordinateurs diffrents, alors que si vous en faite une utilisation pousse, la version de base pourra vous sembler limite. En tous les cas, on trouve sur le site de la communaut des paquets pour plusieurs distributions courantes. Les dpts de votre distribution proposeront sans doute au moins Pd-Vanilla, peut-tre dans une version antrieure. Il vous est videmment possible de le compiler vous-mme partir des sources, bien que cela peut s'avrer fastidieux si vous dcidez d'accompagner Pd de nombreuses bibliothques.
❗Depuis la version 0.42.5 de Pd-Extended, il est possible de compiler pour les architectures 64bits. Des paquets pour quelques distributions sont d'ailleurs disponibles sur le site de la communaut.
- Pour Ubuntu, Ubuntustudio et Debian, Pd-Vanilla est prsent dans les dpts (si il n'est pas dj install). Le paquet Pd-Extended est tlchargeable sur le site de la communaut, ou partir du dpt:
Copy to clipboard
deb http://apt.puredata.info/releases [ma version] main #vous remplacez par le nom de version: lenny, etch, lucid, etc...
Pour configurer le dpt, reportez-vous la page concernant la Installer un logiciel.
- Pour Ubuntu 9.10, Pd-Extended n'existe pas, du des changements de paquets sur cette version dont Pd dpend. On peut installer les auto-build: il s'agit de paquets ou binaires des dernires versions en dveloppement, compils automatiquement et rgulirement. Il est possible de remonter dans les archives et choisir une version connue pour tre stable. Mais dans la mesure du possible, il vaut toutefois mieux utiliser un paquet officiel pour sa distribution.
- On trouve galement sur le ftp des auto-build des paquets pour Debian, les dernires versions de dveloppement de Pd-Vanilla, et des binaires pour d'autres OS propritaires.
- Sur Musix 2.0 la version installe est la 0.41.4 (Vanilla).
Mandriva
| version | distribution | media | date |
| 0.41.4 | Mandriva 2010.1 | contrib/release | 23/06/2010 |
- Pour Gentoo, il faudra rcuprer l'overlay via layman ou subversion, de la mme manire que le pro-audio overlay.
http://linuxmao.org/tikiwiki/tiki-index.php?page=gentoo_mao#2_5_Installation_via_svn
On peut lancer Pd soit avec le lanceur si le paquet de votre distribution le prvoit, soit en ligne de commande :
Copy to clipboard
pd
Intressons-nous celle-ci un instant. Pour voir les options de dmarrage :
Copy to clipboard
pd --help
❗ Le point important si on travaille en temps rel, c'est d'ajouter l'option -rt, faute de quoi on risque fort de subir une pluie de "DIO errors" :
Copy to clipboard
pd -rt
Il est galement bien pratique de choisir le serveur son, afin de ne pas avoir le configurer dans Pd chaque dmarrage. On peut par exemple le lancer avec jack, un chantillonage 48 000 Hz, le temps rel, et enfin alsa comme serveur MIDI :
Copy to clipboard
pd -rt -jack -r 48000 -alsamidi
Bien, prsent, si on veut mettre tout a en dur : on dite le lanceur (clic droit => proprits => lanceur) et on ajoute les options, ou on en cre un nouveau (clic droit sur le bureau, par exemple => Crer un lanceur).
Depuis les dernires versions, il est possible de mettre tout ce petit monde directement dans le fichier de configuration .pdsettings ou .pdextended, sous l'option flags. Ajoutez la fin du fichier:
Copy to clipboard
flags: -rt -jack etc...
ou graphiquement dans la fentre Startup... du menu File, on ajoute les options sur la ligne startup flags.
Pd ne gre pas encore parfaitement sa relation avec jack, et donc avec le temps rel. Vous risquez de voir beaucoup de DIO Errors (le bouton dans la fentre principale qui s'allume en rouge) si vous travaillez faible latence, ce qui pourrait tre le cas sachant que Pd en ajoute pas mal.
La mthode qui suit donne explicitement une priorit au processus Pd.
L'explication en ligne de commande:
Commencez par trouver l'ID du processus:
Copy to clipboard
ps -e|grep pd 5528 ? 00:00:00 pdextended 5530 ? 00:00:00 pd-gui
Nous voyons donc qu'il y a deux processus: le coeur (ici pdextended), et le GUI. Nous ne nous intresseront videmment qu'au coeur. Voyons maintenant le niveau de priorit actuel. En root:
Copy to clipboard
Et donnons lui une priorit 70, qui devrait tre suffisant pour tre au-del de la carte graphique et des autres processus, mais au-dessous de jack. Toujours en root:
Copy to clipboard
Pour automatiser tout a, je vous propose ce script. Copiez le dans un fichier, et renommez-le du nom que vous voudrez, avec l'extension .sh.
Copy to clipboard
#!/bin/sh chrt -v -p 70 `pidof "pdextended"` |grep "prio" #exit 0
Lancez-le aprs Pd. Vous pouvez toujours vrifier avec chrt -p.
Vous devriez voir prsent les 'DIO Errors' diminuer drastiquement. Si ce n'est pas le cas, c'est que le problme est ailleurs.
Au lancement, il faut s'assurer que le son fonctionne 🙄 en choisissant Test Audio and Midi dans le menu Media
Si jamais a ne devait pas tre le cas, on peut jouer avec les rglages du mme menu. C'est l galement qu'on va choisir le nombre d'entres et de sorties, la latence, les connexions Midi, etc...
Si vous avez install Pd-Vanilla, les rglages devraient tre termins pour vous. Si vous avez la version Extended, il faut encore vrifier ce qui suit:
Si le paquetage pour votre distribution a t bien ralis, tout devrait tre en place. Sinon, ou si vous ajoutez des bibliothques la main, il faudra indiquer les chemins d'accs.
- Dans la fentre Pd binaries to load (File => Startup...), il s'agit de lister, comme son nom l'indique en anglais, les binaires charger au dmarrage. Il vous faut pour cela videmment connaitre son petit nom, et l'ajouter la liste. Pour que Pd la trouve, on indiquera dans la fentre Pd search path... (File => Path...), les chemins vers les bibliothques installes. Un petit exemple en image:
Dans cet exemple, on peut voir que la trs apprcie librairie Zexy est demande au dmarrage, qu'elle se trouve dans le rpertoire /usr/lib/pd/extra/zexy, et qu'elle a bien t charge.
C'est galement dans Path... que vous allez renseigner Pd sur les dossier contenant vos abstraction (un concept bien pratique que vous apprendrez bientt).
Notons encore que la plupart des externals se trouvent gnralement dans /usr/lib/pd/extra et la doc (les patchs d'aide ou les tuto) dans /usr/lib/pd/doc. C'est le concept un peu spcial de Pure Data...
- Pour faciliter l'approche de ce programme, l'exemple d'un gnrateur sonore sera abord et dvelopp.
- Pour commencer, sur une page vierge, 2 boites vont tre placs (Menu Put / Object)
- Les boites sont des modules de type gnrateur, convertisseur, enveloppe...
- La 1ere boite est un oscillateur (osc) gnrant une sinusode 440hz (le fameux LA du diapason) 😊, le signe (~) signifie qu'il s'agit d'un flux audio.
- La 2eme boite est le convertisseur (DAC - Digital-to-Analog Converter) qui transforme le signal numrique en signal analogique
- Les 2 fils en gras (audio) relient l'Osc au DAC en stro
- Et voila notre premier gnrateur sonore 😊
- Voici d'ailleurs le code au format .txt (doit tre renomm en .pd pour tre charg dans Pure Data) Copy to clipboard#N canvas 582 516 307 82 10; #X obj 50 7 osc~ 440; #X obj 125 58 dac~; #X connect 0 0 1 0; #X connect 0 0 1 1;
➡️ N'oubliez pas d'activer le son dans le menu Media / Audio On
- En cliquant (bouton droit) sur la boite osc nous avons accs une page d'aide 💡, que l'on peut aussi modifier (pour traduire par exemple), impressionnant, non !
- Une boite multiplicateur est rajoute
- Une boite argument reli par un fil de commande permet de changer la valeur
- Code :Copy to clipboard#N canvas 199 177 243 117 12; #X obj 14 -111 osc~ 440; #X obj 133 -21 dac~; #X obj 147 -67 *~; #X floatatom 172 -108 5 0 100 0 - - -; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 2 0 1 1; #X connect 3 0 2 1;
➡️ Avec CTRL E, on passe du mode Edit au mode Jeu ce qui permet de varier le volume avec la souris.
➡️ Seule les premires valeurs sont actives (de 0 10 environ / progression linaire) alors que nos oreilles sont sensibles a des valeurs logarithmiques 😬
- En rajoutant une boite coin biseaut, nous pouvons varier la frquence de l'oscillateur (qui est rappelons le, sinusodal).
- Nous pouvons aussi rajouter un curseur horizontal qui fera office de potentiomtre pour rgler le gain.
- Code :Copy to clipboard#N canvas 352 375 331 141 12; #X obj 93 0 dac~; #X obj 104 -45 *~; #X floatatom 189 -74 5 0 100 0 - - -; #X obj 192 -108 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -261681 -1 -1 5200 1; #X floatatom 7 -111 5 0 0 0 - - -; #X obj 7 -81 osc~; #X connect 1 0 0 0; #X connect 1 0 0 1; #X connect 2 0 1 1; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 5 0 1 0;
➡️ Le signe ~ est accessible avec la touche ALT Gr + ~
➡️ Les liaisons grasses reprsentent le trajet audio
➡️ Les liaisons fines reprsentent les commandes
Clavier virtuel
- L'insertion de plusieurs boites permet de jouer avec des notes biens prcises correspondant des hauteurs en frquence dfinies par des codes Midi (de 1 extrme grave 128 extrme aigu)
- mtof permet donc de convertir des notes Midi en frquences
- Do 60 correspond C3 (situ sur l'octave moyenne d'un clavier portable)
- Pour le volume, on peut aussi changer pour un curseur vertical et changer la couleur 😉
- Code :
[+]
- Tout doucement nous verrons l'laboration d'un synthtiseur monophonique simple synthse soustractive ou additive 😊
suivre... 😉
http://impala.utopia.free.fr/pd/patchs/selection/
http://www.puredata.info/community/patches
http://nullpointer.co.uk/-/pd.htm
JKP-Concerto surraliste pour clavier azerty
http://guitarextended.wordpress.com
[+]