annotate examples/puredata/xtract/mfcc.pd @ 64:b2a098a96e1d

Modified autogen.sh so that it copies needed files rather than creating symlinks
author Jamie Bullock <jamie@postlude.co.uk>
date Mon, 12 Mar 2007 19:13:02 +0000
parents 1222cd753029
children
rev   line source
jamie@62 1 #N canvas 737 25 578 583 10;
jamie@62 2 #N canvas 116 214 598 221 guts 0;
jamie@25 3 #X obj 318 37 loadbang;
jamie@25 4 #X obj 318 64 f \$0;
jamie@25 5 #N canvas 0 0 450 300 dacs 0;
jamie@25 6 #X obj 164 152 a_output~;
jamie@25 7 #X msg 251 100 0;
jamie@25 8 #X obj 249 59 r \$0-master-lvl-stereo;
jamie@25 9 #X obj 251 81 r \$0-master-lvl-mute;
jamie@25 10 #X obj 251 120 s \$0-master-lvl-stereo;
jamie@25 11 #X obj 174 110 inlet~;
jamie@25 12 #X connect 1 0 0 2;
jamie@25 13 #X connect 1 0 4 0;
jamie@25 14 #X connect 2 0 0 2;
jamie@25 15 #X connect 3 0 1 0;
jamie@25 16 #X connect 5 0 0 0;
jamie@25 17 #X connect 5 0 0 1;
jamie@25 18 #X restore 85 126 pd dacs;
jamie@25 19 #X obj 16 24 r \$0-fund;
jamie@25 20 #X msg 318 88 \; pd dsp 1 \; \$1-master-lvl-stereo 60 \; \$1-window-gen
jamie@25 21 bang \; \$1-mfcc xticks 0 5 5 \; \$1-mfcc yticks 0 50 1 \; \$1-mfcc
jamie@25 22 xlabel -120 0 5 10 15 20;
jamie@25 23 #N canvas 308 141 679 510 paf 0;
jamie@25 24 #X obj 331 95 / 10;
jamie@25 25 #X obj 331 120 pack 0 50;
jamie@25 26 #X obj 139 412 fexpr~ $x1 * $x2;
jamie@25 27 #X obj 241 188 cos~;
jamie@25 28 #X obj 241 166 expr~ ($v1 * 0.5) - 0.25;
jamie@25 29 #X obj 380 197 *~ 256;
jamie@25 30 #X obj 462 209 line~;
jamie@25 31 #X obj 462 189 pack 0 50;
jamie@25 32 #X obj 289 194 *~;
jamie@25 33 #X obj 282 216 +~ 256;
jamie@25 34 #X obj 118 328 cos~;
jamie@25 35 #X obj 118 305 *~;
jamie@25 36 #X obj 161 328 cos~;
jamie@25 37 #X obj 161 305 +~;
jamie@25 38 #X obj 154 358 -~;
jamie@25 39 #X obj 174 390 *~;
jamie@25 40 #X obj 136 390 +~;
jamie@25 41 #X obj 230 291 wrap~;
jamie@25 42 #X obj 199 291 -~;
jamie@25 43 #X obj 199 259 samphold~;
jamie@25 44 #X obj 331 142 line~;
jamie@25 45 #X obj 138 438 outlet~;
jamie@25 46 #X obj 462 167 inlet bandwidth;
jamie@25 47 #X obj 47 121 phasor~;
jamie@25 48 #X obj 48 100 line~;
jamie@25 49 #X msg 47 78 \$1 20;
jamie@25 50 #X obj 48 57 inlet fund;
jamie@25 51 #X obj 331 73 inlet cf;
jamie@25 52 #X obj 282 316 tabread4~ \$0-hann;
jamie@25 53 #X obj 466 426 table \$0-hann;
jamie@27 54 #N canvas 0 0 450 300 hann 0;
jamie@27 55 #X obj 136 98 samplerate~;
jamie@27 56 #X obj 139 166 phasor~;
jamie@27 57 #X msg 225 96 0;
jamie@27 58 #X obj 139 195 expr~ 0.5 - cos($v1 * 6.28) * 0.5;
jamie@27 59 #X obj 114 51 t b b b b;
jamie@27 60 #X obj 114 23 inlet;
jamie@27 61 #X obj 261 117 s \$0-hann;
jamie@27 62 #X obj 139 220 tabwrite~ \$0-hann;
jamie@27 63 #X msg 259 93 resize 512;
jamie@27 64 #X obj 136 120 /~ 512;
jamie@27 65 #X connect 0 0 9 0;
jamie@27 66 #X connect 1 0 3 0;
jamie@27 67 #X connect 2 0 1 1;
jamie@27 68 #X connect 3 0 7 0;
jamie@27 69 #X connect 4 0 7 0;
jamie@27 70 #X connect 4 1 2 0;
jamie@27 71 #X connect 4 2 0 0;
jamie@27 72 #X connect 4 3 8 0;
jamie@27 73 #X connect 5 0 4 0;
jamie@27 74 #X connect 8 0 6 0;
jamie@27 75 #X connect 9 0 1 0;
jamie@27 76 #X restore 466 390 pd hann;
jamie@27 77 #X obj 466 362 r \$0-window-gen;
jamie@25 78 #X connect 0 0 1 0;
jamie@25 79 #X connect 1 0 20 0;
jamie@25 80 #X connect 2 0 21 0;
jamie@25 81 #X connect 3 0 8 0;
jamie@25 82 #X connect 4 0 3 0;
jamie@25 83 #X connect 5 0 8 1;
jamie@25 84 #X connect 6 0 5 0;
jamie@25 85 #X connect 7 0 6 0;
jamie@25 86 #X connect 8 0 9 0;
jamie@25 87 #X connect 9 0 28 0;
jamie@25 88 #X connect 10 0 14 1;
jamie@25 89 #X connect 10 0 16 0;
jamie@25 90 #X connect 11 0 13 0;
jamie@25 91 #X connect 11 0 10 0;
jamie@25 92 #X connect 12 0 14 0;
jamie@25 93 #X connect 13 0 12 0;
jamie@25 94 #X connect 14 0 15 0;
jamie@25 95 #X connect 15 0 16 1;
jamie@25 96 #X connect 16 0 2 0;
jamie@25 97 #X connect 17 0 18 1;
jamie@25 98 #X connect 17 0 15 1;
jamie@25 99 #X connect 18 0 11 1;
jamie@25 100 #X connect 19 0 18 0;
jamie@25 101 #X connect 19 0 17 0;
jamie@25 102 #X connect 20 0 19 0;
jamie@25 103 #X connect 22 0 7 0;
jamie@25 104 #X connect 23 0 19 1;
jamie@25 105 #X connect 23 0 13 1;
jamie@25 106 #X connect 23 0 11 0;
jamie@25 107 #X connect 23 0 4 0;
jamie@25 108 #X connect 24 0 23 0;
jamie@25 109 #X connect 25 0 24 0;
jamie@25 110 #X connect 26 0 25 0;
jamie@25 111 #X connect 27 0 0 0;
jamie@25 112 #X connect 28 0 2 1;
jamie@27 113 #X connect 31 0 30 0;
jamie@25 114 #X restore 35 80 pd paf;
jamie@25 115 #X obj 85 25 r \$0-cf;
jamie@25 116 #X obj 140 23 r \$0-bw;
jamie@62 117 #X obj 145 127 r \$0-window-gen;
jamie@62 118 #X obj 145 148 a_hann 1024;
jamie@62 119 #N canvas 34 54 723 391 spectrum 0;
jamie@62 120 #X obj 194 153 *~;
jamie@62 121 #X obj 181 69 inlet~;
jamie@62 122 #X obj 252 68 inlet~;
jamie@62 123 #X obj 195 176 xtract~ spectrum;
jamie@62 124 #N canvas 0 0 450 300 mag_spectrum 0;
jamie@62 125 #X obj 260 64 block~ 512;
jamie@62 126 #N canvas 0 0 450 300 (subpatch) 0;
jamie@62 127 #X array mag_spectrum 512 float 3;
jamie@62 128 #A 0 0.0347679 0.0238386 0.0342933 0.0362505 0.0295941 0.0500627 0.0356107
jamie@62 129 0.0419818 0.0507073 0.0290984 0.0416723 0.0321575 0.0192698 0.0252058
jamie@62 130 0.0116167 0.00836482 0.00784646 0.00138145 0.00132721 0.000381971 0.000573959
jamie@62 131 0.000406984 0.000280216 0.000179901 0.000186049 0.000268997 0.000263714
jamie@62 132 0.000155282 0.000139129 0.000167519 0.000124361 0.000180699 0.000142076
jamie@62 133 0.000144225 0.000119736 0.000148186 0.000111046 0.000121504 0.000107089
jamie@62 134 0.000121003 9.47739e-05 0.000125579 0.000100434 0.000104701 9.41711e-05
jamie@62 135 0.000104671 8.29275e-05 9.69602e-05 8.842e-05 9.28634e-05 8.08756e-05
jamie@62 136 9.55736e-05 7.85888e-05 8.25423e-05 7.83809e-05 8.18489e-05 7.07095e-05
jamie@62 137 8.02309e-05 7.42804e-05 7.48963e-05 6.96933e-05 7.65881e-05 6.52446e-05
jamie@62 138 6.90523e-05 6.72559e-05 6.77385e-05 6.22041e-05 6.80202e-05 6.33565e-05
jamie@62 139 6.27514e-05 6.09007e-05 6.3778e-05 5.64576e-05 5.99506e-05 5.87628e-05
jamie@62 140 5.80413e-05 5.54242e-05 5.86565e-05 5.49603e-05 5.42429e-05 5.4014e-05
jamie@62 141 5.47262e-05 5.03136e-05 5.31452e-05 5.20179e-05 5.08749e-05 4.98008e-05
jamie@62 142 5.13611e-05 4.85163e-05 4.80735e-05 4.85478e-05 4.80833e-05 4.56452e-05
jamie@62 143 4.77271e-05 4.64662e-05 4.53934e-05 4.50956e-05 4.56013e-05 4.35624e-05
jamie@62 144 4.34772e-05 4.40007e-05 4.30346e-05 4.18994e-05 4.31475e-05 4.18919e-05
jamie@62 145 4.11025e-05 4.11284e-05 4.10175e-05 3.97421e-05 3.98145e-05 4.01797e-05
jamie@62 146 3.90583e-05 3.87068e-05 3.92256e-05 3.81535e-05 3.76564e-05 3.77768e-05
jamie@62 147 3.73499e-05 3.66974e-05 3.67557e-05 3.68833e-05 3.58508e-05 3.59041e-05
jamie@62 148 3.58715e-05 3.51094e-05 3.48463e-05 3.49077e-05 3.43984e-05 3.41789e-05
jamie@62 149 3.40861e-05 3.40455e-05 3.32054e-05 3.34367e-05 3.30168e-05 3.26526e-05
jamie@62 150 3.24827e-05 3.24396e-05 3.19881e-05 3.19942e-05 3.17211e-05 3.16122e-05
jamie@62 151 3.10021e-05 3.12408e-05 3.06344e-05 3.06429e-05 3.04321e-05 3.03029e-05
jamie@62 152 2.99668e-05 3.00742e-05 2.95874e-05 2.95749e-05 2.91166e-05 2.92872e-05
jamie@62 153 2.87315e-05 2.88123e-05 2.86934e-05 2.84017e-05 2.82494e-05 2.83481e-05
jamie@62 154 2.76694e-05 2.7905e-05 2.74856e-05 2.7595e-05 2.70659e-05 2.73785e-05
jamie@62 155 2.70175e-05 2.68042e-05 2.67559e-05 2.67275e-05 2.61115e-05 2.64444e-05
jamie@62 156 2.60253e-05 2.6143e-05 2.56633e-05 2.59967e-05 2.55765e-05 2.54011e-05
jamie@62 157 2.54205e-05 2.52767e-05 2.48309e-05 2.51035e-05 2.48111e-05 2.47337e-05
jamie@62 158 2.44776e-05 2.47857e-05 2.41466e-05 2.42557e-05 2.41419e-05 2.40363e-05
jamie@62 159 2.36974e-05 2.39439e-05 2.36521e-05 2.35678e-05 2.34062e-05 2.3597e-05
jamie@62 160 2.29854e-05 2.32039e-05 2.30333e-05 2.29341e-05 2.27001e-05 2.29057e-05
jamie@62 161 2.25917e-05 2.25413e-05 2.24169e-05 2.25144e-05 2.1993e-05 2.22539e-05
jamie@62 162 2.20491e-05 2.19648e-05 2.18146e-05 2.19472e-05 2.16342e-05 2.16211e-05
jamie@62 163 2.15227e-05 2.15229e-05 2.11552e-05 2.13981e-05 2.1145e-05 2.11307e-05
jamie@62 164 2.10028e-05 2.10558e-05 2.07771e-05 2.08104e-05 2.06922e-05 2.06572e-05
jamie@62 165 2.0421e-05 2.06044e-05 2.03378e-05 2.03852e-05 2.0236e-05 2.02428e-05
jamie@62 166 2.00298e-05 2.00682e-05 1.99341e-05 1.99055e-05 1.9766e-05 1.98595e-05
jamie@62 167 1.96149e-05 1.9708e-05 1.95175e-05 1.951e-05 1.93652e-05 1.93882e-05
jamie@62 168 1.9253e-05 1.92475e-05 1.91492e-05 1.91725e-05 1.89653e-05 1.90797e-05
jamie@62 169 1.88526e-05 1.88553e-05 1.87737e-05 1.87674e-05 1.86322e-05 1.86603e-05
jamie@62 170 1.85738e-05 1.8523e-05 1.84042e-05 1.84821e-05 1.82465e-05 1.82856e-05
jamie@62 171 1.82333e-05 1.81908e-05 1.80772e-05 1.81247e-05 1.80205e-05 1.79422e-05
jamie@62 172 1.78919e-05 1.79356e-05 1.76952e-05 1.77907e-05 1.77256e-05 1.76545e-05
jamie@62 173 1.75951e-05 1.76011e-05 1.75059e-05 1.74307e-05 1.74315e-05 1.73783e-05
jamie@62 174 1.72885e-05 1.72999e-05 1.72644e-05 1.71807e-05 1.71397e-05 1.71261e-05
jamie@62 175 1.70455e-05 1.6948e-05 1.70073e-05 1.6948e-05 1.6794e-05 1.69151e-05
jamie@62 176 1.68262e-05 1.6732e-05 1.67057e-05 1.67527e-05 1.65599e-05 1.65856e-05
jamie@62 177 1.65865e-05 1.65142e-05 1.64285e-05 1.65163e-05 1.63755e-05 1.63693e-05
jamie@62 178 1.63267e-05 1.62936e-05 1.62273e-05 1.6209e-05 1.62148e-05 1.61265e-05
jamie@62 179 1.61024e-05 1.61131e-05 1.60167e-05 1.60016e-05 1.59628e-05 1.59332e-05
jamie@62 180 1.58903e-05 1.58553e-05 1.58772e-05 1.57569e-05 1.57924e-05 1.57572e-05
jamie@62 181 1.56537e-05 1.56966e-05 1.56074e-05 1.56212e-05 1.55779e-05 1.5539e-05
jamie@62 182 1.55494e-05 1.5449e-05 1.5495e-05 1.54081e-05 1.53711e-05 1.53932e-05
jamie@62 183 1.52964e-05 1.53376e-05 1.52897e-05 1.52396e-05 1.52538e-05 1.51629e-05
jamie@62 184 1.52182e-05 1.50957e-05 1.51177e-05 1.51097e-05 1.50368e-05 1.50477e-05
jamie@62 185 1.50399e-05 1.49629e-05 1.49619e-05 1.4934e-05 1.49109e-05 1.48107e-05
jamie@62 186 1.49298e-05 1.48269e-05 1.47474e-05 1.48734e-05 1.47248e-05 1.47904e-05
jamie@62 187 1.46943e-05 1.47132e-05 1.46267e-05 1.47303e-05 1.44649e-05 1.46803e-05
jamie@62 188 1.45807e-05 1.45165e-05 1.45321e-05 1.45863e-05 1.44389e-05 1.44883e-05
jamie@62 189 1.45138e-05 1.43366e-05 1.45488e-05 1.42999e-05 1.43532e-05 1.43481e-05
jamie@62 190 1.44012e-05 1.40856e-05 1.4473e-05 1.42298e-05 1.42492e-05 1.42315e-05
jamie@62 191 1.43224e-05 1.40978e-05 1.42317e-05 1.41411e-05 1.41222e-05 1.41452e-05
jamie@62 192 1.40687e-05 1.4097e-05 1.40772e-05 1.40533e-05 1.4062e-05 1.39999e-05
jamie@62 193 1.40167e-05 1.39786e-05 1.39683e-05 1.39479e-05 1.39503e-05 1.39196e-05
jamie@62 194 1.39185e-05 1.3891e-05 1.38968e-05 1.38385e-05 1.38591e-05 1.38226e-05
jamie@62 195 1.3823e-05 1.37987e-05 1.38058e-05 1.37687e-05 1.37731e-05 1.37467e-05
jamie@62 196 1.3741e-05 1.37012e-05 1.37238e-05 1.36772e-05 1.36989e-05 1.36648e-05
jamie@62 197 1.36677e-05 1.36383e-05 1.36465e-05 1.36082e-05 1.36107e-05 1.35828e-05
jamie@62 198 1.36001e-05 1.35517e-05 1.35862e-05 1.35436e-05 1.3545e-05 1.35258e-05
jamie@62 199 1.35259e-05 1.34894e-05 1.35036e-05 1.34777e-05 1.34856e-05 1.34502e-05
jamie@62 200 1.34863e-05 1.34282e-05 1.34469e-05 1.34125e-05 1.34237e-05 1.34026e-05
jamie@62 201 1.33887e-05 1.34055e-05 1.33624e-05 1.33684e-05 1.34108e-05 1.32959e-05
jamie@62 202 1.33875e-05 1.32811e-05 1.33619e-05 1.33219e-05 1.3276e-05 1.33497e-05
jamie@62 203 1.32483e-05 1.33257e-05 1.3305e-05 1.32275e-05 1.33069e-05 1.32249e-05
jamie@62 204 1.32866e-05 1.32339e-05 1.32487e-05 1.3251e-05 1.32172e-05 1.32353e-05
jamie@62 205 1.323e-05 1.31875e-05 1.32223e-05 1.319e-05 1.32038e-05 1.31846e-05
jamie@62 206 1.31983e-05 1.31761e-05 1.31802e-05 1.31635e-05 1.31737e-05 1.31439e-05
jamie@62 207 1.31682e-05 1.31427e-05 1.31617e-05 1.31332e-05 1.31547e-05 1.3133e-05
jamie@62 208 1.31335e-05 1.31252e-05 1.31203e-05 1.31178e-05 1.313e-05 1.31048e-05
jamie@62 209 1.31309e-05 1.30961e-05 1.31287e-05 1.30943e-05 1.31076e-05 1.3093e-05
jamie@62 210 1.30996e-05 1.30943e-05 1.3103e-05 1.30871e-05 1.31077e-05 1.30727e-05
jamie@62 211 1.31072e-05 1.30737e-05 1.3094e-05 1.30748e-05 1.30877e-05 1.30874e-05
jamie@62 212 1.30868e-05 1.30789e-05 1.30949e-05 1.30709e-05 1.30856e-05;
jamie@62 213 #X coords 0 1 511 0 200 140 1;
jamie@62 214 #X restore 125 121 graph;
jamie@62 215 #X restore 358 92 pd mag_spectrum;
jamie@62 216 #X obj 195 211 tabsend~ mag_spectrum;
jamie@62 217 #X obj 357 64 block~ 1024;
jamie@62 218 #X obj 197 301 xtract~ mfcc;
jamie@62 219 #X obj 196 274 tabreceive~ mag_spectrum;
jamie@62 220 #X obj 197 333 tabsend~ \$0-mfcc;
jamie@62 221 #X connect 0 0 3 0;
jamie@62 222 #X connect 1 0 0 0;
jamie@62 223 #X connect 2 0 0 1;
jamie@62 224 #X connect 3 0 5 0;
jamie@62 225 #X connect 7 0 9 0;
jamie@62 226 #X connect 8 0 7 0;
jamie@62 227 #X restore 32 167 pd spectrum;
jamie@25 228 #X connect 0 0 1 0;
jamie@62 229 #X connect 1 0 4 0;
jamie@62 230 #X connect 3 0 5 0;
jamie@62 231 #X connect 5 0 2 0;
jamie@62 232 #X connect 5 0 10 0;
jamie@62 233 #X connect 6 0 5 1;
jamie@62 234 #X connect 7 0 5 2;
jamie@62 235 #X connect 8 0 9 0;
jamie@62 236 #X connect 9 0 10 1;
jamie@25 237 #X restore 516 -222 pd guts;
jamie@25 238 #X obj 6 -225 cnv 15 500 200 empty empty MFCC 20 12 0 14 -261681 -66577
jamie@25 239 0;
jamie@25 240 #X obj 184 -202 cnv 15 250 150 empty empty empty 20 12 0 14 -262131
jamie@25 241 -66577 0;
jamie@25 242 #X obj 465 -187 vsl 10 100 0 127 0 0 \$0-master-lvl-stereo \$0-master-lvl-stereo
jamie@62 243 out -4 -8 0 8 -262131 -1 -1 0 1;
jamie@25 244 #X obj 465 -77 bng 10 250 50 0 \$0-master-lvl-mute empty mute -6 16
jamie@25 245 0 8 -262131 -1 -1;
jamie@27 246 #X obj 32 -114 hsl 128 15 20 150 0 0 \$0-cf empty centre_frequency
jamie@62 247 -2 -6 0 8 -225271 -1 -1 700 1;
jamie@25 248 #X obj 33 -153 hsl 128 15 80 2000 0 0 \$0-fund empty fundamental -2
jamie@62 249 -6 0 8 -225271 -1 -1 200 1;
jamie@25 250 #X text 19 7 Notes:;
jamie@25 251 #X text 20 87 [xtract~ mfcc] outputs a series 20 Mel-Frequency Cepstral
jamie@25 252 Coefficients. When it is instantiated \, an initialisation function
jamie@25 253 creates a bank of 20 mel-spaced filters \, between 80Hz and 1800Hz
jamie@25 254 on a linear scale. All filters have the same gain;
jamie@25 255 #X text 23 255 With LibXtract it is possible to change the number of
jamie@25 256 Mel filters as well as the range of frequencies over which they operate
jamie@25 257 \, and the filter scaling (equal area/equal gain). With this PD example
jamie@25 258 \, sensible defaults have been chosen to improve usability;
jamie@62 259 #N canvas 0 0 450 300 (subpatch) 0;
jamie@62 260 #X array \$0-mfcc 20 float 1;
jamie@62 261 #A 0 -226.816 39.0179 27.0649 13.3895 3.18296 -4.35309 -6.98078 -6.73432
jamie@62 262 -4.09373 -1.24401 0.693745 0.961352 0.393719 -0.854615 -1.49734 -1.75847
jamie@62 263 -1.32051 -0.652124 0.00802549 0.234184;
jamie@62 264 #X coords 0 50 19 -500 200 100 1;
jamie@25 265 #X restore 212 -178 graph;
jamie@25 266 #X text 28 -188 PAF synthesiser;
jamie@27 267 #X obj 34 -71 hsl 128 15 1 10 0 0 \$0-bw empty formant_bandwidth -2
jamie@62 268 -6 0 8 -225271 -1 -1 600 1;
jamie@62 269 #X text 20 36 In this patch [xtract~ spectrum] is first used to extract
jamie@62 270 the magnitude spectrum from an audio signal in overlapping blocks of
jamie@62 271 1024 samples.;
jamie@62 272 #X text 23 165 Whilst DSP is running the input vector (magnitude spectrum)
jamie@62 273 is filtered by this filterbank \, and the total energy output from
jamie@62 274 each filter is appended to a new vector. This new vector (mel-filtered
jamie@62 275 spectrum) is then subjected to a fast cosine transform. The output
jamie@62 276 can be visualised in the graph labelled \$0-mfcc.;