Septembre 2007 Archives

27 septembre 2007 12:09 pm

note @ 27 sept 2007 12:09 pm by admin

phase de test terminé; passer à l'action!!!! c-a-d. rejoindre le texte rapidement et éliminer tout le superflu; qu'est-ce qui m'importe d'abord; qu'est-ce que je souhaite; vers quoi je veux aller? je perds trop de temps avec des trucs que je ne maitrise pas; je veux aller droit au but puisque j'ai, peu à peu éclairci le but à force de chercher dans tous les sens -c'est pas vraiment une perte de temps -> j'élimine des possibles pour n'en retenir que quelques uns, seulement ceux qui me sont essentiels
les choix je les fais en pratique et non pas en pensée

Posted by pascsaq | Permanent link | File under: divers

26 septembre 2007 06:35 am

note @ 26 sept 2007 06:35 am by admin

J'attends le metro - champ visuel -> pieds, jambes, chevilles; l'attente. Des grincements métalliques, froissements du papier, frottements des bas de pantalon - jambes l'une contre l'autre, le velours ça siffle. Je monte, je m'assois au fond du compartiment -des banquettes de skaï bleu de même couleur que l'élastique du carnet que j'ai en main; FRISSEMENT de papier / sac plastique - 'DFCA' à gauche. Portes s'ouvrent et se ferment; souffles, ça claque, le caoutchouc amortit le battement. Ras-le-bol et doutes, suis-je à la hauteur de la tâche que je m'impose???Impression douloureuse de ne pas être à ma place; mais quelle place??? Et qui en décide à part moi de m'y mettre!!!D'où est-ce que je viens???grincements, sifflements de crissements mouvements -> sentir la pression du mouvement de la rame

homme devant; pouce sur les touches du cellulaire, sac plastique H&M coincé contre son torse et son bras serré

Posted by pascsaq | Permanent link | File under: divers

13 septembre 2007 05:53 am

Cours du soir premiere partie...

Les objectifs de ce premier cours :

Présentation des cours du soir, mise en route.

-Présentation du programme
-Vérification ou réinstallations des bonnes versions de PD
-Installation librairies
-Structure des chemins d'accès et réglages des préférences
-Objet import (library)
-Révision prérequis
-Exercices corrigés

http://www.craslab.org/coursdusoirPD/?page=01_Presentation

