#N canvas 290 22 925 772 12;
#X obj 30 17 cnv 15 200 40 empty empty Objetos: 20 12 0 24 -262144
-66577 0;
#X text 34 72 Vimos os seguintes objetos neste tutorial:;
#N canvas 109 30 531 444 condicionais 0;
#X obj 31 53 ==;
#X obj 63 53 !=;
#X obj 95 53 >;
#X obj 127 53 <;
#X obj 158 53 >=;
#X obj 189 53 <=;
#X text 222 52 Testes relacionais;
#X obj 76 101 select;
#X obj 134 101 sel;
#X obj 92 145 change;
#X obj 95 188 moses;
#X obj 95 222 spigot;
#X text 172 100 Seletor de átomos;
#X text 147 144 Elimina redundância de números;
#X text 148 184 Divide um fluxo de números em duas saídas distintas
;
#X text 152 222 Abre e fecha fluxo de dados;
#X obj 137 20 &&;
#X obj 165 20 ||;
#X text 63 20 E / Ou ->;
#X obj 59 290 max;
#X obj 91 289 min;
#X obj 84 257 clip;
#X text 207 289 função máxima e mínima;
#X text 173 257 força um número em um registro;
#X text 201 376 if(condição \, then \, else);
#X text 136 350 Condicionais no [expr] / [expr~]:;
#X text 230 400 max \, min \, && \, ||;
#X obj 128 257 clip~;
#X obj 128 290 max~;
#X obj 165 289 min~;
#X restore 149 499 pd condicionais;
#N canvas 47 158 696 597 matemática 0;
#X obj 97 -109 -;
#X obj 130 -109 *;
#X obj 162 -109 /;
#X obj 63 -37 pow;
#X obj 65 -109 +;
#X obj 94 -7 mod;
#X obj 125 -7 div;
#X obj 96 -37 sqrt;
#X obj 137 -38 log;
#X obj 168 -38 exp;
#X obj 160 -8 abs;
#X obj 288 68 +~;
#X obj 320 68 -~;
#X obj 353 68 *~;
#X obj 385 69 /~;
#X obj 48 58 sin;
#X obj 78 58 cos;
#X obj 105 58 tan;
#X obj 133 58 atan;
#X obj 168 58 atan2;
#X obj 37 85 acos;
#X obj 111 85 asin;
#X obj 183 85 tanh;
#X obj 147 85 sinh;
#X obj 75 85 cosh;
#X text 75 30 Trigonometria:;
#X obj 113 177 &;
#X obj 142 177 |;
#X obj 174 177 <<;
#X obj 204 177 >>;
#X obj 64 -7 %;
#X text 82 -141 Básica:;
#X obj 333 136 cos~;
#X obj 318 167 atan2~;
#X obj 333 199 sin~;
#X text 74 -68 Não tão Básica:;
#X text 274 -29 ÁUDIO:;
#X text 300 44 Aritmética:;
#X text 292 108 Trigonometria:;
#X obj 314 6 log~;
#X text 172 258 Matemática em Listas:;
#X obj 101 293 list-math;
#X obj 301 293 list-accum;
#X text 36 150 Operadores lógicos:;
#X text 33 177 Bitwise ->;
#X text 176 323 (biblioteca list-abs);
#X text 372 168 (biblioteca ggee);
#X text 374 200 (biblioteca creb);
#X text 350 8 (biblioteca cyclone);
#X obj 179 293 list-map;
#X obj 253 293 expr;
#X obj 81 378 random;
#X text 134 378 gera números aleatórios quando recebe um bang;
#X obj 323 -86 expr;
#X obj 382 -85 expr~;
#X text 237 -118 Expressões Matemáticas (aceita quase todos os outros
objetos):;
#X obj 454 -85 fexpr~;
#X obj 509 289 minmax;
#X text 469 319 (biblioteca zexy);
#X text 438 260 maior e menor valor de uma lista;
#X connect 49 1 50 0;
#X connect 50 0 49 1;
#X restore 155 479 pd matemática;
#N canvas 111 173 466 412 GEM 0;
#X obj 67 56 gemwin;
#X obj 70 94 gemhead;
#X obj 78 138 pix_film;
#X obj 72 282 pix_texture;
#X obj 68 183 pix_image;
#X text 124 54 Cria Janela GEM liga o renderizador;
#X text 131 95 Envia comando de renderização;
#X obj 96 247 color;
#X text 163 248 Manipula cor;
#X text 167 282 Aplica mapeamento de textura;
#X obj 52 216 pix_motionblur;
#X text 166 217 Efeito "borrador" de vídeo;
#X text 100 18 (biblioteca GEM \, claro);
#X text 148 138 renderiza vídeo na janela GEM;
#X text 144 181 renderiza imagem na janela GEM;
#X obj 79 318 pix_video;
#X obj 76 352 pix_record;
#X text 167 319 Pega vídeo de uma camera;
#X text 169 352 Grava vídeo;
#X restore 176 448 pd GEM;
#N canvas 132 92 595 313 midi-interação 0;
#X obj -267 207 key;
#X obj -318 89 ctlin;
#X obj -265 89 bendin;
#X obj -374 121 noteout;
#X obj -318 121 ctlout;
#X obj -374 89 notein;
#X obj -265 121 bendout;
#X obj -290 171 MouseState;
#X obj -307 47 mtof;
#X obj -255 48 ftom;
#X obj -209 89 pgmin;
#X obj -209 121 pgmout;
#X obj -159 89 midiin;
#X obj -159 121 midiout;
#X obj -39 89 polytouchin;
#X obj -39 121 polytouchout;
#X obj -102 89 touchin;
#X obj -102 121 touchout;
#X text 67 87 Entrada de dados MIDI;
#X text 69 119 Saída de dados MIDI;
#X text -208 206 teclas do teclado;
#X text -270 49 /;
#X text -214 47 converte MIDI em Hertz / Vice-Versa;
#X text -204 170 informação do mouse ou touchpad (biblioteca cyclone)
;
#X obj -296 266 date;
#X obj -252 266 time;
#X text -201 266 data e hora do sistema operacional (biblioteca zexy)
;
#X restore 140 421 pd midi-interação;
#N canvas 117 43 482 243 (subpatch) 0;
#X obj 69 75 inlet;
#X obj 113 75 inlet~;
#X obj 61 156 outlet;
#X obj 112 156 outlet~;
#X text 173 73 entradas de subpatches e abstrações;
#X text 175 157 saídas de subpatches e abstrações;
#X restore 125 149 pd;
#N canvas 19 75 666 529 tabelas 0;
#X obj 39 199 tabread;
#X obj 107 199 tabread~;
#X obj 39 225 tabread4;
#X obj 38 267 tabwrite;
#X obj 107 266 tabwrite~;
#X obj 74 325 tabsend~;
#X obj 64 352 tabreceive~;
#X obj 76 396 tabplay~;
#X obj 80 37 table;
#X obj 107 225 tabread4~;
#X obj 71 115 arraysize;
#X obj 79 149 tabdump;
#X obj 64 75 soundfiler;
#X text 181 266 Escreve em uma tabela dados ou sinal de áudio (objeto
"~");
#X text 160 322 [tabsend~] escreve em tabelas enquanto [tabreceive~]
lê. Entretanto \, diferentemente dos objetos anteriores \, o sinal
é enviado e recebido em blocos (padrão de 64 amostras).;
#X text 149 397 Lê uma tabela como se fosse um arquivo de som.;
#X obj 75 449 tabosc4~;
#X text 146 35 Cria um array.;
#X text 146 68 Joga um arquivo de áudio em um array e dá o número de
amostras do arquivo (que é o tamanho da tabela).;
#X text 148 148 Dá os valores de um array como uma lista (biblioteca
zexy).;
#X text 148 112 Dá o tamanho da tabela (biblioteca flatspace).;
#X text 180 195 Lê tabelas sem ou com interpolação de 4 pontos (no
caso de objetos que terminam com "4") e como dados ou sinal de áudio
(no caso de objetos que terminam com "~").;
#X text 149 438 Um oscilador que lê valores de uma tabela com interpolação
de 4 pontos e interpreta os dados do array como uma forma de onda.
;
#X restore 161 364 pd tabelas;
#N canvas 112 75 512 232 rede-OSC 0;
#X obj 51 41 netsend;
#X obj 130 42 netreceive;
#X obj 46 136 sendOSC;
#X obj 80 169 OSCroute;
#X obj 125 136 dumpOSC 9000;
#X text 112 42 /;
#X text 106 137 /;
#X text 224 137 Envia / Recebe dados OSC pela rede;
#X text 152 169 roteador de mensagens OSC;
#X text 58 102 (Objetos OSC da biblioteca oscx);
#X text 226 41 Envia / Recebe dados pela rede;
#X restore 159 396 pd rede-OSC;
#N canvas 463 22 589 727 Miscelânia 0;
#X obj 52 16 metro;
#X obj 35 42 bang;
#X obj 48 67 bang~;
#X obj 34 106 delay;
#X obj 54 164 sig~;
#X obj 36 190 snapshot~;
#X obj 51 218 print;
#X obj 45 242 print~;
#X obj 63 303 swap;
#X text 111 43 envia bang quando recebe uma mensagem qualquer;
#X obj 76 42 b;
#X text 103 66 envia um bang a cada ciclo de um bloco de processamento
de áudio;
#X obj 79 105 del;
#X text 96 218 imprime mensagens no terminal;
#X text 99 244 imprime um bloco de áudio quando recebe um bang;
#X text 91 164 converte dados em um fluxo de áudio;
#X obj 26 274 trigger;
#X obj 86 274 t;
#X obj 60 332 route;
#X obj 46 464 line;
#X obj 90 464 line~;
#X obj 29 552 cputime;
#X obj 33 363 openpanel;
#X obj 129 363 savepanel;
#X obj 39 424 makefilename;
#X obj 56 394 getdir;
#X text 107 331 roteador;
#X text 100 303 cruza os dados dos inlets;
#X text 138 461 geradores de rampas;
#X obj 47 494 textfile;
#X text 137 423 gerador de símbolos;
#X text 109 362 /;
#X text 209 364 Menus: Abre / Salva Arquivos;
#X obj 88 552 timer;
#X obj 134 552 realtime;
#X obj 45 583 repeat;
#X obj 210 584 Uzi;
#X obj 316 583 until;
#X obj 58 135 pipe;
#X obj 50 520 msgfile;
#X text 112 520 parecido com [textfile] (biblioteca zexy);
#X text 14 609 (biblioteca zexy);
#X text 154 609 (biblioteca cyclone);
#X text 99 16 envia bangs como um metrônomo a cada X milissegundos
;
#X text 118 104 atrasa bangs em X milissegundos;
#X text 101 135 atrasa dados em X milissegundos;
#X text 106 188 com bang \, converte um momento do fluxo de áudio para
dado;
#X text 110 393 dá o diretório do patch (biblioteca ggee);
#X text 115 494 lê arquivo de texto e envia como mensagem;
#X text 122 272 controlador de ordem de mensagens;
#X text 201 552 medidores de tempo computacional;
#X text 364 583 rotinas de loop/repetição;
#X obj 59 660 namecanvas;
#X text 144 651 dá nome a um canvas de um patch \, subpatch ou graph
para que seja possível lhe enviar mensagens.;
#X restore 150 225 pd Miscelânia;
#X text 48 114 objeto [pd] para janelas de subpatch:;
#X text 367 131 No Pd-Extended há exemplos e tutoriais diversos \,
e muitos dos objetos externals podem ser estudados por ali. Veja por
exemplo o tutorial de GEM para maiores informações dessa importante
biblioteca externa.;
#X text 366 217 Vimos poucos objetos de áudio porque este tutorial
é focado em sintaxe e manipulação de dados de controle. Com essa base
\, você pode se aventurar também nos tutoriais de áudio do Puredata.
Você pode chegar à conclusão que o difícil daqui pra frente não é saber
a sintaxe e controle de dados no Pd (que estão cobertos neste tutorial)
\, mas sim dominar conhecimento e técnica de Computação Musical para
criar e implementar patches de manipulação de áudio. Em todo o caso
\, a partir do momento em que se possui o conhecimento pré-requisitado
\, a manipulação e criação deve fluir bem com o conteúdo apresentado
aqui.;
#X text 159 148 <-- clique e abra;
#X text 365 41 É bom lembrar que uma lista completa de objetos nativos
do Pd pode ser obtida ao clicar em qualquer ponto em branco do patch
com o botão direito e ir no "help". Foi coberta aqui uma grande parte
dessa lista \, que são os objetos mais importantes \, e já só com isso
é possível fazer muita coisa.;
#X obj 422 475 pddplink http://en.flossmanuals.net/PureData/ListofObjects
;
#X text 368 406 Na internet \, há uma boa lista de objetos de Pd no
site do "FLOSS Manuals". É um bom documento de referência de objetos
internos e externos:;
#X text 44 192 Agora vejamos os outros:;
#X text 34 535 (bibliotecas de objetos externos em parênteses);
#X text 207 677 IMPORTANTE:;
#X text 304 678 O grande e verdadeiro manual/tutorial de Pd está no
help de cada objeto. Entenda que é uma rotina e hábito olhar sempre
o help dos objetos na hora de programar \, acostume-se sem grilos.
;
#N canvas 44 82 674 640 Listas-Pilhas 0;
#X obj 24 31 pack;
#X obj 77 31 unpack;
#X obj 45 84 list;
#X text 130 31 empacota / desempacota listas;
#X text 59 30 /;
#X obj 40 496 list-drip;
#X text 115 494 pinga elementos de uma lista (biblioteca list-abs)
;
#X obj 67 535 fifop;
#X obj 67 561 lifop;
#X text 125 541 empilhadores: [fifop] - "first-in-first-out" / [lifop]
- "last in first out" (biblioteca zexy);
#X obj 113 135 list append;
#X obj 107 184 list prepend;
#X obj 108 248 list split;
#X obj 108 219 list trim;
#X obj 108 278 list length;
#X obj 195 363 length;
#X text 248 363 Exatamente igual a [list length] (biblioteca zexy)
;
#X obj 185 325 prepend;
#X text 203 176 insere lista depois de outra (gera seletor list quando
preciso);
#X text 207 125 insere lista antes de outra (gera seletor list quando
preciso);
#X text 202 218 corta fora o seletor "list";
#X text 201 244 divide listas;
#X text 202 278 dá o tamanho de listas;
#X text 249 318 insere mensagem/lista depois de outra (não gera seletor
list);
#X text 103 361 Similares:;
#X obj 163 403 lister;
#X obj 217 403 l;
#X text 88 69 gerador e gerenciador de listas (sem argumentos ele é
\, por default \, [list append] - que pode ser usado como armazenador
de listas).;
#X text 258 403 Armazenador de listas;
#X obj 59 449 minmax;
#X text 354 450 (biblioteca zexy);
#X text 113 449 maior e menor valor de uma lista;
#X restore 140 280 pd Listas-Pilhas;
#N canvas 108 22 633 327 Armazenamento 0;
#X obj 70 73 float;
#X obj 81 107 symbol;
#X obj 64 177 lister;
#X obj 161 256 any;
#X text 182 72 armazena floats;
#X text 140 106 armazena símbolos;
#X text 192 257 armazena qualquer dado (mesmo sem um seletor definido)
;
#X obj 118 73 f;
#X obj 119 176 l;
#X obj 150 73 0;
#X obj 85 38 int;
#X obj 64 255 iem_anything;
#X text 393 277 (biblioteca iemlib);
#X text 151 37 armazena inteiros;
#X text 156 176 armazena listas (biblioteca zexy);
#X text 152 140 armazena uma vaqriável global numérica;
#X obj 72 142 value;
#X obj 119 142 v;
#X obj 119 38 i;
#X obj 98 214 list;
#X text 150 207 abreviação de [list append] que pode funcionar como
um armazenador de listas;
#X restore 139 252 pd Armazenamento;
#N canvas 115 79 531 215 Áudio-essencial 0;
#X obj 95 91 osc~;
#X obj 95 66 dac~;
#X text 138 65 Saída de áudio (Digital to Analog converter);
#X text 136 38 Entrada de áudio (Analog to Digital converter);
#X obj 93 38 adc~;
#X obj 54 131 readsf~;
#X obj 134 131 writesf~;
#X text 115 132 /;
#X text 208 131 Lê / escreve arquivos de sons;
#X text 140 91 Oscilador de função Co-seno;
#X restore 133 307 pd Áudio-essencial;
#N canvas 27 67 722 367 Send-Receive 0;
#X obj 66 49 send;
#X obj 101 49 s;
#X obj 136 47 receive;
#X obj 194 47 r;
#X obj 81 162 throw~;
#X obj 137 162 catch~;
#X obj 59 105 send~;
#X obj 101 105 s~;
#X obj 136 104 receive;
#X obj 194 103 r~;
#X text 231 46 Enviam e Recebem dados sem fio;
#X text 231 95 Enviam e Recebem áudio sem fio (um [send~] pode enviar
para vários [receive~] \, mas não o contrário.;
#X text 203 152 Enviam e Recebem áudio sem fio (vários [throw~] podem
enviar para apenas um [catch~] e não o contrário.;
#X obj 113 222 value;
#X obj 159 222 v;
#X text 203 223 variável numérica;
#X obj 101 281 namecanvas;
#X text 186 272 dá nome a um canvas de um patch \, subpatch ou graph
para que seja possível lhe enviar mensagens.;
#X restore 113 334 pd Send-Receive (Sem Fio);
#X text 241 571 Não vimos muitas coisas de bibliotecas externas. As
bibliotecas externas mais importantes que vimos foram: zexy \, list-abs
\, GEM e oscx. Fora isso \, vimos apenas um ou outro objeto de bibliotecas
cyclone \, ggee \, iemlib \, flatspace e creb.;
