Bonjour à tous,
Je débute en PD et j'ai commencé par lire le tutoriel en ligne sur le site de pure data.
J'ai ajouté en commentaire sur le patch ce qui me tracassait.
Hors ligne
Bonjour et bienvenue sur codelab,
Le principe de ton patch est de tirer un nouveau nombre aléatoire si le nombre tiré est égal au nombre précédent. Mais, le tirage d'un nouveau nombre est immédiat, s'il est égal la condition [==] est vraie et un nouveau nombre est tiré instantanément, et ça continue tant que la condition n'est pas fausse, quand elle est fausse, la condition [==] vaut 0. Comme tout ça se passe instantanément tu n'as pas le temps de le voir, et tu ne vois que les zéros.
Pour te rendre compte du phénomène, rajoute un [print] sous la sortie de [==]
Si la "boîte à nombre" qui fixe la fourchette du random est à 0 ou 1, le nombre tiré sera forcément 0, la condition sera toujours vraie, et ça créera un bug / stack overflow, pour éviter tu peux un mettre un [del 1] entre [sel 1] et le cable qui remonte au [random].
a+
(j'ai ajouté l'image dans ton message, avec "intégrer son, image, ou vidéo" sous la boite de rédaction de message, depuis flickr elle ne s'affichait pas)
Hors ligne
Merci!
J'avais pas pensé à mettre le print à la sorti de l'objet comparaison.
Cependant, lorsque je clique sur le bang, il n'y a finalement qu'une opération qui se fait non? vu qu'à partir de cet instant un seul nombre est envoyé dans la boite toogle bang float bang float et donc ce nombre est envoyé à la sortie la plus à gauche c'est bien ça? là aussi j'ai un peu de mal...
Par exemple, que fait la 2e sortie bang (en partant de la droite) qui est relié à un boite float? elle déclenche le float mis dans l'inlet droit mais... là j'ai un peu de mal....
Cependant, en sortie de la boite Float, les nombres sortis sont quand même 0 et 1 et c'est ça que je ne comprend pas.
Pourquoi est-ce qu'à cet endroit précis je vois le résultat de la comparaison parce que finalement ce qui sort du == est soit un 1, soit un 0.
Hors ligne
citation :
et donc ce nombre est envoyé à la sortie la plus à gauche c'est bien ça
Je regarderais plus précisément tout à l'heure, mais déjà sache que les instruction sortent de la boite [t] en partant de la droite...
Cherches tu à arriver à un résultat particulier ou fais tu juste cela pour apprendre... ?
Si tu nous dis ce que tu veux faire ce sera plus simple pour nous...
Hors ligne
Je sais pas pourquoi j'ai dit gauche.... Je pensais droite
En fait, je faisais ça juste pour apprendre.
voici le lien d'où j'ai tiré l'exercice 2.2.1.2.7 Random without repetitions dont voici le lien :
http://www.pd-tutorial.com/english/ch02s02.html
Merci pour votre aide!
Hors ligne
Dans ton patch, il manque un fil par rapport à l'exemple... celui de l'initialisation...
Il part de la boite [nombre\ qui définit le champs d'action du [random] et va dans l'entrée froide du premier [f].
Grâce à lui, nous sommes sûr que [==] sortira un 0 au premier bang car [random n] donne des nombres entre 0 et n-1.
Pour la suite, le [f] le plus haut stocke le dernier nombre et permetra la comparaison avec le suivant au prochain bang.
Car le but de l'exercice est de ne pas avoir deux fois le même nombre de suite... si c'est le cas, [==] renvoi un 1 qui fait re-bangué le [random]....
En espérant t'avoir aidé...
Dernière modification par Olivier (2009-10-27 23:46:58)
Hors ligne
Merci!
La pièce est tombée
Hors ligne
Salut c'est marrant, je débute également et je suis resté des heures devant ce patch afin de le comprendre.
Pourtant je n'arrive toujours pas à l'adapter à mon problème.
J'utilise le padkontrol et l'abstraction gyo.padkontrol. Il est possible alors de récupérer le numéro du pad n et la velocité v.
J'aimerais réaliser ceci
- J'appuie sur le pad il s'allume (jusqu'ici pas de soucis c'est compris dans l'abstraction)
- J'appuie sur le même pad soit n(2) (2 pour deuxième pression) égal n(1) et v >0 alors le pad s'éteint. (action 1)
- J'appuie sur un autre pad n(2) différent de n(1) et v >0 alors le nouveau pad s'allume. (action 2)
Si vous avez l'esprit plus clair que moi, n'hésitez pas!
Hors ligne
Je ne connais pas l'abstraction dont tu parles, mais tel que tu décris ce que tu veux faire, un simple toggle suffit...
J'imagine toutefois, que quand tu appuies sur un autre pad tu veux à la fois que le premier s'éteigne et le deuxième s'allume... non ?
Pour cela, j'avais tissé une petite abstraction qui gérait cette condition (de souvenir, elle éteignait tous les pads avant d'allumer (ou non) celui qui était pressé... mais il y avait une petite subtilité à contourner dont je ne me souviens plus...)
Je ne pourrais toutefois pas te poster la boite en question avant lundi... désolé...
Enfin... je ne suis pas sûr que le patch abordé dans ce sujet soit vraiment utile dans ta situation...
Bon courage dans tous les cas...
Dernière modification par Olivier (2009-11-28 21:59:14)
Hors ligne
Salut merci pour ta réponse, peut être que j'essaie de compliquer le problème c'est sur.
J'ai néanmoins réussi à l'aide de l'exemple ci dessous à lui faire comprendre une partie des conditions à savoir
n(2)=n(1) et n(2)!=n(1) par contre j'ai un souci lorsque la vélocité tombe à 0 une fois appuyé, ca redéclenche un bang et du coup tout tombe à l'eau...
Hors ligne
Je ne connais pas non plus l'abstraction, mais il y a un filtre pour enlever les midi-note-off : [notestrip] à connecter en cascade de [notein].
Hors ligne
Voici à quoi ressemble l'abstraction
J'ai trouvé le gyo.padkontrol ici http://pspunch.com/pd/library_en.html
Avec l'abstraction jack_transport j'essaie de faire un pseudo monome du pauvre.
En fait l'abstraction gyo.padkontrol permet de passer dans le mode natif du padkontrol, et du coup n'envoie plus de midi.
En fait ce que je veux contrôler dans un premier temps c'est le led on et led off simultanément.
Je me suis trompé dans mon raisonnement au dessus
Par exemple led on 10 -> allume le pad 10. Donc si je remplace la valeur 10 par le n° du pad je pourrais l'allumer sur simple pression.
Par contre pour l'eteindre je dois lui faire comprendre de n'éteindre que ceux déja allumés...
Je crois qu'il faut que je stocke le numero du pad dans une table et si le numero tombe une deuxième fois, j'active le mode led off. Un truc dans le genre j'imagine.
En plus de cela, lorsque la vélocité retombe à 0, il considère cela comme un deuxième bang donc si j'appuie une fois sur un pad, il envoie deux fois la valeur du numero... Il faudrait que je reste éternellement appuyé sur le pad. Pas pratique.
Bref pour mon premier patch, je crois que j'ai visé un peu trop haut. Mais bon du coup ça me fait chercher un peu partout toutes les options, c'est pas plus mal.
Dernière modification par arboreal (2009-11-29 09:21:20)
Hors ligne
As tu essayé de mettre [notestrip] à la suite du [unpack] à la sortie 1 (pad) ?
Sinon à la main tu peux l'écrire comme ce petit tour de passe-passe partir de la sortie 1 (pad), à la place du [unpack] :
|
[swap]
| \
| \
[pack f f]
|
[route 0] (vire les notes de vélocité nulle)
|
[swap]
/ |
/ |
pad.no velocity
Hors ligne
Bonjour à tous....
je poste depuis pas mal de temps pour obtenir une info sur le midi.... et personne ne semble vouloir répondre!!! est ce que quelqu'un sur ce fil pourrait m'aider??? donc depuis mes débuts sur Pd impossible d'obtenir de sortie midi.. l'audio fonctionne parfaitement le midi non; Pourtant aucun pbs sur mon Mac pour utiliser le general midi avec d'autres applications!!!
Dans les préférences de Pd aucune machine ne m'es m'est proposée et quand je clique sur "multidevices" rien ne se passe...
Merci d'avance
AB
Hors ligne
Vers le bas de cette page : http://en.flossmanuals.net/PureData/ConfiguringPD
citation :
On Mac OS X, to use MIDI you must first open the "Audio MIDI Setup.app", which is located in your Applications/Utilities folder. Once this application is open, and you have connected your external MIDI devices (if any), you should be able to see your MIDI devices in this window. Minimize the "Audio MIDI Setup.app" and return to Pd and this "MIDI Settings" menu. Now you will be able to choose which devices with which Pd will send and receive MIDI messages. You may also select "use multiple devices" if you have several applications or devices using MIDI.
Hors ligne