Bonjour, pour un projet de jeu de musique générative à l'aide de la réactable, on souhaite se servir de pure data pour le son, est ce que quelqu'un sait quelque chose par rapport à pur data et la musique générative (j'en suis à faire de petits patchs de synthés et des petites boites à rythme)
est il possible de réaliser une chaine de markov?
qu'elle sont les possibilitées en terme d'écriture interactive ?
est - il possible de faire lire des samples aléatoirement ?
est ce quelqu'un à une experience de usique générative avec pure data à faire partager ?
pure merci !!
Hors ligne
Bonjour,
*pour la chaine de markov, il existe un fichier d'exemple fourni dans la documentation de pure data, qui fourni un bon point de depart.
*En terme d'ecriture interactive, il y a de nombreuse possibilité tout depend apres du type d'information envoyée midi, audio, visuel.
en general ca se passe en trois temps ,
analyse ( l'ordi ecoute ), traitement puis sortie ( l'ordinateur joue )
en analyse audio, des objets comme fiddle~, env~, bonk~ permette de recuperer des informations telle que le volume, le pitch d'un son monophonique et meme d'identifier quels sons est jouées apres un process d'analyse/reconnaissance
en midi, il existe des externals qui recupere certains fonctionnalités couteau suisse tel que borax qui peut analyser les intervalles , accords , timing etc
sinon avec les objets de base il est possible de gerer facilement des reconnaissances de tempo de hauteur, d'ecart d'une note par rapport a une gamme
apres les possibilités en matiere de restitution sont assez enorme de toute maniere ( traitement du son, du midi , synthese , lancement de sequence etc ... )
*oui ;o)
stockage des samples dans des tables
selection aleatoire du tableau à lire
un petit sequenceur derriere tout ca et hop !!!
regarde l'aide sur array, tabplay~,random, soundfiler, openpanel, metro,
HK
ps : j'essaierais de fournir qq exemples pour illustrer tout ca
voici un lecteur de samples il choisi aléatoirement entre 3 samples toutes les 125ms, les trois boutons verts chargent les fichiers audio mono wav ou aiff dans les tables,
le bouton rouge lance la sequence
copier le code dans un fichier texte et le renommer avec l'extension pd
#N canvas 423 175 854 640 12; #X obj 9 31 table sample1; #X obj 9 58 table sample2; #X obj 8 86 table sample3; #X obj 223 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X obj 223 62 openpanel; #X obj 223 119 soundfiler; #X msg 223 90 read -resize \$1 sample1; #X obj 423 39 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X obj 423 61 openpanel; #X obj 423 118 soundfiler; #X obj 623 38 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X obj 623 60 openpanel; #X obj 623 117 soundfiler; #X msg 423 89 read -resize \$1 sample2; #X msg 623 88 read -resize \$1 sample3; #X obj 21 491 tabplay~ sample1; #X obj 171 491 tabplay~ sample2; #X obj 321 491 tabplay~ sample3; #X obj 140 442 select 0 1 2; #X obj 140 384 metro 125; #X obj 140 414 random 3; #X obj 21 571 dac~; #X obj 140 357 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 217 6 chargement des samples wav ou aiff dans les tables; #X text 6 3 conteneur des samples; #X obj 140 312 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 -1 -1; #X text 14 275 lecture aleatoire toutes les 125ms des 3 samples; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 6 0 5 0; #X connect 7 0 8 0; #X connect 8 0 13 0; #X connect 10 0 11 0; #X connect 11 0 14 0; #X connect 13 0 9 0; #X connect 14 0 12 0; #X connect 15 0 21 1; #X connect 15 0 21 0; #X connect 16 0 21 1; #X connect 16 0 21 0; #X connect 17 0 21 1; #X connect 17 0 21 0; #X connect 18 0 15 0; #X connect 18 1 16 0; #X connect 18 2 17 0; #X connect 19 0 20 0; #X connect 20 0 18 0; #X connect 22 0 19 0; #X connect 25 0 22 0;
Dernière modification par human.koala (2008-03-13 19:10:51)
Hors ligne
citation :
qu'elle sont les possibilitées en terme d'écriture interactive ?
est - il possible de faire lire des samples aléatoirement ?
comme exemple, dans le genre "lecture d'un sample généré à la volée", il y a ce patch, qui pour ma part me plait beaucoup :
http://pix.test.at/pd/tabfight2k-r4nd2.tar.gz
son histoire ici : http://pix.test.at/blog/pivot/entry.php?id=18
Hors ligne
merci à tous les deux, je vais m'empresser d'aller explorer tout ca!
merci
Hors ligne
pour les chaines de markov :
dans pure data :
Help-> Browser -> 2.control.examples -> 21.Markov.chain.pd
HK
Hors ligne
La musique du jeu Spore est complétement procédurale et est faite avec pd. L'idée de base est qu'ils utilisent des génerateurs aléatoires en réinjectant les graines à chaque fois qu'ils souhaitent reprendre la séquence au début (par example chaque mesure, ou toute les 4 mesures).
Ensuite, pour génerer des hauteurs de notes, ils filtrent les suites de nombres aléatoires pour les contraindre à rester sur une gamme donnée. En changeant les probabilités d'obtenir telle ou telle note (dominante, tonique, etc.) en fonction de la position dans la mesure (temps forts/faibles) on obtient facilement des résultats sympathique. La même chose peut se faire assez facilement pour les percussions.
Ils ont également implémenté les règles classiques de contrepoint pour génerer des séquences additionnelles à jouer en parallèle (http://en.wikipedia.org/wiki/Counterpoint).
Par contre, ils n'utilisent que des samples, et ils n'utilisent pas vraiment les capacités de pd pour la synthèse (c'est assez logique car sinon ils aurait beaucoup de mal à prévoir quel est le cout CPU de leur moteur audio, et donc bonjour les ralentissements imprévisibles).
Hors ligne
rep a écrit:
citation :
qu'elle sont les possibilitées en terme d'écriture interactive ?
est - il possible de faire lire des samples aléatoirement ?comme exemple, dans le genre "lecture d'un sample généré à la volée", il y a ce patch, qui pour ma part me plait beaucoup :
http://pix.test.at/pd/tabfight2k-r4nd2.tar.gz
son histoire ici : http://pix.test.at/blog/pivot/entry.php?id=18
dis moi rep
est ce que tu as gardé ce patch et tu pourrais le mettre a disposition??
merci de ton aide
Hors ligne
Luc Sassion a écrit:
rep a écrit:
son histoire ici : http://pix.test.at/blog/pivot/entry.php?id=18
dis moi rep
est ce que tu as gardé ce patch et tu pourrais le mettre a disposition??
merci de ton aide
bah il est plus dispo sur le net à ce que je sais mais je dois en avoir une copie quelque part dans mon énorme bordel qui me sert d'ordinateur. je te tien au courant.
par contre il ne marchait qu'avec des version assez anciennes de puredata, genre les dernières pd-extended ne marchaient pas avec...
Hors ligne
merci
Hors ligne
http://codelab.fr/1771
pour info sur le forum à cette adresse il y a un bon lien vers de tuto de compo algorithmique.
J'ai joins les patchs pd que j'ai réalisé en suivant les tuto, il y en a notament un sur les chaines de markov.
En pj, il y a aussi les patch issus du trunk rjdj, et donc un exemple d'utilisation des chaines de markov pour générer des mélodies
Hors ligne