Dans un premier temps, je distribue les CDs d'installation de puredata, j'essaie de régler les problèmes rencontrés : en particulier la version de pd ne démarre pas du tout sur l'Ibook d'une participante... Est-ce dû à une incompatibilité de matériel??? Je constate qu'on rencontre ce type de problème lorsque la/les personnes arrivent avec un portable qu'ils n'utilisent pas ou peu, ou bien qu'ils ont emprunté pour venir. Ils ne connaissent pas bien cet ordi et sans doute n'est-il pas vraiment configuré pour ce type de travail (multimédia).
Je présente en quelques mots la manière dont se dérouleront les cours, le fait que nous soyons plusieurs formateurs avec chacun son expérience ce qui a mon avis est un gros atout pour ces formations (différents points de vue, différentes manières d'aborder les concepts etc.)
Je passe ensuite en revue tous les concepts de bases, ordres des connections, l'addition, les objets, je tente de donner un exemple concis à chaque fois, sans faire de démonstration plus poussée (contrairement à la formation de samedi plus approfondie de ce point de vue). En quelque sorte, j'essaie de faire un rapide survol de tous les pré-requis listés (voir la formation de samedi). J'insiste plus particulièrement sur les objets qui avaient posé problème ou qui me paraissent primordiaux :[moses] (j'essaie de trouver une autre manière d'en parler, et de le mettre en oeuvre plus simplement) ou [select] parce qu'on n'avait pas eu le temps d'en parler, même chose pour [pack] et [unpack] (j'explique bien en détail le fonctionnement de ces objets).
[moses] :

atom
|
[moses 0]
|          
négatif    positif
[moses] prend un nombre en entrée et le sort à gauche s'il est inférieur à la valeur de contrôle (défini soit par un argument, soit par l'inlet de droite) et à droite s'il est supérieur ou égal à cette valeur. La création d'un argument initialise la valeur de contrôle et l'inlet droit change cette valeur. [moses] agit donc comme une sorte de filtre -voir également [min] et [max]-

[select] ou [sel] :


atom
|
[sel 1 2 34 56 9]
|
[print a] etc.

Pour chaque outlet on ajoute un [print]; pour chaque valeur selectionnée [select] envoit un bang (et non la valeur) sur l'outlet correspondant sinon, pour toutes autres valeurs inférieures ou supérieures aux valeurs selectionnées, l'objet [select] envoie la valeur sur le dernier outlet (droite). Permet d'une part de récupérer des bang pour telle ou telle valeur, d'autre part de récupérer des valeurs.

L'objet [import] permet d'importer les bibliothèques lorsqu'elles ne sont pas chargée au démarrage de puredata. Si une bibliothèque est indispensable pour le chargement correct d'un patch et que l'on souhaite partager ce patch avec d'autres utilisateurs, il peut être favorable d'y ajouter l'importation automatique par [import ..] (si la bibliothèque est installée).

[pack] et [unpack]; [pack] combine plusieurs messages, atoms en un seul message. La définition des arguments définie également leur type :
[pack 100 0 s 42] dans cet exemple l'objet [pack] reconnaît un float dans le premier, second et quatrième inlet, un symbol pour le troisième ou :
[pack float float symbol float] ou encore [pack f f s f] par contre, il n'acceptera pas un argument tel que "mot"
[unpack] fonctionne de la même manière en sens inverse exemple : [unpack 0 0 s f f]...

Ensuite, je réserve une grande partie (30mn environ) à toutes les questions : définition des chemins d'accès aux répertoires en particulier...

Pour la préparation de ce cours, j'ai réinstallé la version pd-0.39.3-extended sur un laptop très ancien (Dell Latitude CPt) tournant sous linux Debian 4.0 Etch.
Processus d'installation que j'ai suivi :
Je télécharge tout d'abord le packet Debian : pd-0.39.3-extended-debian-stable-i386.deb par exemple ici http://autobuild.puredata.info/auto-build/2007-09-12/
Je vais dans le répertoire du chargement :

$ cd Repertoire
$ su root
# dpkg -i pd-0.39.3-extended-debian-stable-i386.deb

Je reçois une série de messages de dépendences :
libjack0.100.0-0 ttf-bitstream-vera tcl8.4 tk8.4 imagemagick libpng3 libmpeg1 libmpeg3-1 libquicktime0 libimlib2 libgsl0 libmagick++9c2a x-ttcidfont-conf libavifile-0.7c2

# apt-get -f install
Je suis les instructions à l'écran et l'installation se passe toute seule sans problème...
Je teste ensuite puredata :
$ pd //pour démarrer pd
je constate qu'il me manque libmp3lame.so.0 pour pidip même en installant twolame libtwolame0 je ne règle pas le problème...

Je teste ensuite mes patches de cours sur la debian, tout semble fonctionner parfaitement...
Pour les chemins des librairies le fichier .pdsettings dans le répertoire de puredata charge automatique les librairies... Si problème voir .pdsettings dans le répertoire utilisateur et éventuellement l'effacer pour revenir à la configuration par defaut. Sinon, on peut également créer un fichier .pdrc (obsolete???) dans lequel on peut y indiquer les chemins d'accès (répertoires etc.) Il doit également y avoir un moyen d'y configurer le chemin d'accès à un répertoire de travail pour sauvegarder automatiquement ses fichiers dans le bon répertoire (il faut que je cherche comment faire).

Voici un exemple de fichier .pdrc (MacOSX)

-lib Gem -lib py -lib oscx -lib la-kitchen -lib toxy -lib rradical -lib pddp -lib pdp -lib iemlib -lib hid -lib ext13
-path /Users/pascalegustin/_PUREDATA/_PDNET/netpd/abs
-path /sw/lib/
-path /Applications/Pd-extended.app/Contents/lib
-helppath /Users/pascalegustin/_PUREDATA/_PDNET/netpd/doc
-path /Users/pascalegustin/pdmtl
-helppath /Users/pascalegustin/pdmtl

N.B. fichiers de configuration soit dans le répertoire utilisateur pour linux ou répertoire de puredata .pdsettings
-> /usr/local/lib/pd/ -> default.pdsettings

Pour Mac
~/Library/Preference -> org.puredata.pd.plist et org.puredata.pd.wish.plist

Posted by pascsaq | Permanent link | File under: workshops

12 septembre 2007 09:16 am

Compte-rendu de la journée de formation du 8 septembre 2007 à Mains d'OEuvres -

Intitulé : initiation à Pure Data, Niveau 1

"Cette journée est destinée aux débutants qui n'ont jamais ouvert de logiciel de gestion d'évènements multimédia temps réel. Il est nécessaire d'apporter un ordinateur pc ou mac portable. La journée commence par une présentation du logiciel, accompagnée d'exemples multimedia divers, suivie par une installation correcte du logiciel sur toutes les machines. L'apprentissage se fait ensuite au pas-à-pas, en suivant une progression lente de manière à bien intégrer les bases."
Voir : http://www.craslab.org/
Remarque personnelle : l'intitulé de cette formation n'était pas vraiment en accord avec le but réel de cette journée. Ce qui m'a un peu obligé à faire une formation accélée...

Nombres de participants : 16.

Durant cette première journée de formation (et première expérience pour moi en tant que formatrice), j'ai essayé de présenter le plus globalement possible les fonctionnalités et concepts essentiels de puredata. Pour chacun des concepts aperçu, j'ai tenté d'y adjoindre une application concrète. L'objectif de départ était imposé par le fait que cette journée d'initiation devait servir de base à la bonne compréhension des cours du soir qui vont suivre durant ce trimestre (septembre à décembre 2007). Je devais intégrer un certain nombre d'objets essentiels, que nous avions prédéfini lors des deux journées qui ont servi à la préparation de ces cours; voir http://www.craslab.org/coursdusoirPD/

Les objets prédéfinis étaient les suivants :

- Fonctions générales: Bang/ Print/ Loadbang/ Toggle/ slider&number/ Objets math (+-/*=>...%)/ Metro/ Random/ Delay/ Timer/ float/ Symbol/ Int/ pack/ unpack/ min/ max/ keyup/ Select/ Route/ Trigger/ spigot/ moses
- Fonctions audio : adc~/ dac~/ osc~/ noise~/ phasor~/ line~/ vline~
Fonctions image : gemwin(0, 1, dimen, offset, border,color,create, destroy)/ gemhead/ worldlight/ modèles 3D (square, circle etc)/ color/ rotateXYZ/ translateXYZ/ scaleXYZ/ text3D/ openpanel/ pix_image/ pix_texture/ pix_film/ pix_video

J'ai donc préparé une série de cours dans lesquels étaient intégrés ces objets.
Cette journée d'initiation niveau 1 s'est donc déroulée de la manière suivante :
Dans une toute première partie, j'ai présenté brièvement puredata à l'aide du document de Jérome Abel : PureData_initiation_fr.pdf
Les participants avaient à leur disposition des CDs contenant la version pd-extended-39.3 qu'ils ont pu installer sur leur machine. Seul l'un d'entre eux a eu un problème d'installation (hardware incompatible). Puis -> installation et vérification du chargement des "libraries".
cours1-0.pd
Les bases, l'addition, le bang graphique, le bang objet, le bang message, [trigger], notion d'entrée chaude, entrée froide... L'objet [print]... Ordre des connections, la lecture d'un patch (de droite à gauche).
cours1-1.pd
Les objets arithmétiques +, -, *...[int] et [float], [mod] et [pow]
cours2-0.pd
Nous avons ensuite abordé les compteurs - différence entre patch, sous-patch et abstraction; l'objet [metro] et faire une boucle... [loadbang]... Et [init] (différences entre les deux).
cours2-1.pd
Rapide survol de symbol, on voit également assez rapidement [moses], [route], cours surtout orienté sur quelques unes des bases de la programmation -> si...alors et un exemple concret en puredata ou... Comment traduire les structures de contrôle (bases). J'ai essayé d'être la plus claire possible dans cette partie là et ça n'était pas simple... Il y avait beaucoup de concepts à intégrer à la fois.
cours2-2.pd
[timer], [min], [max]... Mais je n'avais pas beaucoup d'exemples concrets à présenter -surtout pour [min] et [max]... J'ai traité dans ce cours les objets de manière individuelle sans les raccorder à des exemples concrets d'applications (par manque de temps)... Ainsi que [delay]... et [random]. Je devais les intégrer ultérieurement à des exemples concrets mais nous n'en avons pas eu le temps; nous avons vu également [key], [keyname] et [keyup]... Le but : savoir que ces objets existent...
cours3-0.pd
Premiers pas avec Gem... Création d'une fenêtre et destruction. On voit dans ce cours [gemhead], [gemwin] et les messages basiques qu'on peut leur attribuer. L'objet [rotateXYZ], [color], et un premier objet géométrique 3D [cube]; on associe un compteur et on fait tourner un cube sur lui-même...
cours3-1.pd
On améliore le patch précédent avec [select]; les messages qu'on peut envoyer à [gemwin] sont vus en détail...
cours3-2.pd
[world_light] et [translateXYZ]
cours3-3.pd
Dans ce cours, je présente très succinctement les différents objets géométriques 2d et 3d... Je laisse à chacun la possibilité d'utiliser les patches d'aides pour comprendre comment ces objets fonctionnent. L'exercice final que j'avais préparé leur demandait de choisir un de ces objets et de le mettre en oeuvre...
Ensuite à la demande d'une participante, je donne un exemple d'utilisation de [pix_film]... Puis je passe à la partie sonore... Mais c'est déjà la fin de la journée!!!
cours5-0.pd
[osc~] et [noise~]
cours5-1.pd
Pour terminer de la manière dont nous avions commencé : additionner non plus des valeurs numériques mais des fréquences; la synthèse additive brièvement. Les opérateurs numériques [+~], [-~] etc. sur les données sonores... Le ~ et la ficelle grasse...
cours5-2.pd
On expérimente avec [line~], [vline~], [select] et [moses]...
Tous les cours sont là : http://cuneiform.free.fr/C.R.A.S./

Remarques personnelles :
Comme c'était la première formation que je donne, j'ai pu remarquer certaines choses, attitudes qui me sont propres et que je peux et dois corriger. D'une part, on ne peut ni jouer, ni sur-jouer quoi que ce soit, tout "semblant" est immédiatement découvert. C'est comme une expérience de mise à nu de quelque chose (en l'occurence ici, de mon expérience avec puredata). Toute lacune ou approximation est immédiatement repérée.
- Le moindre "détail" est important car il peut être l'objet d'une interrogation, d'un questionnement important pour quelqu'un d'autre.
- Pas d'approximation possible.

Sinon :
- Quels codecs vidéo exactement.
- Les fonctions conditionnelles en C. Je dois réviser un peu mes bases en prog.
- Les faire patcher en même temps que moi.
- Expliquer oralement ce que je fais, et commenter les patches et les objets au fur et à mesure (ça évite les temps morts et le "décrochage" de l'attention).
- Commentaires utiles et conventionnels pour donner de bonnes habitudes dès le départ.
- Et patcher, patcher, patcher...

Posted by pascsaq | Permanent link | File under: workshops