You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

320 lines
9.5 KiB

  1. #N canvas 0 61 1920 983 12;
  2. #X obj 40 277 bpmToMs;
  3. #X floatatom 40 359 5 0 0 0 - - -;
  4. #X obj 193 495 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  5. -1 -1;
  6. #X obj 193 450 sel 0 1 2 3, f 35;
  7. #X obj 161 277 myCounter;
  8. #N canvas 0 50 450 250 (subpatch) 0;
  9. #X array mySequence 8 float 3;
  10. #A 0 1442.85 2188.54 2644.3 3058.53 3514.23 4259.93 4674.21 5295.62
  11. ;
  12. #X coords 0 6000 8 200 200 140 1 0 0;
  13. #X restore 1325 339 graph;
  14. #X obj 1647 764 dac~;
  15. #X floatatom 1672 699 5 0 1 0 - - -;
  16. #X floatatom 1648 435 5 0 0 0 - - -;
  17. #X msg 1719 726 0;
  18. #X msg 1708 479 0;
  19. #N canvas 189 137 956 554 dephtFirst 0;
  20. #X obj 137 215 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  21. -1 -1;
  22. #X msg 58 283 23;
  23. #X msg 162 287 10;
  24. #X obj 162 311 + 2;
  25. #X obj 162 335 + 7;
  26. #X obj 162 359 * 10;
  27. #X floatatom 162 383 5 0 0 0 - - -;
  28. #X obj 58 307 + 1;
  29. #X floatatom 58 331 5 0 0 0 - - -;
  30. #X floatatom 245 288 5 0 0 0 - - -;
  31. #X floatatom 162 213 5 0 0 0 - - -;
  32. #X obj 162 413 print primo;
  33. #X obj 245 313 print secondo;
  34. #X obj 460 208 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  35. -1 -1;
  36. #X msg 485 285 23;
  37. #X msg 699 291 10;
  38. #X obj 699 315 + 2;
  39. #X obj 699 339 + 7;
  40. #X obj 699 363 * 10;
  41. #X floatatom 699 394 5 0 0 0 - - -;
  42. #X obj 485 309 + 1;
  43. #X floatatom 485 333 5 0 0 0 - - -;
  44. #X obj 485 238 trigger bang float bang, f 31;
  45. #X floatatom 592 283 5 0 0 0 - - -;
  46. #X floatatom 485 206 5 0 0 0 - - -;
  47. #X obj 699 427 print primo;
  48. #X obj 592 428 print secondo;
  49. #X obj 485 426 print terzo;
  50. #X obj 58 354 print terzo;
  51. #X text 73 47 quando un bang si dirama \, attraversa ogni percorso
  52. fino in fondo prima di eseguire il successivo \; l'ordine dipende dall'ordine
  53. di collegamento (indipendentemente dalla lunghezza del "percorso" \;
  54. \; la box trigger rende l'ordine esplicito e chiaro;
  55. #X connect 0 0 10 0;
  56. #X connect 1 0 7 0;
  57. #X connect 2 0 3 0;
  58. #X connect 3 0 4 0;
  59. #X connect 4 0 5 0;
  60. #X connect 5 0 6 0;
  61. #X connect 6 0 11 0;
  62. #X connect 7 0 8 0;
  63. #X connect 8 0 28 0;
  64. #X connect 9 0 12 0;
  65. #X connect 10 0 2 0;
  66. #X connect 10 0 9 0;
  67. #X connect 10 0 1 0;
  68. #X connect 13 0 24 0;
  69. #X connect 14 0 20 0;
  70. #X connect 15 0 16 0;
  71. #X connect 16 0 17 0;
  72. #X connect 17 0 18 0;
  73. #X connect 18 0 19 0;
  74. #X connect 19 0 25 0;
  75. #X connect 20 0 21 0;
  76. #X connect 21 0 27 0;
  77. #X connect 22 0 14 0;
  78. #X connect 22 1 23 0;
  79. #X connect 22 2 15 0;
  80. #X connect 23 0 26 0;
  81. #X connect 24 0 22 0;
  82. #X restore 81 77 pd dephtFirst;
  83. #N canvas 1023 273 733 497 sampler 0;
  84. #N canvas 0 50 450 250 (subpatch) 0;
  85. #X array kick 27367 float 2;
  86. #X coords 0 1 27367 -1 200 140 1;
  87. #X restore 34 274 graph;
  88. #N canvas 0 50 450 250 (subpatch) 0;
  89. #X array snare 9568 float 2;
  90. #X coords 0 1 9568 -1 200 140 1;
  91. #X restore 257 278 graph;
  92. #N canvas 0 50 450 250 (subpatch) 0;
  93. #X array hihat 5566 float 2;
  94. #X coords 0 1 5566 -1 200 140 1;
  95. #X restore 484 279 graph;
  96. #X obj 32 24 loadbang;
  97. #X obj 32 52 t b b b;
  98. #X msg 55 118 read -resize ../sources/samples/snare-1.wav snare;
  99. #X msg 32 146 read -resize ../sources/samples/hihat.wav hihat;
  100. #X obj 55 215 soundfiler;
  101. #X msg 78 90 read -resize ../sources/samples/kick.wav kick;
  102. #X connect 3 0 4 0;
  103. #X connect 4 0 6 0;
  104. #X connect 4 1 5 0;
  105. #X connect 4 2 8 0;
  106. #X connect 5 0 7 0;
  107. #X connect 6 0 7 0;
  108. #X connect 8 0 7 0;
  109. #X restore 240 735 pd sampler;
  110. #X obj 161 734 tabplay~;
  111. #X obj 160 850 *~ 0.2;
  112. #X obj 160 917 dac~;
  113. #X msg 193 586 set kick;
  114. #X msg 253 543 set hihat;
  115. #X msg 313 590 set snare;
  116. #X obj 253 497 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  117. -1 -1;
  118. #X obj 314 499 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  119. -1 -1;
  120. #X obj 374 500 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  121. -1 -1;
  122. #X obj 161 636 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  123. -1 -1;
  124. #X obj 161 418 t b f;
  125. #X msg 246 825 0.2;
  126. #X msg 246 853 0;
  127. #X text 284 837 volume;
  128. #X text 463 469 esempio esplicativo della "depth first" \; lo stesso
  129. float del counter viene separato in due eventi distinti attraverso
  130. la box "trigger" \; 1 prima seleziona lo strumento \; 2 poi esegue
  131. il campione \; \; (anche se sembra avvenire contemporaneamente);
  132. #N canvas 261 243 1175 689 gliArray 0;
  133. #N canvas 0 50 450 250 (subpatch) 0;
  134. #X array myFirstArray 10 float 3;
  135. #A 0 0.428566 0.685706 -0.0714289 -0.628566 0.0285701 0.228568 -0.0285722
  136. -0.557138 0.128569 0.457137;
  137. #X coords 0 1 10 -1 200 140 1;
  138. #X restore 40 200 graph;
  139. #X obj 794 27 table hiddenArray;
  140. #X text 789 54 la box table crea un array "nascosto" graficamente;
  141. #X obj 41 416 tabread myFirstArray;
  142. #X obj 207 416 tabread~ myFirstArray;
  143. #X obj 38 505 tabwrite myFirstArray;
  144. #X obj 208 505 tabwrite~ myFirstArray;
  145. #X text 298 198 il grafico rappresenta i valori contenuti \; \; le
  146. x sono gli indici (la loro posizione) \; le y sono i valori \; \; PS
  147. \; - il range si modifica dalle "Properties" \; - i valori possono
  148. essere modificati interattivamente con il mouse;
  149. #X text 402 411 per leggere i valori (con messaggi float o segnali)
  150. ;
  151. #X text 403 502 per scrivere i valori (con messaggi float o segnali)
  152. ;
  153. #X text 37 31 l'array è un contenitore di valori multipli indicizzati
  154. \; \; quando si crea (ctrl-shift-A) dobbiamo: \; 1 assegnare un nome
  155. univoco \; 2 settare una dimensione (quantità di valori) \;;
  156. #X restore 242 77 pd gliArray;
  157. #N canvas 946 325 759 534 rampe 0;
  158. #X obj 251 286 line;
  159. #X msg 40 133 0.2;
  160. #X msg 83 134 1;
  161. #X msg 123 135 0;
  162. #X msg 308 127 0 1000;
  163. #X msg 251 129 1 750;
  164. #X floatatom 251 311 10 0 0 0 - - -;
  165. #X text 37 75 messaggi singoli \; --> jump al valore;
  166. #X text 245 73 liste: \; valoreDiDestinazione Tempo;
  167. #X text 489 77 combo \; jump e rampe in sequenza;
  168. #X msg 495 135 1 \, 0 1000;
  169. #X msg 580 137 0.5 \, 0 1500;
  170. #X connect 0 0 6 0;
  171. #X connect 1 0 0 0;
  172. #X connect 2 0 0 0;
  173. #X connect 3 0 0 0;
  174. #X connect 4 0 0 0;
  175. #X connect 5 0 0 0;
  176. #X connect 10 0 0 0;
  177. #X connect 11 0 0 0;
  178. #X restore 517 79 pd rampe;
  179. #N canvas 637 158 849 479 liste 0;
  180. #X msg 54 90 25;
  181. #X msg 95 188 74 27 89;
  182. #X msg 100 286 74 27 \, 89;
  183. #X obj 54 398 print;
  184. #X text 180 179 più valori separati da uno spazio nei messaggi creano
  185. una lista (un messaggio :: più valori);
  186. #X text 193 293 la virgola spezza il messaggio in più messaggi;
  187. #X msg 102 315 74 \, 27 \, 89;
  188. #X connect 0 0 3 0;
  189. #X connect 1 0 3 0;
  190. #X connect 2 0 3 0;
  191. #X connect 6 0 3 0;
  192. #X restore 382 78 pd liste;
  193. #X obj 1647 727 *~ 0;
  194. #X obj 1646 653 osc~;
  195. #X obj 1077 693 *~;
  196. #X obj 1077 806 dac~;
  197. #X obj 1186 661 line;
  198. #X obj 1077 382 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
  199. 0 1;
  200. #X obj 1077 511 f;
  201. #X obj 1113 511 + 1;
  202. #X obj 1077 538 mod 8;
  203. #X obj 1077 444 t b b, f 16;
  204. #X floatatom 1115 724 5 0 1 0 - - -;
  205. #X msg 1162 751 0;
  206. #X obj 1077 647 osc~;
  207. #X obj 1077 576 tabread mySequence;
  208. #X obj 1647 590 tabread~ mySequence;
  209. #X obj 1648 541 *~ 8;
  210. #X text 1694 434 speed (Hz);
  211. #X text 1745 478 restart (phase);
  212. #X floatatom 1137 385 5 0 0 0 - - -;
  213. #X text 1183 384 speed (ms);
  214. #X text 1205 734 volume;
  215. #X text 1758 708 volume;
  216. #X text 1308 258 l'indice per la lettura dell'array \; può essere
  217. gestito da messaggi float \; o da segnali audio;
  218. #X text 1332 518 due tipi di sequencer \; <--messages vs signal-->
  219. ;
  220. #X text 44 218 Esempi:;
  221. #X text 82 35 Argomenti trattati:;
  222. #X text 952 226 \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \;
  223. \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \;
  224. \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \;
  225. \; \; \; \; \; \; \;;
  226. #X text 209 150 __________________________________________________________
  227. ;
  228. #X text 344 725 esempio di applicazione degli array: un campionatore
  229. \; (gli array possono salvare anche file audio);
  230. #X msg 922 65 \; pd dsp 1 \;;
  231. #X obj 922 27 loadbang;
  232. #X msg 1161 724 0.1;
  233. #X msg 1718 699 0.1;
  234. #X msg 1095 478 0;
  235. #X text 1132 478 restart (step);
  236. #X obj 1077 416 metro 125;
  237. #X msg 1186 628 1 \, 0 100;
  238. #X text 1265 628 <-- \; rampa sincronizzata con il bang \; per controllo
  239. dell'inviluppo;
  240. #X obj 1648 511 phasor~ 1;
  241. #X floatatom 199 822 5 0 1 0 - - -;
  242. #X obj 1075 751 *~ 0.1;
  243. #N canvas 687 316 897 601 dollarSigns 0;
  244. #X obj 35 377 addN 5;
  245. #X floatatom 35 342 5 0 0 0 - - -;
  246. #X floatatom 35 414 5 0 0 0 - - -;
  247. #X msg 42 47 \$1;
  248. #X text 90 47 nei messaggi raccolgono i valori ricevuti;
  249. #X floatatom 42 11 5 0 0 0 - - -;
  250. #X obj 42 200 print, f 6;
  251. #X msg 96 105 25 75 98;
  252. #X text 171 116 i.e. \; selezionano elementi di una lista ricevuta
  253. e ricompongono una nuova lista;
  254. #X text 117 369 le variabili nelle box oggetto si riferiscono agli
  255. argomenti con cui è creata l'abstraction (apri addN per vedere l'esempio)
  256. ;
  257. #X msg 96 130 \$3 \$1;
  258. #X connect 0 0 2 0;
  259. #X connect 1 0 0 0;
  260. #X connect 3 0 6 0;
  261. #X connect 5 0 3 0;
  262. #X connect 7 0 10 0;
  263. #X connect 10 0 6 0;
  264. #X restore 640 78 pd dollarSigns;
  265. #X connect 0 0 1 0;
  266. #X connect 2 0 16 0;
  267. #X connect 3 0 2 0;
  268. #X connect 3 1 19 0;
  269. #X connect 3 2 20 0;
  270. #X connect 3 3 21 0;
  271. #X connect 4 0 23 0;
  272. #X connect 7 0 31 1;
  273. #X connect 8 0 69 0;
  274. #X connect 9 0 31 1;
  275. #X connect 10 0 69 1;
  276. #X connect 13 0 14 0;
  277. #X connect 14 0 15 0;
  278. #X connect 14 0 15 1;
  279. #X connect 16 0 13 0;
  280. #X connect 17 0 13 0;
  281. #X connect 18 0 13 0;
  282. #X connect 19 0 17 0;
  283. #X connect 20 0 18 0;
  284. #X connect 21 0 17 0;
  285. #X connect 22 0 13 0;
  286. #X connect 23 0 22 0;
  287. #X connect 23 1 3 0;
  288. #X connect 24 0 14 1;
  289. #X connect 25 0 14 1;
  290. #X connect 31 0 6 0;
  291. #X connect 31 0 6 1;
  292. #X connect 32 0 31 0;
  293. #X connect 33 0 71 0;
  294. #X connect 35 0 33 1;
  295. #X connect 36 0 66 0;
  296. #X connect 37 0 38 0;
  297. #X connect 37 0 39 0;
  298. #X connect 38 0 37 1;
  299. #X connect 39 0 44 0;
  300. #X connect 40 0 37 0;
  301. #X connect 40 1 67 0;
  302. #X connect 41 0 71 1;
  303. #X connect 42 0 71 1;
  304. #X connect 43 0 33 0;
  305. #X connect 44 0 43 0;
  306. #X connect 45 0 32 0;
  307. #X connect 46 0 45 0;
  308. #X connect 49 0 66 1;
  309. #X connect 61 0 60 0;
  310. #X connect 62 0 71 1;
  311. #X connect 63 0 31 1;
  312. #X connect 64 0 37 1;
  313. #X connect 66 0 40 0;
  314. #X connect 67 0 35 0;
  315. #X connect 69 0 46 0;
  316. #X connect 70 0 14 1;
  317. #X connect 71 0 34 0;
  318. #X connect 71 0 34 1;
  319. #X coords 0 983 1 982 500 60 0;