-
Notifications
You must be signed in to change notification settings - Fork 4
/
GTD-0-helloworld.pd
129 lines (129 loc) · 4.77 KB
/
GTD-0-helloworld.pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#N canvas 623 29 838 990 10;
#X declare -path rj;
#X obj 91 381 key;
#X obj 93 500 mtof;
#X obj 95 557 osc~;
#X obj 113 638 lop~ 10;
#X obj 95 689 *~;
#X obj 112 598 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 43 340 declare -path rj;
#X obj 96 791 soundoutput;
#X text 46 22 Pure-Data est un logiciel de traitement du signal en
temps réel \, cela signifie qu'il peut être utiliser pour créer
de la musique (interactive ou non) \, des moteurs audio (pour jeux
vidéos \, applications mobiles) \, des plugins audio (à utiliser
dans des DAW) mais aussi produire de l'analyse de flux audio (puissance
\, beat detection \, transformées de fourrier etc.).;
#X text 48 121 Le principe est de créer des boites portant chacune
une fonctionnalité et de les relier entre elles par des fils pour
propager la donnée qu'elles génèrent.;
#X text 47 171 Il est donc nécessaire de bien suivre le chemin des
fils pour comprendre le fonctionnement d'un patch. Les boites ont des
entrées et des sorties et réalisent une opération : la sortie est
affectée par les valeurs en entrée. Chaque boite contient son propre
fichier d'aide accessible en cliquant "droit" sur la boite.;
#X text 48 253 Il existe deux types de fils et de sorties \, les éléments
avec une graisse plus importante portent des données audio \, les
autres des données classiques (nombres).;
#X text 169 337 => on déclare un chemin pour avoir accès à des boites
issues de la bibliothèque "rj" dont le dossier se trouve dans notre
répertoire de travail;
#X floatatom 113 435 5 0 0 0 - - -, f 5;
#X text 50 299 Ce premier patch est un synthétiseur rudimentaire controlable
via le clavier.;
#X text 225 807 Sortie audio;
#X text 155 435 le code s'affiche ici (si vous utilisez les chiffres
de votre clavier vous obtiendrez des valeurs utilisables en midi) ->
comprises entre 48 et 57 ce qui est presque une gamme !;
#X obj 12 530 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-262144 -1 -1 8.1758 256;
#X text 161 501 On transforme la valeur du code en une fréquence utilisable
pour controller un synthétiseur (en entrée un note midi => en sortie
une fréquence);
#X text 127 382 permet de récupérer le code ASCII d'une touche de
clavier => pas d'entrée \, en sortie un nombre;
#X text 145 554 osc~ ou phasor~ prennent en entrée un fréquence et
génèrent en sortie un signal audio;
#N canvas 4 23 760 809 exercice 0;
#X obj 99 136 key;
#X obj 101 255 mtof;
#X obj 103 312 osc~;
#X obj 401 507 osc~;
#X obj 242 409 phasor~;
#X obj 121 366 lop~ 10;
#X obj 401 478 * 2;
#X obj 562 509 * 2;
#X obj 562 538 phasor~;
#X obj 103 389 *~;
#X obj 121 343 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 259 459 lop~ 10;
#X obj 241 482 *~;
#X obj 259 436 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 419 558 lop~ 10;
#X obj 401 581 *~;
#X obj 419 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 580 589 lop~ 10;
#X obj 562 612 *~;
#X obj 580 566 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 258 673 soundoutput;
#X floatatom 121 190 5 0 0 0 - - -, f 5;
#X text 387 689 Sortie audio;
#X obj 20 285 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-262144 -1 -1 8.1758 256;
#X connect 0 0 1 0;
#X connect 0 0 21 0;
#X connect 1 0 2 0;
#X connect 1 0 6 0;
#X connect 1 0 4 0;
#X connect 1 0 7 0;
#X connect 1 0 23 0;
#X connect 2 0 9 0;
#X connect 3 0 15 0;
#X connect 4 0 12 0;
#X connect 5 0 9 1;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 8 0 18 0;
#X connect 9 0 20 0;
#X connect 9 0 20 1;
#X connect 10 0 5 0;
#X connect 11 0 12 1;
#X connect 12 0 20 0;
#X connect 12 0 20 1;
#X connect 13 0 11 0;
#X connect 14 0 15 1;
#X connect 15 0 20 0;
#X connect 15 0 20 1;
#X connect 16 0 14 0;
#X connect 17 0 18 1;
#X connect 18 0 20 1;
#X connect 18 0 20 0;
#X connect 19 0 17 0;
#X restore 97 945 pd exercice;
#X text 137 687 On mutlitplie ensuite le signal audio par un autre
signal audio valant soit 0 soit 1 \, ce qui a pour effet de garder
le signal intact (multiplication par 1) et donc de produire de l'audio
ou de couper le son (multiplication par 0);
#X text 141 597 ceci est un toggle on peut cliquer dessus pour changer
sa valeur 0 s'il n'est pas cliqué \, 1 si il l'est;
#X text 173 635 on transforme la valeur du toggle en signal pour pouvoir
activer ou désactiver le son.;
#X text 97 850 Un excellent exercice pourrait être de créer un son
par synthèse additive en ajoutant d'autres synthétiseurs (comme phasor~
réagissant aux même contrôles). Il est aussi possible de faire jouer
des synthétiseurs à d'autres fréquences qui seraient alors des multiples
(ou octaves) de notre fréquence créee par mtof.;
#X connect 0 0 1 0;
#X connect 0 0 13 0;
#X connect 1 0 2 0;
#X connect 1 0 17 0;
#X connect 2 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 7 0;
#X connect 4 0 7 1;
#X connect 5 0 3 0;