#N canvas 0 0 1013 677 16; #N canvas 0 0 1013 677 aditiva 0; #X obj 47 459 catch~ sum; #X obj 359 284 s frequency; #X obj 473 284 s duration; #X floatatom 473 234 0 0 0 0 - - -; #X obj 473 259 * 100; #X obj 359 259 mtof; #X floatatom 359 234 0 0 0 0 - - -; #X text 92 17 ADDITIVE SYNTHESIS; #X text 511 224 duration in tenths; #X text 513 240 of a second; #X text 397 233 pitch; #X text 443 528 updated for Pd version 0.37; #X text 36 93 Partial takes as arguments an amplitude \, a relative frequency \, a detuning frequency \, and a relative duration. You set absolute duration and pitch using the controls below. Hit the trigger to make sound.; #X obj 46 174 partial 1 1 0.56 0; #X text 37 41 This patch demonstrates using an abstraction \, "partial" \, to make a simple additive synthesis instrument originally from Jean-Claude Risset.; #X obj 359 179 loadbang; #X msg 359 202 72; #X msg 473 204 40; #X obj 362 332 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 395 334 <-- click to play a note; #X obj 362 368 s trigger; #X obj 47 498 dac~; #X obj 46 199 partial 0.67 0.9 0.56 1; #X obj 46 224 partial 1 0.65 0.92 0; #X obj 46 249 partial 1.8 0.55 0.92 1.7; #X obj 46 274 partial 2.67 0.325 1.19 0; #X obj 46 299 partial 1.67 0.35 1.7 0; #X obj 46 324 partial 1.46 0.25 2 0; #X obj 46 349 partial 1.33 0.2 2.74 0; #X obj 46 374 partial 1.33 0.15 3 0; #X obj 46 399 partial 1 0.1 3.76 0; #X obj 46 424 partial 1.33 0.075 4.07 0; #X connect 0 0 21 0; #X connect 0 0 21 1; #X connect 3 0 4 0; #X connect 4 0 2 0; #X connect 5 0 1 0; #X connect 6 0 5 0; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 16 0 6 0; #X connect 17 0 3 0; #X connect 18 0 20 0; #X restore 25 186 pd aditiva; #N canvas 0 0 1013 677 anillo 1; #N canvas 0 0 1013 677 bajaPitch 0; #X obj 155 160 osc~; #X obj 115 160 *~; #X obj 155 100 mtof; #X obj 120 195 *~ 2; #X obj 155 70 r altura; #X obj 88 27 inlet~; #X obj 76 293 outlet~; #X obj 75 253 +~; #X text 219 134 modulo la señal con un oscilador 1 octava más abajo de f0 \;; #X text 119 256 agrego armónicos que faltan de señal original; #X floatatom 248 223 5 0 0 0 - - -; #X obj 153 129 * 0.5; #X connect 0 0 1 1; #X connect 1 0 3 0; #X connect 2 0 11 0; #X connect 3 0 7 1; #X connect 4 0 2 0; #X connect 5 0 1 0; #X connect 5 0 7 0; #X connect 7 0 6 0; #X connect 11 0 0 0; #X connect 11 0 10 0; #X restore 125 159 pd bajaPitch; #N canvas 0 0 450 300 (subpatch) 0; #X obj 15 22 inlet~; #X obj 15 85 *~; #X obj 15 142 outlet~; #X obj 132 103 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X obj 133 56 r alto; #X obj 144 172 line~; #X msg 142 140 \$1 300; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 6 0; #X connect 4 0 3 0; #X connect 5 0 1 1; #X connect 6 0 5 0; #X coords 0 -1 1 1 50 20 1 100 100; #X restore 125 202 pd; #N canvas 0 0 450 300 (subpatch) 0; #X obj 15 22 inlet~; #X obj 15 85 *~; #X obj 15 142 outlet~; #X obj 132 103 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X obj 130 63 r medio; #X obj 144 172 line~; #X msg 142 140 \$1 300; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 6 0; #X connect 4 0 3 0; #X connect 5 0 1 1; #X connect 6 0 5 0; #X coords 0 -1 1 1 50 20 1 100 100; #X restore 251 243 pd; #N canvas 0 1 1013 677 cargar_wav_tabla 0; #X obj 7 136 soundfiler; #X obj 7 62 openpanel; #X msg 7 25 bang; #X floatatom 7 198 5 0 0 0 - - -; #X msg 7 100 read -resize \$1 flauta_Re3; #X obj 59 167 s tamaño; #X text 66 194 tamaño de .wav en muestras \;; #X text 109 59 lee archivo.wav y loguarda en tabla flaura_Re3 \;; #X msg 588 283 \; tabla const 0; #N canvas 0 0 450 300 (subpatch) 0; #X array tabla 1027 float 3; #A 0 -0.0227002 0 0.0227002 0.045384 0.068035 0.0906371 0.113174 0.135629 0.157987 0.180231 0.202346 0.224317 0.246126 0.267761 0.289205 0.310443 0.331462 0.352246 0.372782 0.393057 0.413057 0.432769 0.45218 0.471279 0.490053 0.508491 0.526582 0.544315 0.561681 0.578669 0.595271 0.611478 0.627281 0.642672 0.657645 0.672193 0.686309 0.699988 0.713224 0.726013 0.738351 0.750234 0.761659 0.772623 0.783124 0.793162 0.802734 0.811842 0.820484 0.828661 0.836374 0.843626 0.850418 0.856753 0.862635 0.868066 0.873051 0.877594 0.881701 0.885377 0.888628 0.891461 0.893881 0.895896 0.897514 0.898743 0.89959 0.900065 0.900176 0.899932 0.899343 0.898419 0.897169 0.895605 0.893736 0.891573 0.889127 0.886409 0.88343 0.880201 0.876735 0.873042 0.869134 0.865022 0.86072 0.856237 0.851586 0.846779 0.841827 0.836742 0.831535 0.826219 0.820804 0.815302 0.809724 0.80408 0.798383 0.792642 0.786868 0.781071 0.775262 0.769449 0.763644 0.757855 0.752091 0.746361 0.740674 0.735037 0.72946 0.723948 0.718511 0.713154 0.707884 0.702708 0.697632 0.692661 0.6878 0.683054 0.678429 0.673927 0.669553 0.665311 0.661203 0.657232 0.653401 0.649712 0.646165 0.642763 0.639507 0.636396 0.633433 0.630615 0.627943 0.625417 0.623035 0.620796 0.618698 0.61674 0.614919 0.613232 0.611678 0.610253 0.608954 0.607778 0.60672 0.605777 0.604946 0.604221 0.603599 0.603075 0.602644 0.602301 0.602042 0.601861 0.601754 0.601714 0.601738 0.601819 0.601952 0.602132 0.602354 0.602612 0.6029 0.603214 0.603547 0.603895 0.604253 0.604615 0.604977 0.605333 0.605678 0.606008 0.606319 0.606605 0.606862 0.607087 0.607275 0.607422 0.607525 0.60758 0.607584 0.607535 0.607428 0.607261 0.607032 0.606739 0.60638 0.605952 0.605454 0.604886 0.604245 0.603531 0.602743 0.601882 0.600946 0.599935 0.598851 0.597693 0.596462 0.595159 0.593786 0.592343 0.590833 0.589257 0.587617 0.585914 0.584153 0.582335 0.580462 0.578538 0.576566 0.574549 0.572491 0.570393 0.568262 0.566099 0.563909 0.561696 0.559464 0.557216 0.554957 0.552692 0.550424 0.548157 0.545896 0.543646 0.54141 0.539193 0.536999 0.534833 0.532698 0.530599 0.528541 0.526526 0.524559 0.522645 0.520786 0.518987 0.51725 0.515581 0.513981 0.512455 0.511005 0.509634 0.508346 0.507142 0.506025 0.504997 0.504061 0.503218 0.50247 0.501819 0.501265 0.500811 0.500457 0.500203 0.500051 0.5 0.500051 0.500203 0.500457 0.500811 0.501265 0.501818 0.50247 0.503217 0.50406 0.504996 0.506024 0.507141 0.508345 0.509634 0.511005 0.512455 0.513981 0.51558 0.51725 0.518986 0.520785 0.522644 0.524558 0.526525 0.52854 0.530598 0.532697 0.534832 0.536998 0.539192 0.541409 0.543645 0.545895 0.548156 0.550422 0.552691 0.554956 0.557215 0.559463 0.561695 0.563908 0.566098 0.568261 0.570393 0.57249 0.574548 0.576566 0.578538 0.580461 0.582334 0.584152 0.585914 0.587616 0.589256 0.590832 0.592343 0.593785 0.595159 0.596461 0.597692 0.59885 0.599935 0.600945 0.601881 0.602743 0.603531 0.604245 0.604886 0.605454 0.605952 0.606379 0.606739 0.607032 0.607261 0.607428 0.607535 0.607584 0.60758 0.607525 0.607422 0.607275 0.607087 0.606862 0.606605 0.606319 0.606009 0.605678 0.605333 0.604977 0.604616 0.604253 0.603896 0.603547 0.603214 0.6029 0.602612 0.602354 0.602133 0.601952 0.601819 0.601738 0.601714 0.601753 0.601861 0.602042 0.602301 0.602643 0.603074 0.603599 0.604221 0.604946 0.605777 0.606719 0.607777 0.608953 0.610252 0.611677 0.613232 0.614918 0.616739 0.618697 0.620795 0.623034 0.625416 0.627942 0.630614 0.633431 0.636395 0.639505 0.642762 0.646164 0.64971 0.6534 0.657231 0.661201 0.665309 0.669552 0.673925 0.678427 0.683052 0.687798 0.692658 0.69763 0.702706 0.707882 0.713152 0.718508 0.723946 0.729457 0.735035 0.740671 0.746358 0.752088 0.757852 0.763642 0.769447 0.775259 0.781069 0.786865 0.792639 0.79838 0.804078 0.809721 0.8153 0.820802 0.826217 0.831533 0.83674 0.841825 0.846777 0.851584 0.856235 0.860718 0.865021 0.869132 0.87304 0.876733 0.8802 0.883428 0.886407 0.889126 0.891572 0.893735 0.895604 0.897169 0.898418 0.899343 0.899932 0.900176 0.900065 0.89959 0.898743 0.897515 0.895897 0.893882 0.891462 0.88863 0.885379 0.881703 0.877596 0.873053 0.868068 0.862637 0.856756 0.850421 0.843629 0.836378 0.828664 0.820487 0.811845 0.802739 0.793166 0.783129 0.772627 0.761663 0.750239 0.738356 0.726019 0.71323 0.699994 0.686315 0.672199 0.657652 0.642679 0.627288 0.611485 0.595278 0.578677 0.561688 0.544323 0.52659 0.508499 0.490061 0.471287 0.452188 0.432777 0.413065 0.393066 0.372791 0.352255 0.331471 0.310452 0.289214 0.26777 0.246136 0.224326 0.202356 0.180241 0.157997 0.135639 0.113184 0.0906468 0.0680448 0.0453938 0.02271 9.81828e-06 -0.0226904 -0.0453742 -0.0680252 -0.0906273 -0.113164 -0.135619 -0.157977 -0.180222 -0.202337 -0.224307 -0.246117 -0.267751 -0.289195 -0.310434 -0.331452 -0.352237 -0.372774 -0.393048 -0.413048 -0.43276 -0.452172 -0.47127 -0.490045 -0.508483 -0.526574 -0.544308 -0.561674 -0.578662 -0.595264 -0.611471 -0.627274 -0.642666 -0.657639 -0.672187 -0.686303 -0.699982 -0.713219 -0.726008 -0.738346 -0.750229 -0.761654 -0.772618 -0.78312 -0.793158 -0.80273 -0.811838 -0.82048 -0.828657 -0.836371 -0.843623 -0.850415 -0.856751 -0.862632 -0.868064 -0.873049 -0.877592 -0.8817 -0.885376 -0.888627 -0.891459 -0.89388 -0.895895 -0.897514 -0.898742 -0.89959 -0.900065 -0.900176 -0.899932 -0.899343 -0.898419 -0.89717 -0.895606 -0.893737 -0.891574 -0.889128 -0.88641 -0.883431 -0.880203 -0.876736 -0.873043 -0.869135 -0.865024 -0.860721 -0.856239 -0.851588 -0.846781 -0.841829 -0.836744 -0.831538 -0.826221 -0.820807 -0.815304 -0.809726 -0.804083 -0.798385 -0.792644 -0.78687 -0.781074 -0.775264 -0.769452 -0.763647 -0.757857 -0.752093 -0.746363 -0.740676 -0.73504 -0.729462 -0.723951 -0.718513 -0.713156 -0.707886 -0.70271 -0.697634 -0.692663 -0.687802 -0.683056 -0.678431 -0.673929 -0.669555 -0.665313 -0.661205 -0.657234 -0.653403 -0.649713 -0.646167 -0.642765 -0.639508 -0.636398 -0.633434 -0.630616 -0.627944 -0.625418 -0.623036 -0.620797 -0.618699 -0.61674 -0.614919 -0.613233 -0.611679 -0.610254 -0.608955 -0.607778 -0.60672 -0.605778 -0.604946 -0.604222 -0.603599 -0.603075 -0.602644 -0.602301 -0.602042 -0.601861 -0.601754 -0.601714 -0.601738 -0.601819 -0.601952 -0.602132 -0.602354 -0.602612 -0.6029 -0.603213 -0.603547 -0.603895 -0.604253 -0.604615 -0.604977 -0.605333 -0.605678 -0.606008 -0.606319 -0.606605 -0.606862 -0.607087 -0.607275 -0.607422 -0.607525 -0.60758 -0.607584 -0.607535 -0.607428 -0.607261 -0.607032 -0.606739 -0.60638 -0.605952 -0.605455 -0.604886 -0.604245 -0.603531 -0.602744 -0.601882 -0.600946 -0.599936 -0.598851 -0.597693 -0.596462 -0.59516 -0.593787 -0.592344 -0.590834 -0.589257 -0.587617 -0.585915 -0.584154 -0.582335 -0.580463 -0.578539 -0.576567 -0.57455 -0.572491 -0.570394 -0.568263 -0.5661 -0.56391 -0.561697 -0.559465 -0.557217 -0.554958 -0.552693 -0.550424 -0.548158 -0.545897 -0.543647 -0.541411 -0.539194 -0.537 -0.534834 -0.532699 -0.5306 -0.528541 -0.526527 -0.52456 -0.522645 -0.520787 -0.518987 -0.517251 -0.515582 -0.513982 -0.512456 -0.511006 -0.509635 -0.508346 -0.507142 -0.506025 -0.504997 -0.504061 -0.503218 -0.50247 -0.501819 -0.501266 -0.500811 -0.500457 -0.500203 -0.500051 -0.5 -0.500051 -0.500203 -0.500457 -0.500811 -0.501265 -0.501818 -0.502469 -0.503217 -0.50406 -0.504996 -0.506024 -0.507141 -0.508345 -0.509633 -0.511004 -0.512454 -0.51398 -0.51558 -0.517249 -0.518985 -0.520784 -0.522643 -0.524558 -0.526524 -0.528539 -0.530598 -0.532696 -0.534831 -0.536997 -0.539191 -0.541408 -0.543644 -0.545894 -0.548155 -0.550422 -0.55269 -0.554955 -0.557214 -0.559462 -0.561694 -0.563907 -0.566097 -0.56826 -0.570392 -0.572489 -0.574548 -0.576565 -0.578537 -0.580461 -0.582333 -0.584152 -0.585913 -0.587615 -0.589255 -0.590832 -0.592342 -0.593785 -0.595158 -0.596461 -0.597692 -0.59885 -0.599934 -0.600945 -0.601881 -0.602743 -0.60353 -0.604244 -0.604885 -0.605454 -0.605951 -0.606379 -0.606739 -0.607032 -0.607261 -0.607427 -0.607534 -0.607584 -0.60758 -0.607525 -0.607422 -0.607275 -0.607087 -0.606862 -0.606605 -0.606319 -0.606009 -0.605678 -0.605333 -0.604977 -0.604616 -0.604254 -0.603896 -0.603548 -0.603214 -0.6029 -0.602612 -0.602354 -0.602133 -0.601952 -0.601819 -0.601738 -0.601714 -0.601753 -0.601861 -0.602041 -0.602301 -0.602643 -0.603074 -0.603598 -0.604221 -0.604945 -0.605777 -0.606719 -0.607777 -0.608953 -0.610252 -0.611677 -0.613231 -0.614917 -0.616738 -0.618696 -0.620794 -0.623033 -0.625415 -0.627941 -0.630613 -0.63343 -0.636394 -0.639504 -0.64276 -0.646162 -0.649708 -0.653398 -0.657229 -0.6612 -0.665308 -0.66955 -0.673923 -0.678425 -0.68305 -0.687796 -0.692656 -0.697627 -0.702704 -0.70788 -0.713149 -0.718506 -0.723944 -0.729455 -0.735032 -0.740669 -0.746356 -0.752086 -0.75785 -0.763639 -0.769444 -0.775257 -0.781066 -0.786863 -0.792637 -0.798378 -0.804076 -0.809719 -0.815297 -0.820799 -0.826214 -0.831531 -0.836737 -0.841823 -0.846775 -0.851582 -0.856233 -0.860716 -0.865019 -0.86913 -0.873038 -0.876732 -0.880198 -0.883427 -0.886406 -0.889125 -0.891571 -0.893734 -0.895603 -0.897168 -0.898418 -0.899342 -0.899932 -0.900176 -0.900065 -0.899591 -0.898744 -0.897515 -0.895898 -0.893883 -0.891463 -0.888631 -0.88538 -0.881705 -0.877598 -0.873055 -0.86807 -0.86264 -0.856759 -0.850424 -0.843632 -0.836381 -0.828668 -0.820491 -0.811849 -0.802743 -0.79317 -0.783133 -0.772632 -0.761668 -0.750244 -0.738361 -0.726024 -0.713235 -0.7 -0.686321 -0.672206 -0.657658 -0.642686 -0.627294 -0.611492 -0.595285 -0.578684 -0.561696 -0.54433; #A 1000 -0.526597 -0.508506 -0.490069 -0.471295 -0.452197 -0.432786 -0.413074 -0.393075 -0.3728 -0.352264 -0.33148 -0.310461 -0.289223 -0.267779 -0.246145 -0.224335 -0.202365 -0.18025 -0.158006 -0.135648 -0.113193 -0.0906566 -0.0680546 -0.0454036 -0.0227198 -1.96366e-05 0.0226805; #X coords 0 2 1027 -1 200 140 1; #X restore 587 23 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array flauta_Re3 99300 float 2; #X coords 0 1 99300 -1 200 140 1; #X restore 803 23 graph; #X msg 587 221 \; flauta_Re3 const 0; #X msg 586 170 \; tabla sinesum 1024 0.8 0 0.4 0 0.2 0 0.1; #X obj 112 22 loadbang; #X connect 0 0 3 0; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 2 0 1 0; #X connect 4 0 0 0; #X connect 13 0 1 0; #X restore 19 594 pd cargar_wav_tabla; #X text 224 592 carga tablas \;; #N canvas 0 0 1013 677 enventanado_solapado 0; #X obj 302 290 phasor~; #X obj 418 372 wrap~; #X obj 302 103 / 293.6; #X obj 390 77 r tamaño; #X text 783 217 tamañoTabla en seg \;; #X obj 300 495 +~; #X text 341 485 sumo señal con fase=0 + señal con fase=T/2 \;; #N canvas 0 0 1013 677 ventana 0; #X obj 131 101 +~ 1; #X text 187 100 desplazo 1 para interpolación \;; #X text 222 74 size-2 para interpolación \;; #X obj 39 78 -~ 0.5; #X obj 39 128 cos~; #X obj 39 161 *~; #X obj 39 103 *~ 0.5; #X obj 227 14 r tamaño; #X obj 40 205 outlet~; #X text 121 205 saca ventana sin defasaje \;; #X obj 132 75 *~; #X obj 129 127 tabread4~ flauta_Re3; #X obj 97 16 inlet~; #X obj 182 44 - 2; #X obj 547 26 inlet; #X connect 0 0 11 0; #X connect 3 0 6 0; #X connect 4 0 5 0; #X connect 5 0 8 0; #X connect 6 0 4 0; #X connect 7 0 13 0; #X connect 10 0 0 0; #X connect 11 0 5 1; #X connect 12 0 3 0; #X connect 12 0 10 0; #X connect 13 0 10 1; #X connect 14 0 11 0; #X restore 301 398 pd ventana; #N canvas 0 0 1013 677 ventana2 0; #X obj 132 98 +~ 1; #X text 197 96 desplazo 1 para interpolación \;; #X text 181 69 size-2 para interpolación \;; #X obj 44 61 -~ 0.5; #X obj 44 111 cos~; #X obj 44 158 *~; #X obj 44 86 *~ 0.5; #X obj 212 14 r tamaño; #X obj 44 198 outlet~; #X text 136 195 saca ventana defasada 1/2 período \;; #X obj 133 71 *~; #X obj 133 127 tabread4~ flauta_Re3; #X obj 102 15 inlet~; #X obj 177 44 - 2; #X obj 524 34 inlet; #X connect 0 0 11 0; #X connect 3 0 6 0; #X connect 4 0 5 0; #X connect 5 0 8 0; #X connect 6 0 4 0; #X connect 7 0 13 0; #X connect 10 0 0 0; #X connect 11 0 5 1; #X connect 12 0 3 0; #X connect 12 0 10 0; #X connect 13 0 10 1; #X connect 14 0 11 0; #X restore 418 435 pd ventana2; #X obj 299 609 *~; #X obj 374 586 line~; #X msg 431 557 0 100; #X msg 369 556 1 100; #X text 65 99 frec. de nota guardada \; en tabla \;; #X text 73 37 conversor Midi-frec \;; #X text 830 176 ^ \; | \;; #X text 636 171 ^ \; | \;; #X text 538 214 relación de frec \;; #X text 520 128 calcula frec. phasor según altura \; [(fnotaDeseada/fnotaTabla)/(tamañoTabla/sr)] \;; #X text 116 396 phasor con fase 0 \;; #X text 544 430 phasor2 defasado 1/2 período \;; #X obj 479 44 samplerate~; #X obj 302 132 expr $f1/($f2/$f3); #X obj 479 10 loadbang; #X text 602 44 saca sr al recibir bang \;; #X obj 615 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 522 77 5 0 0 0 - - -; #X obj 419 346 +~ 0.5; #X obj 298 638 outlet~; #N canvas 0 0 1013 677 midiKeyb 0; #X obj 245 9 key; #X floatatom 245 37 5 0 0 0 - - -; #X msg 212 146 60; #X msg 244 147 61; #X msg 277 147 62; #X msg 308 148 63; #X msg 339 150 64; #X msg 372 150 65; #X msg 403 151 66; #X msg 438 152 67; #X msg 477 152 68; #X msg 514 152 69; #X msg 554 152 70; #X msg 591 153 71; #X msg 623 153 72; #X floatatom 235 334 5 0 0 0 - - -; #X floatatom 363 343 5 0 0 0 - - -; #X obj 253 250 t f b; #X msg 657 154 73; #X msg 694 152 74; #X msg 308 272 127; #X obj 250 305 makenote 100 300; #X obj 298 385 != 0; #X obj 231 437 spigot; #X obj 245 86 sel 113 50 119 51 101 114 53 116 54 121 55 117 105 57 111; #X text 316 667 nota \;; #X obj 231 510 mtof; #X obj 230 620 outlet; #X obj 231 475 + 0; #X obj 338 555 s altura; #X connect 0 0 1 0; #X connect 1 0 24 0; #X connect 2 0 17 0; #X connect 3 0 17 0; #X connect 4 0 17 0; #X connect 5 0 17 0; #X connect 6 0 17 0; #X connect 7 0 17 0; #X connect 8 0 17 0; #X connect 9 0 17 0; #X connect 10 0 17 0; #X connect 11 0 17 0; #X connect 12 0 17 0; #X connect 13 0 17 0; #X connect 14 0 17 0; #X connect 15 0 23 0; #X connect 16 0 22 0; #X connect 17 0 21 0; #X connect 17 1 20 0; #X connect 18 0 17 0; #X connect 19 0 17 0; #X connect 20 0 21 1; #X connect 21 0 15 0; #X connect 21 1 16 0; #X connect 22 0 23 1; #X connect 23 0 28 0; #X connect 24 0 2 0; #X connect 24 1 3 0; #X connect 24 2 4 0; #X connect 24 3 5 0; #X connect 24 4 6 0; #X connect 24 5 7 0; #X connect 24 6 8 0; #X connect 24 7 9 0; #X connect 24 8 10 0; #X connect 24 9 11 0; #X connect 24 10 12 0; #X connect 24 11 13 0; #X connect 24 12 14 0; #X connect 24 13 18 0; #X connect 24 14 19 0; #X connect 26 0 27 0; #X connect 28 0 26 0; #X connect 28 0 29 0; #X restore 302 21 pd midiKeyb; #X floatatom 242 209 10 0 0 0 - - -; #X obj 365 521 inlet; #X obj 444 522 inlet; #X text 478 372 parte fracc. \;; #X connect 0 0 7 0; #X connect 0 0 27 0; #X connect 1 0 8 0; #X connect 2 0 22 0; #X connect 3 0 22 1; #X connect 5 0 9 0; #X connect 7 0 5 0; #X connect 8 0 5 1; #X connect 9 0 28 0; #X connect 10 0 9 1; #X connect 11 0 10 0; #X connect 12 0 10 0; #X connect 21 0 22 2; #X connect 21 0 26 0; #X connect 22 0 0 0; #X connect 22 0 30 0; #X connect 23 0 21 0; #X connect 25 0 21 0; #X connect 27 0 1 0; #X connect 29 0 2 0; #X connect 31 0 12 0; #X connect 32 0 11 0; #X restore 251 100 pd enventanado_solapado; #X text 490 101 phasor~ defasado \, cos~ \;; #X obj 125 390 dac~; #X obj 251 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 478 53 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 272 55 prende \;; #X text 502 49 apaga \;; #N canvas 0 0 1013 677 espectro 0; #X text 144 253 <-- click to graph; #N canvas 0 0 1013 677 fft 0; #X obj 19 62 inlet~; #X obj 85 214 inlet; #X obj 19 92 rfft~; #X obj 19 125 *~; #X obj 50 125 *~; #X obj 19 155 sqrt~; #X obj 85 248 tabwrite~ E01-spectrum; #X obj 332 109 block~ 4096 1; #X obj 19 181 biquad~ 0 0 0 0 1; #X text 83 93 Fourier series; #X text 88 146 magnitude; #X text 86 131 calculate; #X text 21 3 This subpatch computes the spectrum of the incoming signal with a (rectangular windowed) FFT. FFTs aren't properly introduced until much later.; #X text 83 62 signal to analyze; #X text 197 169 delay two samples; #X text 199 185 for better graphing; #X obj 90 425 samplerate~; #X obj 90 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 90 472 5 0 0 0 - - -; #X obj 90 448 / 256; #X obj 90 378 loadbang; #X floatatom 90 541 5 0 0 0 - - -; #X obj 98 494 s fundamental; #X obj 90 517 ftom; #X text 146 540 <-just out of curiosity \, here's the pitch; #X text 14 319 At load time \, calculate a good choice of fundamental frequency for showing spectra: the 16th bin in a 4096-point spectrum \, so SR*16/4096 or SR/256.; #X text 135 216 "bang" into this inlet to graph it; #X connect 0 0 2 0; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 2 0 3 1; #X connect 2 1 4 0; #X connect 2 1 4 1; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 8 0; #X connect 8 0 6 0; #X connect 16 0 19 0; #X connect 17 0 16 0; #X connect 18 0 22 0; #X connect 18 0 23 0; #X connect 19 0 18 0; #X connect 20 0 17 0; #X connect 23 0 21 0; #X restore 45 291 pd fft; #X obj 121 254 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 121 289 tabwrite~ E01-signal; #X obj 51 232 *~ 1; #X text 96 229 sum; #X obj 52 184 inlet~; #X obj 242 209 inlet; #X obj 152 179 inlet; #X obj 53 409 outlet~; #X connect 2 0 1 1; #X connect 2 0 3 0; #X connect 4 0 1 0; #X connect 4 0 3 0; #X connect 6 0 4 0; #X connect 6 0 9 0; #X connect 7 0 2 0; #X connect 8 0 4 1; #X restore 124 328 pd espectro; #N canvas 0 0 450 300 (subpatch) 0; #X array E01-signal 882 float 0; #X coords 0 5 882 -5 200 130 1; #X restore 722 277 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array E01-spectrum 128 float 0; #X coords 0 4300 127 -40 257 130 1; #X restore 665 480 graph; #X text 722 409 ---- 0.02 seconds ----; #X text 696 613 1; #X text 730 613 2; #X text 762 613 3; #X text 794 613 4; #X text 827 613 5; #X text 857 613 6; #X text 888 613 7; #X text 664 613 0; #X text 700 632 -- partial number --; #X text 924 333 0; #X text 768 231 WAVEFORM; #X text 752 439 SPECTRUM; #X text 925 598 0; #X text 923 477 1; #X text 924 536 0.5; #X text 924 273 5; #X text 925 393 -5; #X obj 273 313 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 177 289 5 0 0 0 - - -; #X text 298 309 grafica \;; #X text 232 283 amplitud para gráfico \;; #X text 306 241 sin octavar \;; #X text 183 199 octavado por modulación anillo \;; #X obj 333 140 s~ flauta; #X connect 0 0 1 0; #X connect 1 0 12 0; #X connect 2 0 12 0; #X connect 5 0 0 0; #X connect 5 0 2 0; #X connect 5 0 39 0; #X connect 8 0 5 0; #X connect 9 0 5 1; #X connect 12 0 7 0; #X connect 12 0 7 1; #X connect 33 0 12 2; #X connect 34 0 12 1; #X restore 28 77 pd anillo; #N canvas 61 95 450 300 encapsulado 0; #X floatatom 156 109 5 0 0 0 - - -; #X obj 163 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text -1 171 argumentos \; \$1 - inicio contador \; \$2 - num. adición \; \$3 - cantidad ejecuciones \;; #X obj 257 121 print; #X obj 157 69 contador 0 1 3; #X connect 1 0 4 0; #X connect 4 0 0 0; #X connect 4 0 3 0; #X restore 32 20 pd encapsulado; #N canvas 0 0 1034 698 inalambrica 0; #X obj 130 468 *~; #X obj 234 465 *~; #X obj 129 556 dac~; #X obj 261 440 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 157 443 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 131 410 r~ señal; #X obj 234 410 catch~ señal; #N canvas 211 -17 737 385 aditiva 0; #X obj 151 305 s~ señal; #X obj 69 90 osc~; #X obj 219 92 osc~; #X obj 218 169 throw~ señal; #X obj 161 218 +~; #X obj 70 49 * 1.5; #X msg 70 16 440; #X obj 68 178 throw~ señal; #X obj 390 83 osc~; #X obj 540 85 osc~; #X obj 539 162 throw~ señal; #X obj 389 171 throw~ señal; #X obj 391 42 * 2; #X obj 535 41 * 3; #X obj 68 127 *~ 0.2; #X obj 219 127 *~ 0.2; #X obj 389 120 *~ 0.2; #X obj 540 120 *~ 0.2; #X obj 493 315 s~ señal; #X obj 503 228 +~; #X connect 1 0 14 0; #X connect 2 0 15 0; #X connect 4 0 0 0; #X connect 5 0 1 0; #X connect 6 0 5 0; #X connect 6 0 2 0; #X connect 6 0 12 0; #X connect 6 0 13 0; #X connect 8 0 16 0; #X connect 9 0 17 0; #X connect 12 0 8 0; #X connect 13 0 9 0; #X connect 14 0 4 0; #X connect 14 0 7 0; #X connect 15 0 4 1; #X connect 15 0 3 0; #X connect 16 0 11 0; #X connect 16 0 19 0; #X connect 17 0 10 0; #X connect 17 0 19 1; #X connect 19 0 18 0; #X restore 135 249 pd aditiva; #X connect 0 0 2 0; #X connect 0 0 2 1; #X connect 1 0 2 0; #X connect 1 0 2 1; #X connect 3 0 1 1; #X connect 4 0 0 1; #X connect 5 0 0 0; #X connect 6 0 1 0; #X restore 26 129 pd inalambrica; #X text 179 126 conexiónes inalámbricas \; throw~ catch~ s~ r~ \;; #N canvas 0 0 1013 677 lineas_delay 1; #N canvas 0 0 1013 656 peine 1; #X obj 372 148 mtof; #X floatatom 406 179 5 0 0 0 - - -; #X floatatom 372 239 5 0 0 0 - - -; #X obj 372 205 expr (1000/(2*$f1)); #X obj 81 48 inlet~; #X text 149 47 entra sample tocado; #X text 223 377 sale sample octavado; #X obj 376 34 r altura; #X obj 142 378 outlet~; #X obj 428 274 vline~; #N canvas 0 0 1013 677 vd 0; #X text 153 89 <-- delay time; #X text 108 134 read from delay line; #X text 196 107 (msec); #X obj 97 159 vd~ delay1; #X obj 105 71 inlet~; #X obj 66 283 outlet~; #X obj 65 213 +~; #X obj 65 18 inlet~; #X text 127 18 viene del subpatch del delwrite y me asegura el orden \; de ejecución: primero delwrite \, luego del read \;; #X connect 3 0 6 1; #X connect 4 0 3 0; #X connect 6 0 5 0; #X connect 7 0 6 0; #X restore 140 296 pd vd; #X text 196 298 read from delay line; #N canvas 332 133 450 300 delwrite 0; #X obj 121 148 delwrite~ delay1 1000; #X obj 64 95 inlet~; #X obj 65 208 outlet~; #X connect 1 0 0 0; #X connect 1 0 2 0; #X restore 142 123 pd delwrite; #X text 113 94 write to delay line; #X obj 361 492 block~ 64; #X text 474 544 La otra forma es la mostrada \, poner el delwrite y el delread en subpatches diferentes.; #X msg 428 234 \$1 30; #X obj 139 338 *~ 1.5; #X text 465 32 recibe altura para calcular delay en ms \;; #X text 467 484 para disminuir el valor más chico de la linea de delay \; de ésta forma puedo afinar el peine de tal forma \; de tener más rango de notas hacia los agudos \;; #X connect 0 0 1 0; #X connect 0 0 3 0; #X connect 3 0 2 0; #X connect 3 0 16 0; #X connect 4 0 12 0; #X connect 7 0 0 0; #X connect 9 0 10 1; #X connect 10 0 17 0; #X connect 12 0 10 0; #X connect 16 0 9 0; #X connect 17 0 8 0; #X restore 105 189 pd peine; #N canvas 0 0 992 656 realimentado 0; #X floatatom 57 49 5 -30 130 0 - - -; #X floatatom 87 288 0 0 20 0 - - -; #X obj 57 91 mtof; #X obj 57 232 *~; #X obj 57 389 +~; #X obj 87 356 *~ 0.7; #X floatatom 1114 844 10 0 0 0 - - -; #X floatatom 1110 773 5 0 0 0 - - -; #X obj 1109 806 expr ($f1/44.1); #X text 615 84 Linea de delay realimentada \; --------------------------- \;; #N canvas 0 0 1013 677 delayBlock 0; #X floatatom 203 190 0 0 0 0 - - -; #X text 223 290 add the original and the delayed signal; #X obj 174 291 +~; #X obj 203 258 *~ 0.7; #X text 284 258 feedback gain; #X obj 174 363 outlet~; #X obj 203 224 delread~ del-block 100; #X text 245 189 para valores < a 5.8ms no hace nada \;; #X floatatom 172 6 5 -30 130 0 - - -; #X text 239 17 <-- pitch; #X obj 172 48 mtof; #X obj 172 154 *~; #N canvas 0 0 1013 677 pulso 0; #X floatatom 88 104 0 0 0 0 - - -; #X obj 56 455 cos~; #X obj 88 141 phasor~ 0; #X text 84 75 frequency; #X obj 56 385 clip~ -0.5 0.5; #X obj 56 599 hip~ 5; #X text 172 174 phase -1/2 to 1/2; #X text 209 142 phase 0 to 1; #X text 181 21 PULSE GENERATOR; #X text 158 601 high pass filter to cut DC; #X text 244 384 clip back to range -1/2 to 1/2; #X text 140 457 cosine wave lookup (-1/2 and 1/2 give -1); #X obj 56 487 +~ 1; #X obj 56 519 *~ 0.5; #X text 137 486 add one (range now from 0 to 2); #X text 148 518 ...and now from 0 to 1; #X obj 56 638 outlet~; #X obj 88 175 -~ 0.5; #X obj 35 41 inlet; #X obj 81 287 *~ 2; #X connect 0 0 2 0; #X connect 1 0 12 0; #X connect 2 0 17 0; #X connect 4 0 1 0; #X connect 5 0 16 0; #X connect 12 0 13 0; #X connect 13 0 5 0; #X connect 17 0 19 0; #X connect 18 0 0 0; #X connect 19 0 4 0; #X restore 172 80 pd pulso; #X obj 277 130 dline~; #X msg 276 97 1 50 1 100 0 20; #X obj 230 326 delwrite~ del-block 1000; #X obj 566 444 bang~; #X obj 566 494 t b b; #X obj 566 546 timer; #X floatatom 566 605 10 0 0 0 - - -; #X obj 200 521 block~ 256; #X text 626 441 mide ventana en mseg \;; #X connect 0 0 6 0; #X connect 2 0 5 0; #X connect 2 0 15 0; #X connect 3 0 2 1; #X connect 6 0 3 0; #X connect 8 0 14 0; #X connect 8 0 10 0; #X connect 10 0 12 0; #X connect 11 0 2 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 13 0; #X connect 16 0 17 0; #X connect 17 0 18 0; #X connect 17 1 18 1; #X connect 18 0 19 0; #X restore 291 463 pd delayBlock; #X text 450 460 muestra problema de delay < ventana \;; #N canvas 0 0 1013 677 pulso 0; #X floatatom 88 104 0 0 0 0 - - -; #X obj 56 455 cos~; #X obj 88 141 phasor~ 0; #X text 84 75 frequency; #X obj 56 385 clip~ -0.5 0.5; #X obj 56 599 hip~ 5; #X text 172 174 phase -1/2 to 1/2; #X text 209 142 phase 0 to 1; #X text 181 21 PULSE GENERATOR; #X text 158 601 high pass filter to cut DC; #X text 130 307 increase amplitude; #X text 244 384 clip back to range -1/2 to 1/2; #X text 140 457 cosine wave lookup (-1/2 and 1/2 give -1); #X obj 56 487 +~ 1; #X obj 56 519 *~ 0.5; #X text 137 486 add one (range now from 0 to 2); #X text 148 518 ...and now from 0 to 1; #X obj 56 638 outlet~; #X obj 88 175 -~ 0.5; #X obj 35 41 inlet; #X obj 77 274 *~ 1.5; #X connect 0 0 2 0; #X connect 1 0 13 0; #X connect 2 0 18 0; #X connect 4 0 1 0; #X connect 5 0 17 0; #X connect 13 0 14 0; #X connect 14 0 5 0; #X connect 18 0 20 0; #X connect 19 0 0 0; #X connect 20 0 4 0; #X restore 57 147 pd pulso; #X obj 162 209 dline~; #X obj 87 322 delread~ G02-del 100; #X obj 113 424 delwrite~ G02-del 1000; #X obj 57 486 dac~; #X text 154 353 g \;; #X text 129 287 delay time; #X text 112 47 altura \;; #X text 339 176 prende nota \;; #X text 619 129 Y[n]=(X[n]+Y[n])*(Z^-d)*g \;; #X msg 160 176 0.7 50 0.7 500 0 20; #X obj 508 340 block~ 64; #X connect 0 0 22 0; #X connect 0 0 2 0; #X connect 1 0 14 0; #X connect 2 0 12 0; #X connect 3 0 4 0; #X connect 4 0 15 0; #X connect 4 0 16 0; #X connect 4 0 16 1; #X connect 5 0 4 1; #X connect 7 0 8 0; #X connect 8 0 6 0; #X connect 10 0 16 0; #X connect 10 0 16 1; #X connect 12 0 3 0; #X connect 13 0 3 1; #X connect 14 0 5 0; #X connect 22 0 13 0; #X restore 99 92 pd realimentado; #X obj 106 283 dac~; #X obj 114 239 *~; #X obj 169 222 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 105 153 r~ flauta; #X connect 0 0 3 0; #X connect 3 0 2 0; #X connect 3 0 2 1; #X connect 4 0 3 1; #X connect 5 0 0 0; #X restore 25 241 pd lineas_delay;