aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJamie Bullock <jamie@postlude.co.uk>2008-02-16 20:13:05 +0000
committerJamie Bullock <jamie@postlude.co.uk>2008-02-16 20:13:05 +0000
commit398afce1d37bad97d50a20aa5406a4dc6327912d (patch)
tree6b4bbeeaadc14e1e4ef3567565aae7023a6c2161 /examples
parent26fa6beab516a699ead017f4a2d68b1d861b9561 (diff)
downloadLibXtract-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.pd102
-rw-r--r--examples/puredata/subframe-test.pd60
-rw-r--r--examples/puredata/tonality_from_subbands.pd160
-rw-r--r--examples/puredata/xtract~.c23
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;
+ }
+ }
/* }*/
}