#N canvas 419 23 842 638 10; #X text 12 4 much better to use index and ratio for fm; #X floatatom 104 51 5 0 0 0 midi-note - -; #X obj 105 73 mtof; #X obj 240 159 osc~; #X floatatom 260 52 5 0 0 0 ratio - -; #X obj 241 106 *; #X obj 233 76 b; #X floatatom 243 134 5 0 0 0 - - -; #X floatatom 106 132 5 0 0 0 - - -; #X obj 188 229 osc~; #X floatatom 181 53 5 0 0 0 index - -; #X obj 217 184 *~; #X obj 189 207 +~; #X obj 186 268 dac~; #X obj 190 132 line~; #X obj 204 158 *~; #X obj 156 106 pack f 300; #X text 18 25 i've dezippered the index for a nice sweeping effect ; #N canvas 0 22 470 320 spectdisp 0; #X obj 19 61 inlet~; #X obj 95 214 inlet; #X obj 29 92 rfft~; #X obj 29 125 *~; #X obj 60 125 *~; #X obj 29 155 sqrt~; #X obj 332 109 block~ 4096 1; #X obj 29 181 biquad~ 0 0 0 0 1; #X text 93 93 Fourier series; #X text 98 146 magnitude; #X text 96 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 61 signal to analyze; #X text 192 166 delay two samples; #X text 191 182 for better graphing; #X obj 16 425 samplerate~; #X obj 16 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 16 472 5 0 0 0 - - -; #X obj 16 448 / 256; #X obj 16 378 loadbang; #X floatatom 16 541 5 0 0 0 - - -; #X obj 24 494 s fundamental; #X obj 16 517 ftom; #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 145 216 "bang" into this inlet to graph it; #X floatatom 191 480 5 0 0 0 - - -; #X obj 191 456 / 4096; #X text 187 425 One bin is SR/4096:; #X text 72 540 <-just out of curiosity \, here's the fundamental pitch ; #X obj 191 502 s freq-step; #X obj 95 248 tabwrite~ spectrum; #X obj 20 281 tabwrite~ signal; #X connect 0 0 2 0; #X connect 0 0 31 0; #X connect 1 0 30 0; #X connect 1 0 31 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 7 0; #X connect 7 0 30 0; #X connect 15 0 18 0; #X connect 15 0 26 0; #X connect 16 0 15 0; #X connect 17 0 21 0; #X connect 17 0 22 0; #X connect 18 0 17 0; #X connect 19 0 16 0; #X connect 22 0 20 0; #X connect 25 0 29 0; #X connect 26 0 25 0; #X restore 248 284 pd spectdisp; #N canvas 0 22 450 300 (subpatch) 0; #X array spectrum 1024 float 0; #X coords 0 512 1023 -0 400 280 1; #X restore 384 199 graph; #N canvas 0 22 450 300 (subpatch) 0; #X array signal 882 float 3; #A 0 -0.991901 -0.9926 -0.993067 -0.993358 -0.993471 -0.993409 -0.993171 -0.992758 -0.992138 -0.991297 -0.990206 -0.988843 -0.987157 -0.985097 -0.982611 -0.979652 -0.97617 -0.972075 -0.967322 -0.961807 -0.955482 -0.948261 -0.940059 -0.930795 -0.920394 -0.908773 -0.895823 -0.881512 -0.865715 -0.848386 -0.829454 -0.808848 -0.786507 -0.76238 -0.736427 -0.708616 -0.67891 -0.647296 -0.613782 -0.578358 -0.541053 -0.501906 -0.460955 -0.418256 -0.373891 -0.327947 -0.280526 -0.231744 -0.181728 -0.130621 -0.0785815 -0.0257734 0.0276276 0.0814345 0.135455 0.189482 0.24332 0.296743 0.349554 0.401525 0.452454 0.502129 0.550335 0.596891 0.641587 0.68425 0.724723 0.762815 0.798408 0.831379 0.861573 0.888936 0.913371 0.934805 0.953228 0.968559 0.980855 0.990061 0.996271 0.999465 0.999754 0.997202 0.991874 0.983907 0.973412 0.960512 0.945331 0.928027 0.908756 0.887674 0.864929 0.8407 0.815161 0.788483 0.760794 0.732312 0.703151 0.673507 0.643522 0.61333 0.583089 0.552936 0.523 0.493401 0.464247 0.435662 0.40774 0.380574 0.354248 0.328847 0.304442 0.281095 0.258867 0.237812 0.217981 0.199409 0.182142 0.166204 0.151632 0.13845 0.126679 0.116339 0.107448 0.100018 0.0940611 0.0895897 0.0866128 0.0851354 0.0851643 0.0867037 0.0897556 0.0943234 0.100406 0.108001 0.117104 0.127709 0.139808 0.153389 0.168438 0.184934 0.202854 0.222173 0.242859 0.264866 0.288155 0.312674 0.33836 0.365143 0.39296 0.421706 0.451305 0.481642 0.512597 0.544053 0.575873 0.607893 0.639973 0.67195 0.703612 0.734803 0.76532 0.794934 0.823448 0.850643 0.876291 0.900148 0.922005 0.941641 0.95878 0.973255 0.984805 0.993237 0.998359 0.999981 0.997931 0.992057 0.982229 0.968344 0.950322 0.928103 0.90164 0.870974 0.836106 0.797126 0.754114 0.707228 0.656595 0.602446 0.545006 0.484515 0.421278 0.355611 0.28785 0.218355 0.147503 0.075691 0.00332488 -0.0691815 -0.141411 -0.212945 -0.28337 -0.352279 -0.419277 -0.483984 -0.54604 -0.605101 -0.660849 -0.713003 -0.761307 -0.805537 -0.845505 -0.881034 -0.912008 -0.938358 -0.960019 -0.976958 -0.989235 -0.996841 -0.999924 -0.998523 -0.992835 -0.983008 -0.969197 -0.951638 -0.93055 -0.906167 -0.878736 -0.848517 -0.815776 -0.780786 -0.743783 -0.705077 -0.664911 -0.623555 -0.581244 -0.538241 -0.494772 -0.451057 -0.407305 -0.363716 -0.320476 -0.277756 -0.2357 -0.194463 -0.154162 -0.114917 -0.0768274 -0.0399787 -0.0044468 0.0297044 0.0624232 0.0936647 0.123399 0.151597 0.178245 0.203332 0.226852 0.248806 0.269202 0.288043 0.305341 0.321111 0.33537 0.34813 0.359405 0.36921 0.377562 0.384483 0.389972 0.394056 0.396724 0.398 0.397885 0.396385 0.393502 0.389224 0.38357 0.376516 0.368073 0.358231 0.346981 0.334315 0.32023 0.304723 0.287785 0.269412 0.249604 0.228367 0.205701 0.181614 0.156122 0.129242 0.101 0.0714241 0.0405522 0.00842933 -0.0248928 -0.0593524 -0.09488 -0.131398 -0.168818 -0.207046 -0.245967 -0.285473 -0.325444 -0.365727 -0.406201 -0.446698 -0.487067 -0.527145 -0.56676 -0.605732 -0.643878 -0.681016 -0.71696 -0.751528 -0.784537 -0.815811 -0.845171 -0.872418 -0.897426 -0.920018 -0.940045 -0.957391 -0.971905 -0.983508 -0.992085 -0.997568 -0.999911 -0.999029 -0.994947 -0.98763 -0.977088 -0.963381 -0.946523 -0.9266 -0.903713 -0.877922 -0.849381 -0.818219 -0.784557 -0.748592 -0.710453 -0.670355 -0.628457 -0.584978 -0.540088 -0.494017 -0.446942 -0.399077 -0.350625 -0.301778 -0.252723 -0.203653 -0.154747 -0.106173 -0.0580961 -0.0106661 0.0359758 0.081698 0.126383 0.169927 0.212227 0.253211 0.292799 0.330934 0.367572 0.402673 0.436208 0.468161 0.498524 0.527303 0.554504 0.58013 0.604227 0.626802 0.647892 0.66754 0.685782 0.702659 0.718216 0.732505 0.745539 0.757409 0.768111 0.777722 0.786272 0.793795 0.800324 0.805895 0.810546 0.814257 0.817103 0.819051 0.820133 0.820352 0.819706 0.818193 0.815781 0.812473 0.808242 0.803073 0.796904 0.789723 0.781489 0.772148 0.761649 0.749966 0.73701 0.722759 0.707142 0.690089 0.671559 0.651478 0.629805 0.606496 0.581476 0.55473 0.526194 0.495847 0.463668 0.42964 0.39376 0.356023 0.316465 0.275109 0.232008 0.187216 0.14082 0.0929142 0.0436111 -0.00695761 -0.0586424 -0.111275 -0.164667 -0.218621 -0.272903 -0.327288 -0.381516 -0.435314 -0.488409 -0.540508 -0.591311 -0.640511 -0.687801 -0.732869 -0.775384 -0.815066 -0.85162 -0.884721 -0.914149 -0.939584 -0.960847 -0.977683 -0.989919 -0.997405 -0.999991 -0.997576 -0.990113 -0.977574 -0.959963 -0.937325 -0.909726 -0.877305 -0.840216 -0.798652 -0.752838 -0.703029 -0.649513 -0.592602 -0.532632 -0.469963 -0.404966 -0.338025 -0.269543 -0.199925 -0.129574 -0.058895 0.0117172 0.081872 0.151194 0.219325 0.285915 0.350653 0.413235 0.473394 0.530876 0.585483 0.636997 0.685282 0.73021 0.771679 0.809616 0.84398 0.874756 0.90196 0.925635 0.94585 0.962648 0.976175 0.986518 0.993846 0.998262 0.999953 0.999088 0.995841 0.990394 0.982937 0.973632 0.962693 0.950308 0.936652 0.921902 0.90625 0.889864 0.872908 0.855544 0.837934 0.820188 0.802488 0.784924 0.767647 0.750758 0.734359 0.718546 0.703412 0.689048 0.675495 0.662859 0.651164 0.64048 0.630854 0.622325 0.614929 0.608674 0.603608 0.599732 0.597073 0.595629 0.595397 0.596378 0.598562 0.601948 0.606519 0.612235 0.619087 0.627041 0.636057 0.646091 0.657097 0.669031 0.68183 0.69542 0.709747 0.724738 0.740294 0.756338 0.772781 0.789509 0.806426 0.823437 0.840398 0.857216 0.87373 0.889838 0.9054 0.920271 0.93431 0.947377 0.959331 0.970038 0.979307 0.987056 0.993098 0.997342 0.99961 0.999804 0.99781 0.993513 0.986812 0.977618 0.965855 0.951463 0.934395 0.914621 0.892099 0.866842 0.83888 0.808209 0.774907 0.739028 0.700655 0.659889 0.616848 0.571656 0.524478 0.475445 0.424756 0.372588 0.319128 0.26459 0.209177 0.153105 0.096596 0.0398659 -0.0168618 -0.0733703 -0.129441 -0.184871 -0.23945 -0.29299 -0.345304 -0.39622 -0.445573 -0.493228 -0.539027 -0.582874 -0.624665 -0.664289 -0.701693 -0.73682 -0.76963 -0.800096 -0.828209 -0.853977 -0.877422 -0.898581 -0.917466 -0.934177 -0.948766 -0.961305 -0.971884 -0.980615 -0.987565 -0.992857 -0.996605 -0.998924 -0.999932 -0.999732 -0.998446 -0.996223 -0.993131 -0.989338 -0.984918 -0.979994 -0.974684 -0.969086 -0.963305 -0.957424 -0.951529 -0.94574 -0.940082 -0.934671 -0.929567 -0.924825 -0.920498 -0.916642 -0.913309 -0.910517 -0.908315 -0.906707 -0.905734 -0.905398 -0.905701 -0.906644 -0.90823 -0.910424 -0.913219 -0.916575 -0.920474 -0.924863 -0.92969 -0.9349 -0.94044 -0.946231 -0.952185 -0.958231 -0.964282 -0.970227 -0.975955 -0.981355 -0.986316 -0.990728 -0.994419 -0.997306 -0.999192 -0.99997 -0.999489 -0.9976 -0.994155 -0.989002 -0.981974 -0.972975 -0.9618 -0.948367 -0.932535 -0.914176 -0.89318 -0.869449 -0.842906 -0.813491 -0.781163 -0.745857 -0.707605 -0.66638 -0.622248 -0.57526 -0.525489 -0.473053 -0.418091 -0.360765 -0.301263 -0.239798 -0.176616 -0.111981 -0.0461768 0.0204867 0.0876833 0.155068 0.222285 0.288966 0.354729 0.419201 0.482 0.542729 0.601029 0.656535 0.708897 0.75778 0.802864 0.843856 0.880502 0.912566 0.939847 0.962176 0.979421 0.991485 0.998312 0.999881 0.996213 0.987357 0.973398 0.954478 0.930759 0.902437 0.869736 0.832882 0.792168 0.747899 0.700363 0.649896 0.596844 0.541529 0.484318 0.425549 0.365566 0.304717 0.243329 0.181717 0.120193 0.0590489 -0.00144204 -0.0610253 -0.119464 -0.176545 -0.232079 -0.285888 -0.337835 -0.38778 -0.435633 -0.481307 -0.524737 -0.565878 -0.604707 -0.641216 -0.675423 -0.707363 -0.737037 -0.764543 -0.789905 -0.81321 -0.834541 -0.853982 -0.871626 -0.887575 -0.901893 -0.914732 -0.92615 -0.936283 -0.94522 -0.953053 -0.959875 -0.965785 -0.970883 -0.975249 -0.97895 -0.98207 -0.984685 -0.986851 -0.98862 -0.990048 -0.99119 -0.992062 -0.992714 -0.993149 -0.993407 -0.993489 -0.993395 -0.993125 -0.99268 -0.992017 -0.991142 -0.989998 -0.988576 -0.986825 -0.984694 -0.982132 -0.97909 -0.97551 -0.971292 -0.966411 -0.960769 -0.954283 -0.94689 -0.938506 -0.929053 -0.918434 -0.906567 -0.893402 -0.878807 -0.862754 -0.845152 -0.825914 -0.804998 -0.782342 -0.757898 -0.731612 -0.703451 -0.673408 -0.641453 -0.607592 -0.571827 -0.534195 -0.494712 -0.453437 -0.410434 -0.365779 -0.319562 -0.271886 -0.222872 -0.172651 -0.121366 -0.0691726 -0.0162424 0.0372476 0.0911081 0.145147 0.199156 0.252934 0.306264 0.358942 0.410739 0.461463 0.510884 0.558812 0.605053 0.649392 0.691679 0.731734 0.769387 0.804523 0.836995 0.866691 0.893543 0.917431 0.938334 0.956195 0.970989 0.982725 0.991396 0.997053 0.999736; #X coords 0 1 881 -1 200 140 1; #X restore 375 13 graph; #X obj 262 230 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 301 235 metro 500; #X obj 300 209 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X connect 1 0 2 0; #X connect 2 0 5 0; #X connect 2 0 8 0; #X connect 3 0 11 1; #X connect 4 0 5 1; #X connect 4 0 6 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 7 0 3 0; #X connect 7 0 15 1; #X connect 8 0 12 0; #X connect 9 0 13 0; #X connect 9 0 13 1; #X connect 9 0 18 0; #X connect 10 0 16 0; #X connect 11 0 12 1; #X connect 12 0 9 0; #X connect 14 0 15 0; #X connect 15 0 11 0; #X connect 16 0 14 0; #X connect 21 0 18 1; #X connect 22 0 21 0; #X connect 23 0 22 0;