aboutsummaryrefslogtreecommitdiff
path: root/examples/puredata/xtract/mfcc.pd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/puredata/xtract/mfcc.pd')
-rw-r--r--examples/puredata/xtract/mfcc.pd181
1 files changed, 139 insertions, 42 deletions
diff --git a/examples/puredata/xtract/mfcc.pd b/examples/puredata/xtract/mfcc.pd
index 7721a77..2310c7f 100644
--- a/examples/puredata/xtract/mfcc.pd
+++ b/examples/puredata/xtract/mfcc.pd
@@ -1,5 +1,5 @@
-#N canvas 667 28 576 568 10;
-#N canvas 397 309 590 228 guts 0;
+#N canvas 737 25 578 583 10;
+#N canvas 116 214 598 221 guts 0;
#X obj 318 37 loadbang;
#X obj 318 64 f \$0;
#N canvas 0 0 450 300 dacs 0;
@@ -16,22 +16,6 @@
#X connect 5 0 0 0;
#X connect 5 0 0 1;
#X restore 85 126 pd dacs;
-#N canvas 0 0 450 300 analysis 0;
-#X obj 191 201 xtract~ mfcc;
-#X obj 195 176 xtract~ magnitude_spectrum;
-#X obj 194 153 *~;
-#X obj 219 104 r \$0-window-gen;
-#X obj 190 225 tabsend~ \$0-mfcc;
-#X obj 181 69 inlet~;
-#X obj 299 45 block~ 1024 2 1;
-#X obj 219 125 a_hann 1024;
-#X connect 0 0 4 0;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 5 0 2 0;
-#X connect 7 0 2 1;
-#X restore 32 167 pd analysis;
#X obj 16 24 r \$0-fund;
#X msg 318 88 \; pd dsp 1 \; \$1-master-lvl-stereo 60 \; \$1-window-gen
bang \; \$1-mfcc xticks 0 5 5 \; \$1-mfcc yticks 0 50 1 \; \$1-mfcc
@@ -130,50 +114,163 @@ xlabel -120 0 5 10 15 20;
#X restore 35 80 pd paf;
#X obj 85 25 r \$0-cf;
#X obj 140 23 r \$0-bw;
+#X obj 145 127 r \$0-window-gen;
+#X obj 145 148 a_hann 1024;
+#N canvas 34 54 723 391 spectrum 0;
+#X obj 194 153 *~;
+#X obj 181 69 inlet~;
+#X obj 252 68 inlet~;
+#X obj 195 176 xtract~ spectrum;
+#N canvas 0 0 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.0347679 0.0238386 0.0342933 0.0362505 0.0295941 0.0500627 0.0356107
+0.0419818 0.0507073 0.0290984 0.0416723 0.0321575 0.0192698 0.0252058
+0.0116167 0.00836482 0.00784646 0.00138145 0.00132721 0.000381971 0.000573959
+0.000406984 0.000280216 0.000179901 0.000186049 0.000268997 0.000263714
+0.000155282 0.000139129 0.000167519 0.000124361 0.000180699 0.000142076
+0.000144225 0.000119736 0.000148186 0.000111046 0.000121504 0.000107089
+0.000121003 9.47739e-05 0.000125579 0.000100434 0.000104701 9.41711e-05
+0.000104671 8.29275e-05 9.69602e-05 8.842e-05 9.28634e-05 8.08756e-05
+9.55736e-05 7.85888e-05 8.25423e-05 7.83809e-05 8.18489e-05 7.07095e-05
+8.02309e-05 7.42804e-05 7.48963e-05 6.96933e-05 7.65881e-05 6.52446e-05
+6.90523e-05 6.72559e-05 6.77385e-05 6.22041e-05 6.80202e-05 6.33565e-05
+6.27514e-05 6.09007e-05 6.3778e-05 5.64576e-05 5.99506e-05 5.87628e-05
+5.80413e-05 5.54242e-05 5.86565e-05 5.49603e-05 5.42429e-05 5.4014e-05
+5.47262e-05 5.03136e-05 5.31452e-05 5.20179e-05 5.08749e-05 4.98008e-05
+5.13611e-05 4.85163e-05 4.80735e-05 4.85478e-05 4.80833e-05 4.56452e-05
+4.77271e-05 4.64662e-05 4.53934e-05 4.50956e-05 4.56013e-05 4.35624e-05
+4.34772e-05 4.40007e-05 4.30346e-05 4.18994e-05 4.31475e-05 4.18919e-05
+4.11025e-05 4.11284e-05 4.10175e-05 3.97421e-05 3.98145e-05 4.01797e-05
+3.90583e-05 3.87068e-05 3.92256e-05 3.81535e-05 3.76564e-05 3.77768e-05
+3.73499e-05 3.66974e-05 3.67557e-05 3.68833e-05 3.58508e-05 3.59041e-05
+3.58715e-05 3.51094e-05 3.48463e-05 3.49077e-05 3.43984e-05 3.41789e-05
+3.40861e-05 3.40455e-05 3.32054e-05 3.34367e-05 3.30168e-05 3.26526e-05
+3.24827e-05 3.24396e-05 3.19881e-05 3.19942e-05 3.17211e-05 3.16122e-05
+3.10021e-05 3.12408e-05 3.06344e-05 3.06429e-05 3.04321e-05 3.03029e-05
+2.99668e-05 3.00742e-05 2.95874e-05 2.95749e-05 2.91166e-05 2.92872e-05
+2.87315e-05 2.88123e-05 2.86934e-05 2.84017e-05 2.82494e-05 2.83481e-05
+2.76694e-05 2.7905e-05 2.74856e-05 2.7595e-05 2.70659e-05 2.73785e-05
+2.70175e-05 2.68042e-05 2.67559e-05 2.67275e-05 2.61115e-05 2.64444e-05
+2.60253e-05 2.6143e-05 2.56633e-05 2.59967e-05 2.55765e-05 2.54011e-05
+2.54205e-05 2.52767e-05 2.48309e-05 2.51035e-05 2.48111e-05 2.47337e-05
+2.44776e-05 2.47857e-05 2.41466e-05 2.42557e-05 2.41419e-05 2.40363e-05
+2.36974e-05 2.39439e-05 2.36521e-05 2.35678e-05 2.34062e-05 2.3597e-05
+2.29854e-05 2.32039e-05 2.30333e-05 2.29341e-05 2.27001e-05 2.29057e-05
+2.25917e-05 2.25413e-05 2.24169e-05 2.25144e-05 2.1993e-05 2.22539e-05
+2.20491e-05 2.19648e-05 2.18146e-05 2.19472e-05 2.16342e-05 2.16211e-05
+2.15227e-05 2.15229e-05 2.11552e-05 2.13981e-05 2.1145e-05 2.11307e-05
+2.10028e-05 2.10558e-05 2.07771e-05 2.08104e-05 2.06922e-05 2.06572e-05
+2.0421e-05 2.06044e-05 2.03378e-05 2.03852e-05 2.0236e-05 2.02428e-05
+2.00298e-05 2.00682e-05 1.99341e-05 1.99055e-05 1.9766e-05 1.98595e-05
+1.96149e-05 1.9708e-05 1.95175e-05 1.951e-05 1.93652e-05 1.93882e-05
+1.9253e-05 1.92475e-05 1.91492e-05 1.91725e-05 1.89653e-05 1.90797e-05
+1.88526e-05 1.88553e-05 1.87737e-05 1.87674e-05 1.86322e-05 1.86603e-05
+1.85738e-05 1.8523e-05 1.84042e-05 1.84821e-05 1.82465e-05 1.82856e-05
+1.82333e-05 1.81908e-05 1.80772e-05 1.81247e-05 1.80205e-05 1.79422e-05
+1.78919e-05 1.79356e-05 1.76952e-05 1.77907e-05 1.77256e-05 1.76545e-05
+1.75951e-05 1.76011e-05 1.75059e-05 1.74307e-05 1.74315e-05 1.73783e-05
+1.72885e-05 1.72999e-05 1.72644e-05 1.71807e-05 1.71397e-05 1.71261e-05
+1.70455e-05 1.6948e-05 1.70073e-05 1.6948e-05 1.6794e-05 1.69151e-05
+1.68262e-05 1.6732e-05 1.67057e-05 1.67527e-05 1.65599e-05 1.65856e-05
+1.65865e-05 1.65142e-05 1.64285e-05 1.65163e-05 1.63755e-05 1.63693e-05
+1.63267e-05 1.62936e-05 1.62273e-05 1.6209e-05 1.62148e-05 1.61265e-05
+1.61024e-05 1.61131e-05 1.60167e-05 1.60016e-05 1.59628e-05 1.59332e-05
+1.58903e-05 1.58553e-05 1.58772e-05 1.57569e-05 1.57924e-05 1.57572e-05
+1.56537e-05 1.56966e-05 1.56074e-05 1.56212e-05 1.55779e-05 1.5539e-05
+1.55494e-05 1.5449e-05 1.5495e-05 1.54081e-05 1.53711e-05 1.53932e-05
+1.52964e-05 1.53376e-05 1.52897e-05 1.52396e-05 1.52538e-05 1.51629e-05
+1.52182e-05 1.50957e-05 1.51177e-05 1.51097e-05 1.50368e-05 1.50477e-05
+1.50399e-05 1.49629e-05 1.49619e-05 1.4934e-05 1.49109e-05 1.48107e-05
+1.49298e-05 1.48269e-05 1.47474e-05 1.48734e-05 1.47248e-05 1.47904e-05
+1.46943e-05 1.47132e-05 1.46267e-05 1.47303e-05 1.44649e-05 1.46803e-05
+1.45807e-05 1.45165e-05 1.45321e-05 1.45863e-05 1.44389e-05 1.44883e-05
+1.45138e-05 1.43366e-05 1.45488e-05 1.42999e-05 1.43532e-05 1.43481e-05
+1.44012e-05 1.40856e-05 1.4473e-05 1.42298e-05 1.42492e-05 1.42315e-05
+1.43224e-05 1.40978e-05 1.42317e-05 1.41411e-05 1.41222e-05 1.41452e-05
+1.40687e-05 1.4097e-05 1.40772e-05 1.40533e-05 1.4062e-05 1.39999e-05
+1.40167e-05 1.39786e-05 1.39683e-05 1.39479e-05 1.39503e-05 1.39196e-05
+1.39185e-05 1.3891e-05 1.38968e-05 1.38385e-05 1.38591e-05 1.38226e-05
+1.3823e-05 1.37987e-05 1.38058e-05 1.37687e-05 1.37731e-05 1.37467e-05
+1.3741e-05 1.37012e-05 1.37238e-05 1.36772e-05 1.36989e-05 1.36648e-05
+1.36677e-05 1.36383e-05 1.36465e-05 1.36082e-05 1.36107e-05 1.35828e-05
+1.36001e-05 1.35517e-05 1.35862e-05 1.35436e-05 1.3545e-05 1.35258e-05
+1.35259e-05 1.34894e-05 1.35036e-05 1.34777e-05 1.34856e-05 1.34502e-05
+1.34863e-05 1.34282e-05 1.34469e-05 1.34125e-05 1.34237e-05 1.34026e-05
+1.33887e-05 1.34055e-05 1.33624e-05 1.33684e-05 1.34108e-05 1.32959e-05
+1.33875e-05 1.32811e-05 1.33619e-05 1.33219e-05 1.3276e-05 1.33497e-05
+1.32483e-05 1.33257e-05 1.3305e-05 1.32275e-05 1.33069e-05 1.32249e-05
+1.32866e-05 1.32339e-05 1.32487e-05 1.3251e-05 1.32172e-05 1.32353e-05
+1.323e-05 1.31875e-05 1.32223e-05 1.319e-05 1.32038e-05 1.31846e-05
+1.31983e-05 1.31761e-05 1.31802e-05 1.31635e-05 1.31737e-05 1.31439e-05
+1.31682e-05 1.31427e-05 1.31617e-05 1.31332e-05 1.31547e-05 1.3133e-05
+1.31335e-05 1.31252e-05 1.31203e-05 1.31178e-05 1.313e-05 1.31048e-05
+1.31309e-05 1.30961e-05 1.31287e-05 1.30943e-05 1.31076e-05 1.3093e-05
+1.30996e-05 1.30943e-05 1.3103e-05 1.30871e-05 1.31077e-05 1.30727e-05
+1.31072e-05 1.30737e-05 1.3094e-05 1.30748e-05 1.30877e-05 1.30874e-05
+1.30868e-05 1.30789e-05 1.30949e-05 1.30709e-05 1.30856e-05;
+#X coords 0 1 511 0 200 140 1;
+#X restore 125 121 graph;
+#X restore 358 92 pd mag_spectrum;
+#X obj 195 211 tabsend~ mag_spectrum;
+#X obj 357 64 block~ 1024;
+#X obj 197 301 xtract~ mfcc;
+#X obj 196 274 tabreceive~ mag_spectrum;
+#X obj 197 333 tabsend~ \$0-mfcc;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 5 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X restore 32 167 pd spectrum;
#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 4 0 6 0;
-#X connect 6 0 2 0;
-#X connect 6 0 3 0;
-#X connect 7 0 6 1;
-#X connect 8 0 6 2;
+#X connect 1 0 4 0;
+#X connect 3 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 0 10 0;
+#X connect 6 0 5 1;
+#X connect 7 0 5 2;
+#X connect 8 0 9 0;
+#X connect 9 0 10 1;
#X restore 516 -222 pd guts;
#X obj 6 -225 cnv 15 500 200 empty empty MFCC 20 12 0 14 -261681 -66577
0;
#X obj 184 -202 cnv 15 250 150 empty empty empty 20 12 0 14 -262131
-66577 0;
#X obj 465 -187 vsl 10 100 0 127 0 0 \$0-master-lvl-stereo \$0-master-lvl-stereo
-out -4 -8 0 8 -262131 -1 -1 6100 1;
+out -4 -8 0 8 -262131 -1 -1 0 1;
#X obj 465 -77 bng 10 250 50 0 \$0-master-lvl-mute empty mute -6 16
0 8 -262131 -1 -1;
#X obj 32 -114 hsl 128 15 20 150 0 0 \$0-cf empty centre_frequency
--2 -6 0 8 -225271 -1 -1 1000 1;
+-2 -6 0 8 -225271 -1 -1 700 1;
#X obj 33 -153 hsl 128 15 80 2000 0 0 \$0-fund empty fundamental -2
--6 0 8 -225271 -1 -1 400 1;
+-6 0 8 -225271 -1 -1 200 1;
#X text 19 7 Notes:;
-#X text 20 36 In this patch [xtract~ magnitude_spectrum] is first used
-to extract the magnitude spectrum from an audio signal in overlapping
-blocks of 1024 samples.;
#X text 20 87 [xtract~ mfcc] outputs a series 20 Mel-Frequency Cepstral
Coefficients. When it is instantiated \, an initialisation function
creates a bank of 20 mel-spaced filters \, between 80Hz and 1800Hz
on a linear scale. All filters have the same gain;
-#X text 23 165 Whilst DSP is running the input vector (magnitude spectrum)
-is filtered by this filterbank \, and the total energy output from
-each filter is appended to a new vector. This new vector (mel-filtered
-spectrum) is then subjected to a fast cosine transfor. The output can
-be visualised in the graph labelled \$0-mfcc.;
#X text 23 255 With LibXtract it is possible to change the number of
Mel filters as well as the range of frequencies over which they operate
\, and the filter scaling (equal area/equal gain). With this PD example
\, sensible defaults have been chosen to improve usability;
-#N canvas 0 0 450 300 graph2 0;
-#X array \$0-mfcc 20 float 5;
-#A 0 -241.398 87.462 -6.0369 -7.30858 -8.26749 0.337816 1.44736 0.73507
--2.33864 -1.38718 -0.545284 -0.269468 -0.985905 -0.89323 -1.33766 -1.09721
--0.614915 -0.242816 -0.894777 -1.20686;
-#X coords 0 50 19 -100 200 100 1;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array \$0-mfcc 20 float 1;
+#A 0 -226.816 39.0179 27.0649 13.3895 3.18296 -4.35309 -6.98078 -6.73432
+-4.09373 -1.24401 0.693745 0.961352 0.393719 -0.854615 -1.49734 -1.75847
+-1.32051 -0.652124 0.00802549 0.234184;
+#X coords 0 50 19 -500 200 100 1;
#X restore 212 -178 graph;
#X text 28 -188 PAF synthesiser;
#X obj 34 -71 hsl 128 15 1 10 0 0 \$0-bw empty formant_bandwidth -2
--6 0 8 -225271 -1 -1 4400 1;
+-6 0 8 -225271 -1 -1 600 1;
+#X text 20 36 In this patch [xtract~ spectrum] is first used to extract
+the magnitude spectrum from an audio signal in overlapping blocks of
+1024 samples.;
+#X text 23 165 Whilst DSP is running the input vector (magnitude spectrum)
+is filtered by this filterbank \, and the total energy output from
+each filter is appended to a new vector. This new vector (mel-filtered
+spectrum) is then subjected to a fast cosine transform. The output
+can be visualised in the graph labelled \$0-mfcc.;