diff options
author | Jamie Bullock <jamie@postlude.co.uk> | 2008-02-16 20:13:05 +0000 |
---|---|---|
committer | Jamie Bullock <jamie@postlude.co.uk> | 2008-02-16 20:13:05 +0000 |
commit | 398afce1d37bad97d50a20aa5406a4dc6327912d (patch) | |
tree | 6b4bbeeaadc14e1e4ef3567565aae7023a6c2161 /examples | |
parent | 26fa6beab516a699ead017f4a2d68b1d861b9561 (diff) | |
download | LibXtract-398afce1d37bad97d50a20aa5406a4dc6327912d.tar.gz LibXtract-398afce1d37bad97d50a20aa5406a4dc6327912d.tar.bz2 LibXtract-398afce1d37bad97d50a20aa5406a4dc6327912d.zip |
- Added to pd example the ability to differentiate between different
argv types (XTRACT_FLOAT, XTRACT_INT) and pass the correct data type
to the xtract[]() function
- Added xtract_flatness_db() details to descriptors.c
- Fixes to tonality and xtract_subbands descriptors
- Added Pd examples for 'subband mean' and tonality calculated using subbands
Diffstat (limited to 'examples')
-rw-r--r-- | examples/puredata/subband_mean.pd | 102 | ||||
-rw-r--r-- | examples/puredata/subframe-test.pd | 60 | ||||
-rw-r--r-- | examples/puredata/tonality_from_subbands.pd | 160 | ||||
-rw-r--r-- | examples/puredata/xtract~.c | 23 |
4 files changed, 311 insertions, 34 deletions
diff --git a/examples/puredata/subband_mean.pd b/examples/puredata/subband_mean.pd new file mode 100644 index 0000000..332b3d2 --- /dev/null +++ b/examples/puredata/subband_mean.pd @@ -0,0 +1,102 @@ +#N canvas 493 51 587 478 10; +#X obj 82 127 xtract~ spectrum; +#N canvas 6 48 450 300 mag_spectrum 0; +#X obj 260 64 block~ 512; +#N canvas 0 0 450 300 (subpatch) 0; +#X array mag_spectrum 512 float 3; +#A 0 0.0132486 0.0096563 0.0354424 0.0165249 0.0339139 0.0245265 0.0429209 +0.0604935 0.0858024 0.472867 0.131911 0.0710302 0.0320982 0.0389981 +0.0272274 0.015468 0.0195354 0.0195954 0.0188111 0.0207361 0.0166347 +0.00157469 0.02206 0.0104267 0.0070746 0.0295359 0.0121162 0.013655 +0.0102867 0.00591679 0.00586671 0.00641669 0.0105255 0.0120749 0.00294434 +0.013461 0.00875645 0.0157844 0.00649163 0.0150134 0.0135169 0.0191429 +0.0282347 0.0241475 0.0185751 0.00689928 0.022662 0.00670788 0.00318354 +0.00283897 0.0142583 0.017543 0.00907015 0.0164521 0.0223336 0.02503 +0.0121266 0.0170551 0.0284856 0.0271476 0.00775067 0.00155745 0.0197414 +0.0150477 0.0279912 0.0224467 0.00407337 0.00497963 0.000851764 0.0161942 +0.0176389 0.0160251 0.0175218 0.027366 0.00792114 0.0222662 0.0160268 +0.0279591 0.0112953 0.00409087 0.00645786 0.015363 0.0293401 0.0105894 +0.00844756 0.0175758 0.0215718 0.0200431 0.00260135 0.0101493 0.0200218 +0.00456712 0.0278158 0.0215603 0.0262786 0.0129843 0.00468684 0.024167 +0.0149199 0.0101847 0.00482173 0.00959639 0.0325585 0.0291854 0.0138181 +0.0169087 0.0236841 0.0291382 0.0199014 0.00511631 0.00370711 0.0101142 +0.0120038 0.00115485 0.0154999 0.00297503 0.0140602 0.0191407 0.0210018 +0.0322096 0.0224205 0.0206845 0.0191659 0.031921 0.0151202 0.0168541 +0.036274 0.0229901 0.0349309 0.0208622 0.0131437 0.00933729 0.0126362 +0.025394 0.00901058 0.01157 0.0131736 0.00677092 0.0194996 0.0173273 +0.00325973 0.0124627 0.0110635 0.0167556 0.0136908 0.0065692 0.0262649 +0.0225311 0.0235114 0.0197293 0.00282572 0.0240237 0.00657686 0.0173891 +0.0257314 0.012755 0.0217556 0.00329426 0.0158449 0.0240496 0.0106366 +0.022061 0.00708543 0.0209552 0.00957124 0.0102439 0.016452 0.00943987 +0.0137701 0.0165189 0.0184722 0.0335198 0.023159 0.0140537 0.0137668 +0.0249716 0.0252517 0.0222753 0.0196876 0.00917165 0.0231789 0.0223262 +0.0130253 0.0143873 0.0174217 0.0262216 0.0221904 0.00554891 0.0169622 +0.0214176 0.00636145 0.0190085 0.00084364 0.00991013 0.00538487 0.0132557 +0.034742 0.00783582 0.0329481 0.00777087 0.0132578 0.0246518 0.00381398 +0.0136186 0.0101923 0.0105305 0.0135506 0.00659576 0.00948354 0.0244682 +0.00372209 0.0144119 0.00303586 0.0193436 0.0127196 0.0248709 0.0018994 +0.0102549 0.00929058 0.0222578 0.0290115 0.0211259 0.0397477 0.0200812 +0.0044044 0.0132484 0.0407253 0.00666307 0.0303175 0.014019 0.00897817 +0.00528597 0.0267464 0.014286 0.0215917 0.0260188 0.0217563 0.00233073 +0.01223 0.0020918 0.00739707 0.00231818 0.0237471 0.0197745 0.0138808 +0.00300929 0.0166336 0.0104104 0.0131831 0.00639908 0.00556837 0.0145624 +0.00884734 0.023722 0.0139918 0.0214095 0.0136722 0.0246529 0.0212282 +0.0214965 0.0114811 0.0181338 0.0193226 0.0165735 0.0138509 0.0193118 +0.00444871 0.0119447 0.00337634 0.0148758 0.0187246 0.0244031 0.010354 +0.0146917 0.0135728 0.0135919 0.0270935 0.00721325 0.0254225 0.0171227 +0.0239136 0.00854048 0.00875449 0.0127878 0.0253363 0.0114877 0.0122164 +0.0159164 0.0182439 0.0100041 0.00461047 0.0245388 0.0189458 0.00619877 +0.0248993 0.00963699 0.0249874 0.0271515 0.0145729 0.0279523 0.027924 +0.0220959 0.0262779 0.015607 0.00716239 0.012087 0.0337037 0.00516229 +0.0170121 0.0336761 0.00650737 0.00497518 0.02043 0.0105242 0.00488026 +0.0104467 0.00818958 0.00628406 0.0211596 0.0165034 0.0182923 0.0199196 +0.0249672 0.0164662 0.0214767 0.0120562 0.0322599 0.00383154 0.00921745 +0.00146418 0.0356547 0.0103786 0.0165492 0.0304809 0.0131255 0.0167945 +0.00558382 0.0238359 0.0175395 0.00780578 0.0346175 0.00236843 0.0255091 +0.0201751 0.0108775 0.0210824 0.0209226 0.0320313 0.0437274 0.00560051 +0.0344518 0.00791858 0.0208586 0.0286015 0.0248276 0.0237304 0.0412748 +0.0120705 0.0241371 0.00511147 0.0317298 0.0139929 0.028099 0.0103861 +0.00891256 0.00822179 0.016315 0.0248265 0.0213948 0.0239172 0.0166187 +0.0310473 0.0186244 0.0166212 0.0366136 0.0136573 0.0269544 0.010431 +0.0249531 0.0120786 0.0109345 0.0123368 0.0151866 0.0357349 0.00463059 +0.0118539 0.00970646 0.00946582 0.00969734 0.00891857 0.00890028 0.0202631 +0.0215117 0.0111571 0.0250767 0.0209911 0.0198019 0.0093692 0.0131443 +0.00748891 0.024563 0.0247875 0.0230017 0.00794473 0.00888343 0.0217427 +0.0343637 0.0287685 0.00968487 0.0498302 0.0171984 0.0315536 0.00588345 +0.010743 0.0126087 0.0182915 0.00907374 0.00443379 0.0379275 0.023097 +0.0160588 0.00775962 0.0344518 0.0164484 0.0376125 0.0172285 0.0132559 +0.029612 0.0116543 0.0273187 0.023721 0.0046918 0.0172711 0.00766218 +0.0112108 0.0180092 0.0278611 0.0190289 0.0202484 0.0127141 0.0276473 +0.0169104 0.028993 0.00897726 0.00712007 0.0122292 0.00820719 0.0168334 +0.00864513 0.0127985 0.0237389 0.0120437 0.0212306 0.0304613 0.0189116 +0.0197339 0.0212744 0.0151605 0.0141882 0.0195768 0.00291933 0.0358095 +0.0293726 0.0169182 0.0103468 0.0135299 0.0266578 0.0154398 0.00245885 +0.00794718 0.0127344 0.0298125 0.00820393 0.00626316 0.0170656 0.0230811 +0.00259497 0.0173437 0.00922873 0.0205893 0.0209727 0.00431716 0.00870416 +0.00315811 0.0163018 0.0292532 0.0154488 0.0141043 0.0250745 0.00961138 +0.0142033 0.010861 0.0187522 0.0241866 0.016184 0.0184565 0.0162928 +0.011523 0.0141778 0.0157446 0.0228784 0.0380396 0.0176535 0.0102128 +0.0272628 0.0115185 0.0148983 0.0233291 0.00915212 0.0157429 0.0298723 +101.909; +#X coords 0 1 511 0 200 140 1; +#X restore 125 121 graph; +#X restore 245 43 pd mag_spectrum; +#X obj 82 162 tabsend~ mag_spectrum; +#X obj 244 15 block~ 1024; +#X obj 279 224 tabreceive~ mag_spectrum; +#X obj 58 71 noise~; +#X obj 113 70 osc~ 440; +#X obj 278 307 print~; +#X obj 453 188 loadbang; +#X obj 278 266 xtract~ subbands 1024; +#X obj 118 230 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 453 223 list 0 8 0 16; +#X connect 0 0 2 0; +#X connect 4 0 9 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 8 0 11 0; +#X connect 9 0 7 0; +#X connect 10 0 7 0; +#X connect 11 0 9 1; diff --git a/examples/puredata/subframe-test.pd b/examples/puredata/subframe-test.pd index 3a835a5..df1b0f8 100644 --- a/examples/puredata/subframe-test.pd +++ b/examples/puredata/subframe-test.pd @@ -1,42 +1,42 @@ -#N canvas 667 50 557 639 10; +#N canvas 667 51 613 639 10; #X obj 263 -160 xtract~ subframe windowed 64; -#X obj 442 -125 tabsend~ windowed; +#X obj 473 -126 tabsend~ windowed; #N canvas 0 0 450 300 (subpatch) 0; #X array windowed 64 float 5; -#A 0 0 0.00988792 0.0386044 0.0571912 0.0189603 -0.101949 -0.277669 --0.42422 -0.437499 -0.251716 0.11162 0.534831 0.846232 0.89682 0.634185 -0.135697 -0.418906 -0.823923 -0.937159 -0.739218 -0.334947 0.101471 -0.40821 0.503437 0.407727 0.215338 0.0353621 -0.0632974 -0.0748772 --0.0405181 -0.00868179 -3.27457e-15 0 0.00657018 0.0386642 0.0864644 -0.104272 0.0386758 -0.128569 -0.351139 -0.525142 -0.535095 -0.31781 -0.0907861 0.554834 0.890148 0.946246 0.679244 0.177795 -0.372091 -0.768033 --0.878652 -0.69562 -0.326984 0.0615718 0.325607 0.401064 0.317179 0.162825 -0.0298987 -0.0329445 -0.0328739 -0.0102196 -6.65005e-15; +#A 0 0 -0.00539658 -0.0365654 -0.0889249 -0.119512 -0.0710801 0.0849429 +0.314014 0.517949 0.575413 0.405857 0.0231818 -0.452978 -0.839845 -0.971146 +-0.775526 -0.314544 0.24085 0.684547 0.864859 0.746131 0.414296 0.0268876 +-0.264158 -0.377502 -0.324844 -0.185212 -0.0511399 0.0208516 0.0292007 +0.0100387 7.11504e-15 0 0.000585724 -0.0198747 -0.079146 -0.154996 +-0.187268 -0.111695 0.0928308 0.373338 0.611529 0.674151 0.482276 0.0628278 +-0.447978 -0.856285 -0.995151 -0.80163 -0.347457 0.191996 0.616082 +0.785785 0.677697 0.381243 0.044994 -0.197483 -0.283735 -0.235181 -0.126292 +-0.0330596 0.00773548 0.00706581 7.42552e-15; #X coords 0 1 63 -1 200 140 1; #X restore 46 -552 graph; #X obj 264 -125 xtract~ subframe spectrum 64; #N canvas 0 0 450 300 (subpatch) 0; #X array sf_mags1 16 float 5; -#A 0 0.00733392 0.14449 0.240482 0.109887 0.00135916 0.000113993 5.63786e-05 -7.59283e-05 7.22785e-05 6.48168e-05 5.62613e-05 5.20935e-05 4.72571e-05 -4.40774e-05 4.34346e-05 1.76297e-06; +#A 0 0.00796987 0.144169 0.24068 0.109756 0.00127541 0.000110428 0.000122432 +0.000120516 0.000102996 8.516e-05 6.88438e-05 5.77259e-05 4.7595e-05 +4.13114e-05 3.56295e-05 1.33207e-06; #X coords 0 1 15 -1 200 140 1; #X restore 261 -551 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array sf_mags2 32 float 5; -#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0077164 0.1443 0.240599 0.109809 -0.00131069 0.00011119 0.000100841 0.00010453 9.17035e-05 7.68611e-05 -6.53814e-05 5.45444e-05 4.76852e-05 4.18391e-05 4.00649e-05 1.43191e-06 +#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00902428 0.143577 0.241043 0.109515 +0.001105 0.000101461 0.000191993 0.000175226 0.000143044 0.000113519 +8.72515e-05 6.69791e-05 4.84639e-05 3.34907e-05 1.99719e-05 2.52196e-07 ; #X coords 0 1 31 -1 200 140 1; #X restore 259 -389 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array both 35 float 5; -#A 0 0.00733392 0.14449 0.240482 0.109887 0.00135916 0.000113993 5.63786e-05 -7.59283e-05 7.22785e-05 6.48168e-05 5.62613e-05 5.20935e-05 4.72571e-05 -4.40774e-05 4.34346e-05 1.76297e-06 0.0077164 0.1443 0.240599 0.109809 -0.00131069 0.00011119 0.000100841 0.00010453 9.17035e-05 7.68611e-05 -6.53814e-05 5.45444e-05 4.76852e-05 4.18391e-05 4.00649e-05 1.43191e-06 +#A 0 0.00796987 0.144169 0.24068 0.109756 0.00127541 0.000110428 0.000122432 +0.000120516 0.000102996 8.516e-05 6.88438e-05 5.77259e-05 4.7595e-05 +4.13114e-05 3.56295e-05 1.33207e-06 0.00902428 0.143577 0.241043 0.109515 +0.001105 0.000101461 0.000191993 0.000175226 0.000143044 0.000113519 +8.72515e-05 6.69791e-05 4.84639e-05 3.34907e-05 1.99719e-05 2.52196e-07 0 0 0; #X coords 0 1 34 -1 200 140 1; #X restore 46 -393 graph; @@ -52,11 +52,11 @@ #X obj 70 -10 inlet~; #X obj 70 59 a_blockswap~ 64; #X obj 69 151 a_blockswap~ 32; -#N canvas 0 0 450 300 graph4 0; +#N canvas 0 0 450 300 (subpatch) 0; #X array temp 16 float 5; -#A 0 0.0077164 0.1443 0.240599 0.109809 0.00131069 0.00011119 0.000100841 -0.00010453 9.17035e-05 7.68611e-05 6.53814e-05 5.45444e-05 4.76852e-05 -4.18391e-05 4.00649e-05 1.43191e-06; +#A 0 0.00902428 0.143577 0.241043 0.109515 0.001105 0.000101461 0.000191993 +0.000175226 0.000143044 0.000113519 8.72515e-05 6.69791e-05 4.84639e-05 +3.34907e-05 1.99719e-05 2.52196e-07; #X coords 0 1 15 -1 200 140 1; #X restore 226 -6 graph; #X connect 0 0 7 0; @@ -68,11 +68,11 @@ #X connect 9 0 4 0; #X connect 10 0 6 0; #X restore 263 -94 pd get_mags; -#N canvas 0 0 450 300 graph4 0; +#N canvas 0 0 450 300 (subpatch) 0; #X array diff 16 float 5; -#A 0 -0.000382476 0.000189289 -0.000116706 7.71508e-05 4.8466e-05 2.80288e-06 --4.44625e-05 -2.86015e-05 -1.9425e-05 -1.20443e-05 -9.12002e-06 -2.45091e-06 --4.28088e-07 2.23831e-06 3.36968e-06 3.31062e-07; +#A 0 -0.00105441 0.000592396 -0.000363603 0.000240721 0.00017041 8.96674e-06 +-6.95604e-05 -5.47096e-05 -4.00485e-05 -2.83591e-05 -1.84077e-05 -9.25315e-06 +-8.68906e-07 7.82074e-06 1.56576e-05 1.07988e-06; #X coords 0 1 15 -1 200 140 1; #X restore 46 -234 graph; #N canvas 6 433 450 300 diff 0; diff --git a/examples/puredata/tonality_from_subbands.pd b/examples/puredata/tonality_from_subbands.pd new file mode 100644 index 0000000..3665bad --- /dev/null +++ b/examples/puredata/tonality_from_subbands.pd @@ -0,0 +1,160 @@ +#N canvas 493 51 587 478 10; +#X obj 82 212 xtract~ spectrum; +#N canvas 9 75 450 300 mag_spectrum 0; +#X obj 260 64 block~ 512; +#N canvas 0 0 450 300 (subpatch) 0; +#X array mag_spectrum 512 float 3; +#A 0 0.00791511 0.00796441 0.00804782 0.00816725 0.00832556 0.00852671 +0.00877601 0.00908054 0.00944968 0.00989593 0.0104362 0.0110935 0.0119005 +0.0129037 0.0141728 0.0158165 0.0180132 0.0210785 0.0256274 0.0330392 +0.0471787 0.0845833 0.462538 0.12868 0.0556718 0.0352146 0.0256003 +0.0200227 0.0163861 0.013831 0.0119397 0.0104852 0.00933302 0.00839885 +0.00762689 0.00697887 0.00642763 0.00595337 0.00554132 0.00518025 0.00486145 +0.00457808 0.00432469 0.00409689 0.00389113 0.00370479 0.00353334 0.00337798 +0.00323515 0.00310359 0.00298209 0.00286958 0.00276511 0.00266788 0.00257719 +0.00249241 0.00241301 0.00233849 0.00226844 0.00220248 0.00214026 0.00208149 +0.00202589 0.00197323 0.00192327 0.00187583 0.00183072 0.00178779 0.00174693 +0.00170751 0.00167039 0.00163477 0.00160066 0.00156795 0.00153673 0.00150668 +0.00147784 0.00145013 0.00142347 0.00139785 0.00137317 0.00134938 0.00132645 +0.00130433 0.00128297 0.00126234 0.0012424 0.00122312 0.00120446 0.0011864 +0.00116891 0.00115197 0.00113544 0.00111958 0.00110411 0.0010891 0.00107452 +0.00106035 0.00104659 0.00103319 0.00102017 0.00100749 0.000995155 +0.000983141 0.000971438 0.000960027 0.000948909 0.000938068 0.000927495 +0.000917176 0.000907107 0.000897275 0.000887676 0.000878296 0.000869136 +0.000860182 0.000851426 0.000842866 0.000834491 0.0008263 0.000818288 +0.000810442 0.000802759 0.000795238 0.000787864 0.00078067 0.000773593 +0.000766665 0.000759872 0.000753206 0.000746684 0.000740281 0.000733997 +0.000727835 0.000721787 0.00071585 0.000710022 0.000704302 0.000698687 +0.000693163 0.000687744 0.00068242 0.000677189 0.000672046 0.000666989 +0.000662008 0.000657152 0.000652346 0.000647625 0.000642983 0.00063827 +0.000633902 0.00062948 0.00062513 0.000620847 0.00061663 0.00061248 +0.000608394 0.000604371 0.00060041 0.000596508 0.000592662 0.000588881 +0.000585149 0.000581476 0.000577854 0.000574287 0.000570768 0.0005673 +0.000563885 0.000560517 0.000557198 0.000553921 0.000550691 0.000547506 +0.000544363 0.00054127 0.000538212 0.000535196 0.000532221 0.000529285 +0.000526391 0.000523531 0.000520713 0.00051793 0.000515163 0.00051246 +0.000509783 0.00050714 0.000504528 0.000501949 0.000499401 0.000496887 +0.000494399 0.000491941 0.000489499 0.000486984 0.000484886 0.00048249 +0.000480167 0.000477879 0.00047517 0.000473408 0.000471204 0.000469028 +0.000466878 0.000464756 0.000462657 0.000460551 0.000458529 0.000456502 +0.000454496 0.000452516 0.000450556 0.000448618 0.000446703 0.000444806 +0.000442933 0.000441081 0.000439249 0.000437435 0.000435644 0.000433869 +0.000432115 0.00043038 0.000428663 0.000426967 0.000425283 0.000423621 +0.000421977 0.000420346 0.000418718 0.000417151 0.000415575 0.000414008 +0.000412461 0.000410933 0.000409421 0.000407924 0.000406438 0.00040497 +0.000403515 0.000402073 0.000400648 0.000399229 0.000397818 0.000396404 +0.000394843 0.000394005 0.000392514 0.000391154 0.000389825 0.000388485 +0.00038723 0.000385942 0.000384692 0.000383438 0.000382193 0.000380966 +0.000379752 0.000378546 0.000377355 0.000376173 0.000375004 0.000373846 +0.000372698 0.000371564 0.000370438 0.000369319 0.000368222 0.000367128 +0.000366044 0.00036497 0.000363896 0.000362854 0.000361811 0.000360777 +0.000359753 0.000358738 0.000357735 0.000356738 0.000355751 0.000354775 +0.000353804 0.000352844 0.000351894 0.000350951 0.000350019 0.000349093 +0.000348178 0.000347267 0.000346367 0.000345476 0.000344592 0.000343716 +0.000342849 0.000341989 0.000341133 0.000340284 0.000339464 0.000338628 +0.000337809 0.000336992 0.000336174 0.000335386 0.000334592 0.000333804 +0.000333026 0.000332255 0.000331489 0.000330732 0.000329979 0.000329234 +0.000328496 0.000327764 0.000327041 0.000326322 0.000325609 0.000324903 +0.000324195 0.000323522 0.000322828 0.000322148 0.000321469 0.000320755 +0.000320146 0.000319485 0.000318837 0.000318193 0.000317549 0.000316917 +0.000316288 0.000315666 0.000315051 0.000314437 0.000313833 0.000313232 +0.000312637 0.000312049 0.000311464 0.000310884 0.000310312 0.000309744 +0.000309181 0.000308621 0.000308068 0.00030752 0.000306974 0.00030644 +0.000305907 0.000305374 0.000304852 0.000304332 0.000303818 0.00030331 +0.000302803 0.000302303 0.000301806 0.000301317 0.000300826 0.000300345 +0.000299868 0.000299394 0.000298923 0.000298458 0.000297995 0.000297538 +0.000297083 0.000296631 0.000296177 0.000295711 0.000295329 0.000294857 +0.000294385 0.000293858 0.00029202 0.00029358 0.000292995 0.000292537 +0.000292112 0.000291698 0.000291297 0.000290902 0.00029051 0.000290124 +0.000289743 0.000289366 0.000288996 0.000288627 0.000288263 0.0002879 +0.000287544 0.000287195 0.000286843 0.000286509 0.000286161 0.000285818 +0.000285489 0.000285158 0.000284832 0.000284511 0.000284184 0.000283871 +0.000283558 0.00028325 0.000282946 0.000282636 0.000282341 0.000282046 +0.000281753 0.000281465 0.000281177 0.000280893 0.000280613 0.000280336 +0.000280061 0.000279788 0.000279522 0.000279243 0.000278967 0.000278676 +0.000278261 0.000278674 0.000278138 0.000277848 0.000277583 0.000277294 +0.000277122 0.000276878 0.000276643 0.000276415 0.000276191 0.000275971 +0.000275756 0.00027554 0.000275331 0.000275124 0.000274919 0.000274721 +0.000274521 0.000274329 0.000274132 0.00027394 0.000273764 0.00027358 +0.000273397 0.000273221 0.000273038 0.000272878 0.000272708 0.000272543 +0.000272381 0.000272217 0.000272063 0.000271911 0.000271758 0.00027161 +0.000271463 0.00027132 0.000271182 0.000271044 0.00027091 0.000270778 +0.000270653 0.000270522 0.0002704 0.000270284 0.000270164 0.000270048 +0.000269937 0.00026983 0.000269723 0.00026963 0.000269475 0.000269405 +0.000269311 0.00026922 0.000269133 0.000269041 0.000268957 0.000268874 +0.000268794 0.000268718 0.000268642 0.00026857 0.000268503 0.000268438 +0.000268366 0.000268309 0.000268254 0.000268193 0.000268139 0.000268089 +0.000268038 0.000268001 0.000267953 0.000267913 0.000267873 0.000267822 +0.000267814 0.000267781 0.000267753 0.000267727 0.000267703 0.000267684 +0.000267668 0.000267654 0.000267642 0.000267632 0.000267626 0.000267624 +0.0751003; +#X coords 0 1 511 0 200 140 1; +#X restore 125 121 graph; +#X restore 245 43 pd mag_spectrum; +#X obj 82 247 tabsend~ mag_spectrum; +#X obj 244 15 block~ 1024; +#X obj 82 46 noise~; +#N canvas 9 100 450 653 tonality 0; +#N canvas 0 0 450 300 (subpatch) 0; +#X array subbands 8 float 5; +#A 0 0.459222 0.00349705 0.00161501 0.00109469 0.000855802 0.000726442 +0.000653362 0; +#X coords 0 1 7 -1 200 140 1; +#X restore 35 -128 graph; +#X obj 60 73 tabreceive~ subbands; +#X obj 366 -129 block~ 8; +#X obj 61 127 xtract~ flatness 8; +#X msg 173 200 list \$1; +#X obj 30 227 xtract~ flatness_db 8; +#X obj 35 283 xtract~ tonality 8; +#X msg 156 257 list \$1; +#X obj 37 353 outlet; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 1; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 6 1; +#X restore 282 354 pd tonality; +#X floatatom 282 414 5 0 0 0 - - -; +#X obj 82 186 *~ 0; +#X obj 122 186 *~ 0; +#X obj 144 120 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 12700 1; +#N canvas 3 50 450 300 xfade 0; +#X obj 183 139 -; +#X obj 183 170 outlet; +#X obj 183 30 inlet; +#X obj 272 175 outlet; +#X obj 183 87 t a a; +#X msg 183 116 1 \$1; +#X obj 183 58 / 127; +#X connect 0 0 1 0; +#X connect 2 0 6 0; +#X connect 4 0 5 0; +#X connect 4 1 3 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X restore 141 145 pd xfade; +#N canvas 262 411 450 300 subbands 0; +#X obj 89 114 tabreceive~ mag_spectrum; +#X obj 263 78 loadbang; +#X obj 88 197 tabsend~ subbands; +#X obj 362 28 block~ 512; +#X obj 88 156 xtract~ subbands 512; +#X msg 263 113 list 35 8 1 0; +#X connect 0 0 4 0; +#X connect 1 0 5 0; +#X connect 4 0 2 0; +#X connect 5 0 4 1; +#X restore 84 297 pd subbands; +#X obj 122 77 osc~ 1000; +#X connect 0 0 2 0; +#X connect 4 0 7 0; +#X connect 5 0 6 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 10 0; +#X connect 10 0 7 1; +#X connect 10 1 8 1; +#X connect 12 0 8 0; diff --git a/examples/puredata/xtract~.c b/examples/puredata/xtract~.c index 69595fe..5059a76 100644 --- a/examples/puredata/xtract~.c +++ b/examples/puredata/xtract~.c @@ -50,6 +50,7 @@ typedef struct _xtract { t_int feature, is_scalar, is_subframe, + argv_type, init_blocksize, done_init; t_symbol *feature_name; @@ -123,11 +124,13 @@ static t_int *xtract_perform_vector(t_int *w) { static void xtract_dsp(t_xtract_tilde *x, t_signal **sp) { - if(!x->is_scalar) + if(!x->is_scalar){ dsp_add(xtract_perform_vector, 4, sp[0]->s_vec, sp[1]->s_vec, x, sp[0]->s_n); + } - else dsp_add(xtract_perform, 3, sp[0]->s_vec, x, sp[0]->s_n); + else + dsp_add(xtract_perform, 3, sp[0]->s_vec, x, sp[0]->s_n); } @@ -155,6 +158,7 @@ static void *xtract_new(t_symbol *me, t_int argc, t_atom *argv) { N = BLOCKSIZE; x->argv = NULL; + x->argv_type = 0; x->done_init = 0; x->is_scalar = 0; x->is_subframe = 0; @@ -203,6 +207,8 @@ static void *xtract_new(t_symbol *me, t_int argc, t_atom *argv) { n_args = fd[f].argc; type = fd[f].argv.type; + x->argv_type = type; + if(n_args){ for(n = 0; n < n_args; n++){ argv_max = &fd[f].argv.max[n]; @@ -335,8 +341,17 @@ t_int argc, t_atom *argv) { x->argv = getbytes(argc * sizeof(float)); - while(argc--) - ((t_float *)x->argv)[argc] = atom_getfloat(&argv[argc]); + while(argc--){ + switch(x->argv_type){ + case XTRACT_INT: + ((t_int *)x->argv)[argc] = (int)atom_getfloat(&argv[argc]); + break; + case XTRACT_FLOAT: + default: + ((t_float *)x->argv)[argc] = atom_getfloat(&argv[argc]); + break; + } + } /* }*/ } |