├── karmaSoundAnalyser.png
├── km_osc_pack_native.pd
├── karmaDSP.pd
├── km_osc_pack_mrpeach.pd
├── utils
├── OSCDumpUtility.pd
└── netsendOSCTester.pd
├── km_clean_signal.pd
├── km_alternate.pd
├── km_osc_format.pd
├── km_smooth.pd
├── License.md
├── km_counter.pd
├── km_sin_track_osc.pd
├── karmaBalance.pd
├── karmaAudioOut.pd
├── karmaMetronom.pd
├── OSCCleanFloat.pd
├── karmaNotes.pd
├── OSCRoutes.md
├── karmaOSCNative.pd
├── karmaOSCMrPeach.pd
├── README.md
├── km_resample_avg.pd
├── karmaSoundAnalyser-PdVanilla.pd
├── karmaAubio.pd
├── karmaFiddle.pd
└── depreciated
├── karmaSoundAnalyser.pd
└── OSCCleannFloat.pd
/karmaSoundAnalyser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Daandelange/karmaSoundAnalyser/HEAD/karmaSoundAnalyser.png
--------------------------------------------------------------------------------
/km_osc_pack_native.pd:
--------------------------------------------------------------------------------
1 | #N canvas 150 293 450 300 10;
2 | #X obj 29 94 list prepend send;
3 | #X obj 29 117 list trim;
4 | #X obj 29 71 oscformat /kmsa\$1;
5 | #X obj 29 42 inlet;
6 | #X obj 29 145 outlet;
7 | #X text 28 12 Packs OSC messages for karmaOSCNative.pd;
8 | #X connect 0 0 1 0;
9 | #X connect 1 0 4 0;
10 | #X connect 2 0 0 0;
11 | #X connect 3 0 2 0;
12 |
--------------------------------------------------------------------------------
/karmaDSP.pd:
--------------------------------------------------------------------------------
1 | #N canvas 275 106 351 252 10;
2 | #X msg 93 109 \; pd dsp 1;
3 | #X msg 26 110 \; pd dsp 0;
4 | #X text 79 40 Turn On/Off Pd.DSP;
5 | #X obj 1 14 cnv 15 58 25 empty empty empty 20 12 0 14 -191407 -66577
6 | 0;
7 | #X obj 5 17 tgl 20 0 empty empty DSP 25 9 0 14 -262144 -1 -1 1 1;
8 | #X obj 1 48 sel 0 1;
9 | #X text 80 19 :: karmaDSP ::;
10 | #X text 77 55 aka. Audio processing;
11 | #X connect 4 0 5 0;
12 | #X connect 5 0 1 0;
13 | #X connect 5 1 0 0;
14 | #X coords 0 -1 1 1 60 40 1 0 0;
15 |
--------------------------------------------------------------------------------
/km_osc_pack_mrpeach.pd:
--------------------------------------------------------------------------------
1 | #N canvas 657 318 450 300 10;
2 | #X obj 29 42 inlet;
3 | #X obj 29 215 outlet;
4 | #X text 28 12 Packs OSC messages for karmaOSCMrPeach.pd;
5 | #X obj 29 181 mrpeach/packOSC;
6 | #X obj 172 45 loadbang;
7 | #X obj 172 66 symbol \$1;
8 | #X text 271 88 Sets the OSC address;
9 | #X msg 172 87 prefix /kmsa\$1;
10 | #X obj 29 121 list prepend /kmsa\$1;
11 | #X obj 29 143 list trim;
12 | #X connect 0 0 8 0;
13 | #X connect 3 0 1 0;
14 | #X connect 4 0 5 0;
15 | #X connect 5 0 7 0;
16 | #X connect 8 0 9 0;
17 | #X connect 9 0 3 0;
18 |
--------------------------------------------------------------------------------
/utils/OSCDumpUtility.pd:
--------------------------------------------------------------------------------
1 | #N canvas 253 103 465 300 10;
2 | #X obj 67 246 spigot;
3 | #X obj 137 204 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
4 | 1;
5 | #X obj 67 267 print;
6 | #X text 156 202 Enable / Disable;
7 | #X text 65 103 Simple utility for displaying incomming OSC data;
8 | #X msg 67 141 status;
9 | #X obj 67 179 netreceive 12000 localhost;
10 | #X obj 67 199 oscparse;
11 | #X obj 23 221 print;
12 | #X connect 0 0 2 0;
13 | #X connect 1 0 0 1;
14 | #X connect 5 0 6 0;
15 | #X connect 6 0 7 0;
16 | #X connect 6 0 8 0;
17 | #X connect 6 1 0 0;
18 | #X connect 7 0 0 0;
19 |
--------------------------------------------------------------------------------
/km_clean_signal.pd:
--------------------------------------------------------------------------------
1 | #N canvas 796 337 450 300 10;
2 | #X obj 51 156 ==;
3 | #X obj 93 139 f;
4 | #X floatatom 102 162 5 0 0 0 - - -, f 5;
5 | #X text 24 10 SIGNAL CLEANER;
6 | #X obj 51 91 inlet float;
7 | #X obj 51 179 sel 0;
8 | #X obj 93 186 outlet float;
9 | #X text 25 27 Prevents resending bangs when the float value has not
10 | changed. (Sort of flood filter);
11 | #X text 25 57 Alterntively use the native [change];
12 | #X connect 0 0 5 0;
13 | #X connect 1 0 0 1;
14 | #X connect 1 0 2 0;
15 | #X connect 1 0 6 0;
16 | #X connect 4 0 0 0;
17 | #X connect 4 0 1 1;
18 | #X connect 5 0 1 0;
19 |
--------------------------------------------------------------------------------
/km_alternate.pd:
--------------------------------------------------------------------------------
1 | #N canvas 0 22 424 257 10;
2 | #X obj 36 41 inlet;
3 | #X obj 36 99 i 0;
4 | #X obj 68 100 + 1;
5 | #X obj 68 125 mod 2;
6 | #X obj 36 151 route 1, f 8;
7 | #X obj 36 175 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
8 | -1;
9 | #X obj 81 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
10 | -1;
11 | #X obj 36 202 outlet;
12 | #X obj 81 202 outlet;
13 | #X obj 36 71 t b;
14 | #X text 36 14 Simple abstraction to alternate bangs between 2 outlets
15 | ;
16 | #X connect 0 0 9 0;
17 | #X connect 1 0 2 0;
18 | #X connect 1 0 4 0;
19 | #X connect 2 0 3 0;
20 | #X connect 3 0 1 1;
21 | #X connect 4 0 5 0;
22 | #X connect 4 1 6 0;
23 | #X connect 5 0 7 0;
24 | #X connect 6 0 8 0;
25 | #X connect 9 0 1 0;
26 |
--------------------------------------------------------------------------------
/km_osc_format.pd:
--------------------------------------------------------------------------------
1 | #N canvas 721 193 433 415 10;
2 | #X obj 28 166 spigot;
3 | #X obj 61 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
4 | 1;
5 | #X obj 111 126 r osc_status;
6 | #X text 77 145 Broadcasting;
7 | #X text 116 373 Receive this with your OSC sender;
8 | #X obj 28 372 s osc_out_raw;
9 | #X obj 89 99 inlet enabled;
10 | #X obj 28 46 inlet value;
11 | #X obj 61 99 i 1;
12 | #X obj 61 74 loadbang;
13 | #X obj 28 194 route bang;
14 | #X obj 28 230 i 1;
15 | #X text 29 8 FORMAT OSC MESSAGES;
16 | #X obj 28 291 km_osc_pack_mrpeach \$1;
17 | #X text 40 313 Use either km_osc_pack_native or km_osc_pack_mrpeach
18 | ;
19 | #X text 40 329 According to your OSC sender;
20 | #X connect 0 0 10 0;
21 | #X connect 1 0 0 1;
22 | #X connect 2 0 1 0;
23 | #X connect 6 0 1 0;
24 | #X connect 7 0 0 0;
25 | #X connect 8 0 1 0;
26 | #X connect 9 0 8 0;
27 | #X connect 10 0 11 0;
28 | #X connect 10 1 13 0;
29 | #X connect 11 0 13 0;
30 | #X connect 13 0 5 0;
31 |
--------------------------------------------------------------------------------
/km_smooth.pd:
--------------------------------------------------------------------------------
1 | #N canvas 631 132 494 476 10;
2 | #X obj 29 391 outlet;
3 | #X obj 29 77 inlet;
4 | #X text 29 22 Smooths a value so its changes variate less.;
5 | #X text 29 35 Creation argument indicates the buffer size.;
6 | #X text 30 7 KM SMOOTH;
7 | #X obj 188 87 array define \$0-smooth \$1;
8 | #X obj 29 269 array sum \$0-smooth;
9 | #X obj 103 138 i 0;
10 | #X obj 48 191 array set \$0-smooth;
11 | #X obj 136 139 + 1;
12 | #X obj 136 163 mod \$1;
13 | #X obj 29 108 t b f b;
14 | #X text 188 108 Creates buffer (click to view);
15 | #X text 50 213 Write new value in array;
16 | #X obj 29 295 t a b;
17 | #X obj 56 324 array size \$0-smooth;
18 | #X obj 29 357 /;
19 | #X text 43 248 Sum all values;
20 | #X text 75 304 Divide to get average;
21 | #X connect 1 0 11 0;
22 | #X connect 6 0 14 0;
23 | #X connect 7 0 9 0;
24 | #X connect 7 0 8 1;
25 | #X connect 9 0 10 0;
26 | #X connect 10 0 7 1;
27 | #X connect 11 0 6 0;
28 | #X connect 11 1 8 0;
29 | #X connect 11 2 7 0;
30 | #X connect 14 0 16 0;
31 | #X connect 14 1 15 0;
32 | #X connect 15 0 16 1;
33 | #X connect 16 0 0 0;
34 |
--------------------------------------------------------------------------------
/License.md:
--------------------------------------------------------------------------------
1 | Warning: This license has not been checked for compatibility with any of it's dependencies (Aubio, MrPeach, etc.). Please refer to their respective licenses if you use them.
2 |
3 | # MIT License
4 |
5 | Copyright (c) 2017 Daan de Lange
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
--------------------------------------------------------------------------------
/km_counter.pd:
--------------------------------------------------------------------------------
1 | #N canvas 263 259 455 328 10;
2 | #X obj 102 125 i 0;
3 | #X obj 138 125 + 1;
4 | #X obj 102 103 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
5 | -1 -1;
6 | #X obj 102 59 inlet dataStream;
7 | #X floatatom 104 166 5 0 0 1 Cnt - -, f 5;
8 | #X obj 13 250 outlet count;
9 | #X obj 243 60 inlet reset;
10 | #X obj 104 201 bng 15 250 50 0 empty empty Reset 17 7 0 10 -262144
11 | -1 -1;
12 | #X obj 243 99 i 0;
13 | #X obj 243 81 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
14 | -1;
15 | #X text 102 13 Simple utility to count messages;
16 | #X floatatom 104 184 4 0 0 0 - - -, f 4;
17 | #X obj 223 233 i 0;
18 | #X obj 270 135 loadbang;
19 | #X obj 270 162 metro 1000;
20 | #X obj 254 234 + 1;
21 | #X obj 270 184 i 0;
22 | #X obj 238 207 t f b;
23 | #X obj 239 261 i 0;
24 | #X obj 239 288 outlet countPerSec;
25 | #X text 102 30 Useful for regulating/debugging OSC messages.;
26 | #X text 132 184 /sec;
27 | #X connect 0 0 1 0;
28 | #X connect 0 0 4 0;
29 | #X connect 1 0 0 1;
30 | #X connect 2 0 0 0;
31 | #X connect 2 0 12 0;
32 | #X connect 3 0 2 0;
33 | #X connect 4 0 5 0;
34 | #X connect 6 0 9 0;
35 | #X connect 7 0 9 0;
36 | #X connect 8 0 4 0;
37 | #X connect 8 0 0 1;
38 | #X connect 9 0 8 0;
39 | #X connect 9 0 14 0;
40 | #X connect 12 0 15 0;
41 | #X connect 13 0 14 0;
42 | #X connect 14 0 16 0;
43 | #X connect 15 0 12 1;
44 | #X connect 15 0 18 1;
45 | #X connect 16 0 17 0;
46 | #X connect 17 0 18 1;
47 | #X connect 17 0 12 1;
48 | #X connect 17 1 18 0;
49 | #X connect 18 0 11 0;
50 | #X connect 18 0 19 0;
51 | #X coords 0 -1 1 1 60 70 1 100 150;
52 |
--------------------------------------------------------------------------------
/km_sin_track_osc.pd:
--------------------------------------------------------------------------------
1 | #N canvas 713 258 541 391 10;
2 | #X obj 98 105 unpack 0 0 0;
3 | #X obj 80 143 / 2048;
4 | #X obj 80 212 t b f;
5 | #X text 276 282 expr [ -1-(B + (G * 256) + (R * 65536)) ];
6 | #X obj 269 260 expr [-1-($f1*255+(0*256)+(0*65536))];
7 | #X obj 269 198 min 1;
8 | #X obj 269 176 expr pow($f1*3 \, 2);
9 | #X obj 80 188 km_resample_avg 150;
10 | #X obj 103 236 min 1;
11 | #X obj 126 261 km_resample_avg 150;
12 | #X obj 98 79 inlet routed_track;
13 | #X text 28 29 Packed input are pairs of: Freq (Hz) \, Amplitude \,
14 | Flag;
15 | #X obj 427 104 f \$1;
16 | #X obj 427 79 loadbang;
17 | #X text 28 44 Creation argument indicates track ID;
18 | #X obj 80 283 pack 0 0 0 0;
19 | #X obj 80 259 f \$1;
20 | #X obj 269 300 pack 0 0;
21 | #X text 370 106 Track ID;
22 | #X text 22 260 Track ID;
23 | #X msg 269 322 \; fft_\$2 color \$1 4 22, f 23;
24 | #X obj 20 188 s fft_\$1;
25 | #X text 29 13 Abstraction to sample and pack sigmund sinus tracks.
26 | ;
27 | #X text 275 240 Colorize;
28 | #X msg 90 309 /notes/\$1 \$2 \$3 \$4;
29 | #X obj 80 337 outlet note_info;
30 | #X connect 0 0 1 0;
31 | #X connect 0 1 6 0;
32 | #X connect 0 2 15 3;
33 | #X connect 1 0 7 0;
34 | #X connect 1 0 21 0;
35 | #X connect 2 0 16 0;
36 | #X connect 2 1 8 0;
37 | #X connect 4 0 17 0;
38 | #X connect 5 0 4 0;
39 | #X connect 5 0 9 0;
40 | #X connect 6 0 5 0;
41 | #X connect 7 0 2 0;
42 | #X connect 8 0 15 1;
43 | #X connect 9 0 15 2;
44 | #X connect 10 0 0 0;
45 | #X connect 12 0 17 1;
46 | #X connect 13 0 12 0;
47 | #X connect 15 0 25 0;
48 | #X connect 16 0 15 0;
49 | #X connect 17 0 20 0;
50 |
--------------------------------------------------------------------------------
/utils/netsendOSCTester.pd:
--------------------------------------------------------------------------------
1 | #N canvas 480 229 464 395 10;
2 | #X msg 10 145 disconnect;
3 | #X obj 87 235 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
4 | 1;
5 | #X obj 288 80 netreceive -u -b;
6 | #X msg 288 133;
7 | #X obj 130 139 list prepend send;
8 | #X obj 130 164 list trim;
9 | #X obj 288 105 oscparse;
10 | #X obj 130 113 oscformat /path;
11 | #X msg 130 89 bang;
12 | #X obj 288 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
13 | -1 -1;
14 | #X obj 345 141 print RECV;
15 | #X obj 209 272 oscformat /paaath;
16 | #X msg 288 43 listen 1200;
17 | #X msg 121 247 test;
18 | #X obj 207 297 list prepend send;
19 | #X obj 207 325 list trim;
20 | #X floatatom 146 225 5 0 0 0 - - -, f 5;
21 | #X obj 86 196 netsend -u -b;
22 | #X msg 86 33 connect localhost 9990;
23 | #X msg 204 226 bang;
24 | #X symbolatom 351 209 10 0 0 0 - - -, f 10;
25 | #X msg 256 198 test;
26 | #X obj 254 225 symbol;
27 | #X obj 12 234 list trim;
28 | #X obj 42 296 list prepend send;
29 | #X msg 42 272 oscformat /foo;
30 | #X msg 269 17 listen 9990;
31 | #X connect 0 0 17 0;
32 | #X connect 2 0 6 0;
33 | #X connect 3 0 9 0;
34 | #X connect 4 0 5 0;
35 | #X connect 5 0 17 0;
36 | #X connect 6 0 3 0;
37 | #X connect 6 0 10 0;
38 | #X connect 6 0 20 0;
39 | #X connect 7 0 4 0;
40 | #X connect 8 0 7 0;
41 | #X connect 11 0 14 0;
42 | #X connect 12 0 2 0;
43 | #X connect 13 0 25 0;
44 | #X connect 14 0 15 0;
45 | #X connect 15 0 17 0;
46 | #X connect 16 0 25 0;
47 | #X connect 17 0 1 0;
48 | #X connect 18 0 17 0;
49 | #X connect 19 0 11 0;
50 | #X connect 21 0 22 0;
51 | #X connect 22 0 11 0;
52 | #X connect 23 0 17 0;
53 | #X connect 24 0 23 0;
54 | #X connect 25 0 24 0;
55 | #X connect 26 0 2 0;
56 |
--------------------------------------------------------------------------------
/karmaBalance.pd:
--------------------------------------------------------------------------------
1 | #N canvas 0 22 572 440 10;
2 | #X obj 154 131 env~;
3 | #X obj 327 132 env~;
4 | #X text 167 39 :: BALANCE ::;
5 | #X obj 154 153 dbtorms;
6 | #X obj 327 154 dbtorms;
7 | #X obj 154 109 inlet~ left;
8 | #X obj 327 109 inlet~ right;
9 | #X obj 327 356 outlet balance;
10 | #X text 169 55 Calculates the difference between left and right channel
11 | amplitude.;
12 | #X obj 1 14 cnv 15 83 74 empty empty empty 20 12 0 14 -191407 -66577
13 | 0;
14 | #X obj 17 30 vsl 10 40 0 1 0 0 empty \$0-b-right R 2 -9 0 10 -262144
15 | -1 -1 323 1;
16 | #X obj 4 30 vsl 10 40 0 1 0 0 empty \$0-b-left L 2 -9 0 10 -262144
17 | -1 -1 330 1;
18 | #X obj 36 62 hsl 40 10 -1 1 0 0 empty \$0-b-balance empty -2 -8 0 10
19 | -262144 -1 -1 2119 1;
20 | #X obj 166 179 s \$0-b-left;
21 | #X obj 343 179 s \$0-b-right;
22 | #X obj 336 309 s \$0-b-balance;
23 | #X obj 327 334 change;
24 | #X text 32 46 BALANCE;
25 | #X obj 327 204 /;
26 | #X obj 346 294 hsl 55 8 -1 1 0 0 empty empty empty -2 -8 0 10 -262144
27 | -1 -1 2934 1;
28 | #X obj 327 226 - 1;
29 | #X text 1 74 L;
30 | #X text 37 74 R;
31 | #X text 74 74 B;
32 | #X obj 154 203 outlet L_amp;
33 | #X obj 235 203 outlet R_amp;
34 | #X obj 327 254 km_resample_avg 50;
35 | #X obj 327 277 km_smooth 10;
36 | #X connect 0 0 3 0;
37 | #X connect 1 0 4 0;
38 | #X connect 3 0 13 0;
39 | #X connect 3 0 18 1;
40 | #X connect 3 0 24 0;
41 | #X connect 4 0 14 0;
42 | #X connect 4 0 18 0;
43 | #X connect 4 0 25 0;
44 | #X connect 5 0 0 0;
45 | #X connect 6 0 1 0;
46 | #X connect 16 0 7 0;
47 | #X connect 18 0 20 0;
48 | #X connect 20 0 26 0;
49 | #X connect 26 0 27 0;
50 | #X connect 27 0 19 0;
51 | #X connect 27 0 15 0;
52 | #X connect 27 0 16 0;
53 | #X coords 0 -1 1 1 85 90 1 0 0;
54 |
--------------------------------------------------------------------------------
/karmaAudioOut.pd:
--------------------------------------------------------------------------------
1 | #N canvas 477 134 562 491 10;
2 | #X obj 178 437 dac~;
3 | #X obj 106 348 *~ 1;
4 | #X obj 199 349 *~ 1;
5 | #X text 106 12 :: SOUND OUTPUT WITH VOLUME CONTROL ::;
6 | #X obj 1 15 cnv 15 80 84 empty empty empty 20 12 0 14 -191407 -66577
7 | 0;
8 | #X obj 220 103 r \$0-ao-onoff;
9 | #X obj 220 253 f;
10 | #X obj 235 144 r \$0-ao-pan;
11 | #X obj 5 53 hsl 70 15 0 1 0 0 \$0-ao-volume \$0-ao-volume-set Volume
12 | 0 -8 0 10 -262144 -1 -1 1500 1;
13 | #X obj 3 21 tgl 15 0 \$0-ao-onoff \$0-ao-onoff-set On_Off 20 7 0 10
14 | -262144 -1 -1 1 1;
15 | #X obj 6 86 hsl 55 10 -1 1 0 0 \$0-ao-pan \$0-ao-pan-set Pan_Balance
16 | -2 -8 0 10 -262144 -1 -1 2700 1;
17 | #X obj 220 279 * 1;
18 | #X text 235 127 Pan;
19 | #X obj 127 294 f;
20 | #X obj 127 323 * 1;
21 | #X obj 235 170 + 1;
22 | #X obj 235 194 min 1;
23 | #X obj 235 221 t b f;
24 | #X obj 106 42 inlet~ audioL;
25 | #X obj 199 70 inlet~ audioR;
26 | #X text 249 280 RightVolumePanned;
27 | #X text 4 293 LeftVolumePanned;
28 | #X obj 366 67 loadbang;
29 | #X text 366 48 Set defaults;
30 | #X obj 66 86 bng 10 250 50 0 \$0-ao-pan-reset empty empty 17 7 0 10
31 | -1 -262144 -262144;
32 | #X obj 142 262 t b f;
33 | #X obj 127 102 r \$0-ao-volume;
34 | #X obj 142 239 min 1;
35 | #X obj 142 216 abs;
36 | #X obj 142 194 - 1;
37 | #X obj 387 116 s \$0-ao-volume-set;
38 | #X obj 378 92 i 1;
39 | #X obj 366 190 i 0;
40 | #X obj 366 214 s \$0-ao-pan-set;
41 | #X obj 378 163 r \$0-ao-pan-reset;
42 | #X obj 378 139 s \$0-ao-onoff-set;
43 | #X obj 370 403 != 0;
44 | #X obj 370 376 r \$0-ao-volume;
45 | #X obj 370 430 s \$0-ao-onoff-set;
46 | #X text 368 355 GUI logic;
47 | #X connect 1 0 0 0;
48 | #X connect 2 0 0 1;
49 | #X connect 5 0 6 0;
50 | #X connect 5 0 13 0;
51 | #X connect 6 0 11 0;
52 | #X connect 7 0 15 0;
53 | #X connect 7 0 29 0;
54 | #X connect 11 0 2 1;
55 | #X connect 13 0 14 0;
56 | #X connect 14 0 1 1;
57 | #X connect 15 0 16 0;
58 | #X connect 16 0 17 0;
59 | #X connect 17 0 6 0;
60 | #X connect 17 1 11 1;
61 | #X connect 18 0 1 0;
62 | #X connect 19 0 2 0;
63 | #X connect 22 0 31 0;
64 | #X connect 22 0 32 0;
65 | #X connect 25 0 13 0;
66 | #X connect 25 1 14 1;
67 | #X connect 26 0 6 0;
68 | #X connect 26 0 13 0;
69 | #X connect 27 0 25 0;
70 | #X connect 28 0 27 0;
71 | #X connect 29 0 28 0;
72 | #X connect 31 0 30 0;
73 | #X connect 31 0 35 0;
74 | #X connect 32 0 33 0;
75 | #X connect 34 0 32 0;
76 | #X connect 36 0 38 0;
77 | #X connect 37 0 36 0;
78 | #X coords 0 -1 1 1 80 100 1 0 0;
79 |
--------------------------------------------------------------------------------
/karmaMetronom.pd:
--------------------------------------------------------------------------------
1 | #N canvas 640 248 721 420 10;
2 | #X text 125 16 METRONOM;
3 | #X text 124 45 To do: set the timing of thack rather then default.
4 | ;
5 | #X obj 129 82 inlet attack_bang;
6 | #X text 124 31 Track a bang event (attack/beats).;
7 | #X obj 129 109 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
8 | -1 -1;
9 | #X obj 155 132 + 1;
10 | #X msg 515 199 \; \$2-metronom-radio number \$1;
11 | #X text 516 233 Sets timings of metronom;
12 | #X text 551 107 Metronom accent;
13 | #X obj 515 61 loadbang;
14 | #X obj 129 346 outlet metronom;
15 | #X obj 235 346 outlet accent;
16 | #X obj 235 191 == 0;
17 | #X obj 129 159 mod 4;
18 | #X obj 392 182 timer;
19 | #X obj 392 157 t b b;
20 | #X obj 392 203 sel 0;
21 | #X obj 419 346 outlet bpm;
22 | #X obj 419 282 km_smooth 50;
23 | #X obj 419 261 expr (1000.0/$i1)*60;
24 | #X obj 129 132 i 0;
25 | #X obj 325 215 sel 1;
26 | #X obj 325 235 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
27 | -1 -1;
28 | #X obj 325 346 outlet cycles;
29 | #X obj 325 295 div 4;
30 | #X obj 325 267 i;
31 | #X obj 1 14 cnv 15 80 84 empty empty empty 20 12 0 14 -191407 -66577
32 | 0;
33 | #X obj 5 30 hradio 15 1 0 4 empty \$0-metronom-radio empty 0 -8 0 10
34 | -262144 -1 -1 0;
35 | #X obj 5 50 tgl 30 0 empty \$0-m-accent empty 17 7 0 10 -262144 -1
36 | -1 0 1;
37 | #X text 48 50 BPM;
38 | #X floatatom 50 65 4 0 0 0 - #0-m-bpm -, f 4;
39 | #X text 14 14 METRONOM;
40 | #X floatatom 50 82 4 0 0 0 Cycles #0-m-cycles -, f 4;
41 | #X obj 228 258 s \$0-m-accent;
42 | #X obj 331 318 s \$0-m-cycles;
43 | #X obj 104 258 s \$0-metronom-radio;
44 | #X obj 427 324 s \$0-m-bpm;
45 | #X obj 427 303 i 0;
46 | #X floatatom 515 106 5 0 0 0 - - -, f 5;
47 | #X obj 515 124 max 1;
48 | #X obj 515 84 i 4;
49 | #X text 541 85 Default value;
50 | #X obj 515 175 pack f \$0;
51 | #X connect 2 0 4 0;
52 | #X connect 4 0 15 0;
53 | #X connect 4 0 20 0;
54 | #X connect 5 0 20 1;
55 | #X connect 9 0 40 0;
56 | #X connect 12 0 21 0;
57 | #X connect 12 0 11 0;
58 | #X connect 12 0 33 0;
59 | #X connect 13 0 12 0;
60 | #X connect 13 0 10 0;
61 | #X connect 13 0 35 0;
62 | #X connect 14 0 16 0;
63 | #X connect 15 0 14 0;
64 | #X connect 15 1 14 1;
65 | #X connect 16 1 19 0;
66 | #X connect 18 0 37 0;
67 | #X connect 18 0 17 0;
68 | #X connect 19 0 18 0;
69 | #X connect 20 0 5 0;
70 | #X connect 20 0 13 0;
71 | #X connect 20 0 25 1;
72 | #X connect 21 0 22 0;
73 | #X connect 22 0 25 0;
74 | #X connect 24 0 23 0;
75 | #X connect 24 0 34 0;
76 | #X connect 25 0 24 0;
77 | #X connect 37 0 36 0;
78 | #X connect 38 0 39 0;
79 | #X connect 39 0 13 1;
80 | #X connect 39 0 24 1;
81 | #X connect 39 0 42 0;
82 | #X connect 40 0 38 0;
83 | #X connect 42 0 6 0;
84 | #X coords 0 -1 1 1 80 100 1 0 0;
85 |
--------------------------------------------------------------------------------
/OSCCleanFloat.pd:
--------------------------------------------------------------------------------
1 | #N canvas 646 22 650 610 10;
2 | #X obj 378 248 metro \$1;
3 | #X obj 168 124 inlet;
4 | #X obj 378 226 != 0;
5 | #X obj 388 151 \$1;
6 | #X obj 414 151 loadbang;
7 | #X text 409 174 Default Frequency (ms);
8 | #X obj 147 198 tgl 15 0 empty empty Frequency_Controll_[on/off] 17
9 | 7 0 10 -262144 -1 -1 0 1;
10 | #X obj 114 124 inlet;
11 | #X text 47 124 Data input;
12 | #X obj 147 243 != 1;
13 | #X floatatom 436 249 5 0 0 1 Raw_input - -, f 5;
14 | #X floatatom 520 319 5 0 0 0 Summed_Values - -, f 5;
15 | #X obj 387 347 + 1;
16 | #X text 256 446 See also resample \, sendmany-osc.pd and lop;
17 | #X obj 204 283 ==;
18 | #X obj 99 343 f;
19 | #X floatatom 111 369 5 0 0 0 - - -, f 5;
20 | #X obj 204 326 sel 0;
21 | #X obj 99 394 outlet float;
22 | #X obj 414 326 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
23 | -1 -1;
24 | #X obj 436 213 spigot;
25 | #X obj 385 303 i;
26 | #X floatatom 453 389 5 0 0 0 Num_Values - -, f 5;
27 | #X obj 387 325 i;
28 | #X obj 360 402 /;
29 | #X floatatom 360 425 5 0 0 0 Averaged_Value - -, f 5;
30 | #X obj 114 267 spigot;
31 | #X text 45 28 Cleans data flow for OSC output.;
32 | #X text 45 43 Unchanged values are not re-sent.;
33 | #X text 343 28 (Tested only for ints and floats);
34 | #X text 46 57 Too frequent values are sent less frequent and averaged.
35 | ;
36 | #X text 207 123 Freq.Cont. [on/off];
37 | #X obj 378 130 inlet;
38 | #X text 417 129 Set frequency (ms);
39 | #X text 46 72 Set frequency with \$1 creation argument or 3rd inlet.
40 | ;
41 | #X obj 325 141 sel 1;
42 | #X obj 378 372 i;
43 | #X obj 414 303 +;
44 | #X obj 401 273 i 0;
45 | #X obj 378 174 i 16;
46 | #X text 412 187 16.6666ms for 60FPS;
47 | #X text 439 268 Todo: disable metro when flow goes slower ?;
48 | #X connect 0 0 36 0;
49 | #X connect 0 0 38 0;
50 | #X connect 1 0 6 0;
51 | #X connect 1 0 35 0;
52 | #X connect 2 0 0 0;
53 | #X connect 3 0 39 0;
54 | #X connect 4 0 3 0;
55 | #X connect 6 0 9 0;
56 | #X connect 6 0 20 1;
57 | #X connect 7 0 20 0;
58 | #X connect 7 0 26 0;
59 | #X connect 9 0 26 1;
60 | #X connect 10 0 37 0;
61 | #X connect 11 0 24 1;
62 | #X connect 12 0 36 1;
63 | #X connect 12 0 23 1;
64 | #X connect 14 0 17 0;
65 | #X connect 15 0 14 1;
66 | #X connect 15 0 16 0;
67 | #X connect 15 0 18 0;
68 | #X connect 17 0 15 0;
69 | #X connect 19 0 23 0;
70 | #X connect 20 0 10 0;
71 | #X connect 21 0 11 0;
72 | #X connect 21 0 37 1;
73 | #X connect 23 0 12 0;
74 | #X connect 24 0 25 0;
75 | #X connect 25 0 14 0;
76 | #X connect 25 0 15 1;
77 | #X connect 26 0 15 1;
78 | #X connect 26 0 14 0;
79 | #X connect 32 0 39 0;
80 | #X connect 35 0 39 0;
81 | #X connect 35 1 0 0;
82 | #X connect 36 0 24 0;
83 | #X connect 36 0 22 0;
84 | #X connect 37 0 19 0;
85 | #X connect 37 0 21 0;
86 | #X connect 38 0 21 1;
87 | #X connect 38 0 37 1;
88 | #X connect 39 0 2 0;
89 | #X connect 39 0 0 1;
90 |
--------------------------------------------------------------------------------
/karmaNotes.pd:
--------------------------------------------------------------------------------
1 | #N canvas 72 22 1102 607 10;
2 | #X floatatom 295 219 5 0 0 0 - - -, f 5;
3 | #X obj 216 170 sigmund~ -npeak 7 pitch notes env tracks;
4 | #X obj 216 80 inlet~ audioL;
5 | #X obj 319 80 inlet~ audioR;
6 | #X obj 453 212 route 6 5 4 3 2 1 0, f 40;
7 | #X obj 61 28 cnv 15 108 60 empty empty Notes 12 8 0 12 -191407 -66577
8 | 0;
9 | #X obj 64 45 vsl 8 40 0 1 0 0 empty fft_1 empty 0 -9 0 10 -1 -261681
10 | -1 575 1;
11 | #X obj 80 45 vsl 8 40 0 1 0 0 empty fft_2 empty 0 -9 0 10 -1 -261681
12 | -1 964 1;
13 | #X obj 96 45 vsl 8 40 0 1 0 0 empty fft_3 empty 0 -9 0 10 -1 -261681
14 | -1 1246 1;
15 | #X obj 112 45 vsl 8 40 0 1 0 0 empty fft_4 empty 0 -9 0 10 -64 -261681
16 | -1 89 1;
17 | #X obj 127 45 vsl 8 40 0 1 0 0 empty fft_5 empty 0 -9 0 10 -3 -261681
18 | -1 3900 1;
19 | #X obj 143 45 vsl 8 40 0 1 0 0 empty fft_6 empty 0 -9 0 10 -1 -261681
20 | -1 3900 1;
21 | #X obj 159 45 vsl 8 40 0 1 0 0 empty fft_7 empty 0 -9 0 10 -1 -261681
22 | -1 3900 1;
23 | #X obj 18 412 i 2048;
24 | #X text 26 393 FFT Amp scale;
25 | #X obj 18 373 loadbang;
26 | #X text 720 213 Each sine track: ID \, Freq (Hz) \, Amplitude \, Flag
27 | ;
28 | #X text 585 137 Packs 7 detected notes;
29 | #X text 583 156 Also adapts their value \, scale and resamples them.
30 | ;
31 | #X obj 216 287 outlet pitch;
32 | #X obj 295 287 outlet note;
33 | #X obj 374 287 outlet amp;
34 | #X obj 453 81 inlet on_off;
35 | #X obj 656 234 km_sin_track_osc 1;
36 | #X obj 453 430 outlet note1;
37 | #X obj 539 430 outlet note2;
38 | #X obj 624 430 outlet note3;
39 | #X obj 707 430 outlet note4;
40 | #X obj 794 430 outlet note5;
41 | #X obj 880 430 outlet note6;
42 | #X obj 972 430 outlet note7;
43 | #X obj 554 300 km_sin_track_osc 4;
44 | #X obj 453 277 km_sin_track_osc 7;
45 | #X obj 486 256 km_sin_track_osc 6;
46 | #X obj 520 234 km_sin_track_osc 5;
47 | #X obj 622 256 km_sin_track_osc 2;
48 | #X obj 588 278 km_sin_track_osc 3;
49 | #X obj 12 44 nbx 2 14 -1e+37 1e+37 0 0 empty empty Pitch 0 -8 0 10
50 | -262144 -1 -1 30 256;
51 | #X obj 216 198 max 0;
52 | #X obj 42 40 vsl 15 45 0 1 0 0 empty empty Amp 0 -9 0 10 -262144 -1
53 | -1 1062 1;
54 | #X obj 12 74 nbx 2 14 -1e+37 1e+37 0 0 empty empty Note 0 -8 0 10 -262144
55 | -1 -1 34 256;
56 | #X obj 374 197 dbtorms;
57 | #X obj 374 222 max 0;
58 | #X obj 374 245 min 1;
59 | #X obj 295 254 i;
60 | #X obj 216 229 i;
61 | #X connect 0 0 44 0;
62 | #X connect 1 0 38 0;
63 | #X connect 1 1 0 0;
64 | #X connect 1 2 41 0;
65 | #X connect 1 3 4 0;
66 | #X connect 2 0 1 0;
67 | #X connect 3 0 1 0;
68 | #X connect 4 0 32 0;
69 | #X connect 4 1 33 0;
70 | #X connect 4 2 34 0;
71 | #X connect 4 3 31 0;
72 | #X connect 4 4 36 0;
73 | #X connect 4 5 35 0;
74 | #X connect 4 6 23 0;
75 | #X connect 15 0 13 0;
76 | #X connect 23 0 24 0;
77 | #X connect 31 0 27 0;
78 | #X connect 32 0 30 0;
79 | #X connect 33 0 29 0;
80 | #X connect 34 0 28 0;
81 | #X connect 35 0 25 0;
82 | #X connect 36 0 26 0;
83 | #X connect 38 0 45 0;
84 | #X connect 41 0 42 0;
85 | #X connect 42 0 43 0;
86 | #X connect 43 0 21 0;
87 | #X connect 43 0 39 0;
88 | #X connect 44 0 20 0;
89 | #X connect 44 0 40 0;
90 | #X connect 45 0 19 0;
91 | #X connect 45 0 37 0;
92 | #X coords 0 -1 1 1 160 80 1 10 10;
93 |
--------------------------------------------------------------------------------
/OSCRoutes.md:
--------------------------------------------------------------------------------
1 | # karmaSoundAnalyser
2 |
3 | ## OSC addresses
4 | All OSC addresses are prepended with `/kmsa`.
5 |
6 | ### Output
7 | The following MIR variables are streamed over OSC.
8 |
9 | | Address | Type | Range | MIR Description |
10 | | :--- | :--- | :--- | :--- |
11 | | __Balance__ ||||
12 | | /balance/pan | float | -1.0 to 1.0 | Balance between left and right audio channels. |
13 | | /balance/ampL | float | 0.0 to 1.0 | Amplitude of the left audio channel.|
14 | | /balance/ampR | float | 0.0 to 1.0 | Amplitude of the right audio channel. |
15 | | __Aubio__ |
16 | | /aubio/isPlaying | bool | true / false | Indicates if there's audio playing. |
17 | | /aubio/isQuiet | bool | true / false | Indicates if there's silence. |
18 | | /aubio/attack | bang | | Onset / attack event notifier. |
19 | | /aubio/tempo | bang | | Tempo detection. Sends beat events. |
20 | | /aubio/tempoAlt | bang | | Detects an alternative tempo. |
21 | | /aubio/pitch | int | 0 to ∞ | Tries to detect a dominating pitch, sends it's value (in Hz) if found, otherwise 0. |
22 | | /aubio/zcr | float | 0.0 to 1.0 | Zero crossings rate. |
23 | | /aubio/transients | float | 0.0 to 1.0 | Transients treshold. Transients indicate unstable sound signals or newly introduced sound signals. |
24 | | /aubio/steadyState | float | 0.0 to 1.0 | Steady-state treshold. Indicates stable sounds that remain over time. |
25 | | __Metronom__ |
26 | | /metronom/tick | bang | | A notification on every tick. |
27 | | /metronom/tickNum | int | 0 to 3 _*_ | Tick number. 0 is the accented tick.
_*_ The metronom's accent defines the number of ticks. |
28 | | /metronom/accentTick | bang | | A notification on the metronom accent tick (Same as tick #1). |
29 | | /metronom/cycles | int | 0 to ∞| Number of cycles detected, increments every 4 _*_ ticks.
_*_ Based on `accent` default value: 4. |
30 | | /metronom/BPM | int | 0 to ±200 | Currently estimated BPM. |
31 | | __Fiddle__ |
32 | | /fiddle/attack | bang | | A notification on every beat. |
33 | | /fiddle/pitch | int | 0 to ∞ | Tries to detect a dominating pitch, sends it's value (in Hz) if found, otherwise 0. |
34 | | /fiddle/pitchRaw | int | 0 to ∞ | Same as above but updated more frequently. (_update rate 150Hz max_) |
35 | | /fiddle/amp | float | 0.0 to 1.0 | Amplitude of audio signal. |
36 | | /fiddle/ampRaw | float | 0.0 to 1.0 | Same as above but updated more frequently. (_update rate 150Hz max_) |
37 | | /fiddle/silence | bang | true / false | Turns true after 2 secs of silence. |
38 | | __Notes__ |
39 | | /notes/1 (to 7) | array | | Frequently detected notes. Sends an array of: [ID, amplitude, frequency, change flag] |
--------------------------------------------------------------------------------
/karmaOSCNative.pd:
--------------------------------------------------------------------------------
1 | #N canvas 215 134 944 509 10;
2 | #X text 378 249 OSC SERVER CONFIGURATION;
3 | #X text 201 258 - - - - - - - - - - - - - - - - - - - - - - - - - -
4 | ;
5 | #X obj 203 418 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
6 | 1;
7 | #X obj 203 363 spigot;
8 | #X obj 298 301 spigot;
9 | #X obj 298 324 print;
10 | #X obj 203 396 netsend -u -b;
11 | #X obj 211 439 s osc_status;
12 | #X obj 203 275 r osc_out_raw;
13 | #X msg 387 355 connect 192.168.0.11 12000;
14 | #X text 202 249 :: OSC ROUTING ::;
15 | #X text 664 265 Listen for re-connection..;
16 | #X obj 656 325 oscparse;
17 | #X msg 656 282 listen 12001;
18 | #X obj 656 304 netreceive -u -b 12001;
19 | #X obj 716 368 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
20 | -1 -1;
21 | #X msg 387 378 disconnect;
22 | #X msg 852 287 listen 0;
23 | #X obj 656 416 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
24 | -1 -1;
25 | #X obj 656 367 route km;
26 | #X obj 656 346 list trim;
27 | #X text 738 368 Unrecognized command received;
28 | #X text 754 284 Disconnects -->;
29 | #X obj 656 392 route reconnectKMSA;
30 | #X obj 788 392 route ping;
31 | #X obj 788 414 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
32 | -1 -1;
33 | #X text 207 62 karmaOSCNative can be replaced with karmaOSCMrPeach
34 | for better performance \, but requires to install the Mr Peach library.
35 | ;
36 | #X text 207 23 :: karmaOSCNative ::;
37 | #X obj 1 125 cnv 15 178 104 empty empty empty 20 12 0 14 -191407 -66577
38 | 0;
39 | #X obj 8 206 tgl 15 0 \$0-kon-debug \$0-kon-debug-set empty 17 7 0
40 | 10 -262144 -1 -1 0 1;
41 | #X text 27 206 Print Output to Console;
42 | #X obj 331 275 r \$0-kon-debug;
43 | #X text 4 146 IP;
44 | #X text 22 128 Configuration;
45 | #X obj 24 167 tgl 15 1 empty \$0-kon-status OSC_out_status 17 7 0 10
46 | -262144 -1 -1 0 1;
47 | #X obj 788 435 km_osc_format /pong;
48 | #X msg 24 146 connect localhost 12000;
49 | #X obj 203 461 s \$0-kon-status;
50 | #X text 293 396 -u = UDP \, -b = binary;
51 | #X text 224 417 UDP Status;
52 | #X obj 206 129 loadbang;
53 | #X obj 207 163 s \$0-kon-netsend;
54 | #X obj 387 330 r \$0-kon-netsend;
55 | #X text 754 26 SET DEFAULTS;
56 | #X obj 758 49 loadbang;
57 | #X obj 758 97 s \$0-kon-debug-set;
58 | #X obj 758 73 i 0;
59 | #X text 294 440 Global notifier;
60 | #X obj 656 438 s \$0-kon-reconnect;
61 | #X obj 262 129 r \$0-kon-reconnect;
62 | #X obj 236 317 loadbang;
63 | #X obj 236 340 i 0;
64 | #X obj 656 244 loadbang;
65 | #X obj 208 202 s \$0-kon-netreceive;
66 | #X obj 592 223 r \$0-kon-netreceive;
67 | #X msg 24 185 listen 12001;
68 | #X msg 115 185 listen 0;
69 | #X text 207 39 Lets other Pd patches send data to osc_out_raw;
70 | #X text 690 456 Other routes have yet to be defined.;
71 | #X connect 2 0 3 1;
72 | #X connect 2 0 7 0;
73 | #X connect 2 0 37 0;
74 | #X connect 3 0 6 0;
75 | #X connect 4 0 5 0;
76 | #X connect 6 0 2 0;
77 | #X connect 8 0 4 0;
78 | #X connect 8 0 3 0;
79 | #X connect 9 0 6 0;
80 | #X connect 12 0 20 0;
81 | #X connect 13 0 14 0;
82 | #X connect 14 0 12 0;
83 | #X connect 16 0 6 0;
84 | #X connect 17 0 14 0;
85 | #X connect 18 0 48 0;
86 | #X connect 19 0 23 0;
87 | #X connect 19 0 24 0;
88 | #X connect 19 1 15 0;
89 | #X connect 20 0 19 0;
90 | #X connect 23 0 18 0;
91 | #X connect 24 0 25 0;
92 | #X connect 25 0 35 0;
93 | #X connect 31 0 4 1;
94 | #X connect 36 0 41 0;
95 | #X connect 40 0 36 0;
96 | #X connect 42 0 6 0;
97 | #X connect 44 0 46 0;
98 | #X connect 46 0 45 0;
99 | #X connect 49 0 36 0;
100 | #X connect 50 0 51 0;
101 | #X connect 51 0 3 1;
102 | #X connect 52 0 13 0;
103 | #X connect 54 0 14 0;
104 | #X connect 55 0 53 0;
105 | #X connect 56 0 53 0;
106 | #X coords 0 -1 1 1 180 120 1 0 110;
107 |
--------------------------------------------------------------------------------
/karmaOSCMrPeach.pd:
--------------------------------------------------------------------------------
1 | #N canvas 366 196 944 509 10;
2 | #X declare -stdpath mrpeach;
3 | #X text 378 249 OSC SERVER CONFIGURATION;
4 | #X text 201 258 - - - - - - - - - - - - - - - - - - - - - - - - - -
5 | ;
6 | #X obj 203 418 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
7 | 1;
8 | #X obj 203 363 spigot;
9 | #X obj 298 301 spigot;
10 | #X obj 298 324 print;
11 | #X obj 211 439 s osc_status;
12 | #X obj 203 275 r osc_out_raw;
13 | #X msg 387 356 connect 192.168.0.11 12000;
14 | #X text 202 249 :: OSC ROUTING ::;
15 | #X text 664 265 Listen for re-connection..;
16 | #X obj 766 368 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
17 | -1 -1;
18 | #X msg 387 379 disconnect;
19 | #X obj 656 416 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
20 | -1 -1;
21 | #X text 788 368 Unrecognized command received;
22 | #X text 754 284 Disconnects -->;
23 | #X obj 808 414 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
24 | -1 -1;
25 | #X text 207 62 karmaOSCNative can be replaced with karmaOSCMrPeach
26 | for better performance \, but requires to install the Mr Peach library.
27 | ;
28 | #X text 207 23 :: karmaOSCNative ::;
29 | #X obj 1 125 cnv 15 178 104 empty empty empty 20 12 0 14 -191407 -66577
30 | 0;
31 | #X obj 8 206 tgl 15 0 \$0-kop-debug \$0-kop-debug-set empty 17 7 0
32 | 10 -262144 -1 -1 0 1;
33 | #X text 27 206 Print Output to Console;
34 | #X obj 331 275 r \$0-kop-debug;
35 | #X text 4 146 IP;
36 | #X text 22 128 Configuration;
37 | #X obj 24 167 tgl 15 1 empty \$0-kop-status OSC_out_status 17 7 0 10
38 | -262144 -1 -1 1 1;
39 | #X obj 808 435 km_osc_format /pong;
40 | #X msg 24 146 connect localhost 12000;
41 | #X obj 203 461 s \$0-kop-status;
42 | #X text 224 417 UDP Status;
43 | #X obj 206 129 loadbang;
44 | #X obj 387 331 r \$0-kop-netsend;
45 | #X text 756 51 SET DEFAULTS;
46 | #X obj 760 74 loadbang;
47 | #X obj 760 122 s \$0-kop-debug-set;
48 | #X obj 760 98 i 0;
49 | #X text 294 440 Global notifier;
50 | #X obj 656 438 s \$0-kop-reconnect;
51 | #X obj 236 317 loadbang;
52 | #X obj 236 340 i 0;
53 | #X obj 656 244 loadbang;
54 | #X obj 592 223 r \$0-kop-netreceive;
55 | #X text 207 39 Lets other Pd patches send data to osc_out_raw;
56 | #X text 690 456 Other routes have yet to be defined.;
57 | #X obj 262 129 r \$0-kop-reconnect;
58 | #X obj 207 163 s \$0-kop-netsend;
59 | #X obj 208 202 s \$0-kop-netreceive;
60 | #X obj 506 9 declare -stdpath mrpeach;
61 | #X text 660 10 Make sure to load MrPeach;
62 | #X obj 203 396 mrpeach/udpsend;
63 | #X obj 656 304 mrpeach/unpackOSC 12001;
64 | #X msg 852 287 port 0;
65 | #X msg 656 282 port 12001;
66 | #X obj 656 325 mrpeach/unpackOSC;
67 | #X obj 656 367 routeOSC /kmsa;
68 | #X obj 656 392 routeOSC /reconnectKMSA;
69 | #X obj 808 392 routeOSC /ping;
70 | #X msg 24 185 port 12001;
71 | #X msg 115 185 port 0;
72 | #X connect 2 0 3 1;
73 | #X connect 2 0 6 0;
74 | #X connect 2 0 28 0;
75 | #X connect 3 0 49 0;
76 | #X connect 4 0 5 0;
77 | #X connect 7 0 4 0;
78 | #X connect 7 0 3 0;
79 | #X connect 8 0 49 0;
80 | #X connect 12 0 49 0;
81 | #X connect 13 0 37 0;
82 | #X connect 16 0 26 0;
83 | #X connect 22 0 4 1;
84 | #X connect 27 0 45 0;
85 | #X connect 30 0 27 0;
86 | #X connect 31 0 49 0;
87 | #X connect 33 0 35 0;
88 | #X connect 35 0 34 0;
89 | #X connect 38 0 39 0;
90 | #X connect 39 0 3 1;
91 | #X connect 40 0 52 0;
92 | #X connect 41 0 50 0;
93 | #X connect 44 0 27 0;
94 | #X connect 49 0 2 0;
95 | #X connect 50 0 53 0;
96 | #X connect 51 0 50 0;
97 | #X connect 52 0 50 0;
98 | #X connect 53 0 54 0;
99 | #X connect 54 0 55 0;
100 | #X connect 54 0 56 0;
101 | #X connect 54 1 11 0;
102 | #X connect 55 0 13 0;
103 | #X connect 56 0 16 0;
104 | #X connect 57 0 46 0;
105 | #X connect 58 0 46 0;
106 | #X coords 0 -1 1 1 180 120 1 0 110;
107 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | karmaSoundAnalyser
2 | ==================
3 |
4 | A Puredata real-time music analysis patch retrieving humanly sensitive information from a live audio stream by using various methods.
5 | Streams [Music Information Retrieval](https://en.wikipedia.org/wiki/Music_information_retrieval) data over a LAN using [OSC](https://en.wikipedia.org/wiki/Open_Sound_Control).
6 | Pure Data is multiplatform, as is this patch: Linux, Mac & Windows.
7 |
8 | 
9 | _Note:_ [Click here to watch an older demo video](https://vimeo.com/84516862)
10 |
11 | ## License
12 | For the moment karmaSoundAnalyser's license is not clear. Particularly if you use it in a commercial project, please make sure to double-check the respective licenses of it's dependencies and their compatibility with the MIT license.
13 |
14 | ## Details
15 | karmaSoundAnalyser is divided into several `.pd` abstractions, each one handling the analysis of a particular musical aspect.
16 | This Pure Data patch uses the excellent lib Aubio for onset and tempo detection. Alternatively you can use karmaFiddle using the native `fiddle` object for onset detection.
17 | Other features include an alternative onSet detection, pitch detection, silence detection, a 5-band equaliser, note detection, etc.
18 |
19 | ### OSC Routing
20 | For a full list of MIR data, please refer to the [OSC addresses table](https://github.com/Karma-Kusala/karmaSoundAnalyser/blob/master/OSCRoutes.md).
21 |
22 | __Note__: _Not all collected data is yet forwarded trough OSC._
23 |
24 | __Note__: _Configure Pd to load Aubio on launch or you'll have to open the pd patch twice._
25 |
26 | ## Dependencies
27 |
28 | - [Pure Data](http://puredata.info/) `v0.47-1-64bit` - The host app for this patch.
29 | - [Lib Aubio Pd plugin](http://aubio.org/pd-aubio/) `v0.4` - A Pd plugin for detecting tempo and more. (Warning: GNU/GPL licensed)
30 | - Recomended: A __wired__ LAN for better performance.
31 | - Optional: MrPeach Pd externals.
32 |
33 | ----
34 | ## Installation
35 |
36 | ### Linux
37 | `sudo apt-get install puredata pd-aubio pd-cyclone pd-mrpeach`
38 | add /usr/lib/pg/extra/cyclone to your pb library search paths (from pd preferences)
39 | Start Pd with `/usr/bin/pd -rt -oss -audiooutdev "2,3,4,5,6" -outchannels "2,2,2,2,2"`.
40 |
41 | Installing Jack on linux can also be useful for routing audio.
42 | `sudo-apt-get install jackd qjackctl`
43 |
44 | ### Rpi
45 | Follow the Linux installation notes.
46 | Feel free to add additional setup notes in a pull request. :-)
47 |
48 | ### Mac OSX
49 | On mac you need [Pd-vanilla 0.47-1-64bit](https://puredata.info/downloads/pure-data) and [Aubio 0.4](http://aubio.org/pd-aubio/), then it should work out of the box. Later versions should also work.
50 |
51 | __Optional__: You can install the MrPeach externals via: Pd < Help < Find Externals, then type `mr peach` and install it.
52 |
53 | __Hint__: _To get started quickly, use [VLC](http://www.videolan.org/) to play a track and output it trough [SoundFlower](https://github.com/mattingalls/Soundflower) (2ch), then set the Pd sound input to Soundflower accordingly. Alternatively use [Jack OSX](http://www.jackaudio.org/) to route audio._
54 |
55 | ### Windows
56 | Sorry, windows is yet untested but there's no reason it won't work.
57 | Feel free to add setup notes in a pull request. :-)
58 |
59 | ----
60 | ## Run
61 | Simply open `karmaSoundAnalyser-PdVanilla.pd` with Pure Data.
62 | You can _right click_ < _open_ each abstraction to see what's happening within.
63 | I recommend reading [the Pd Floss Manuals](http://write.flossmanuals.net/pure-data/introduction2/) if you're not familiar with Pd. ( [French version here](https://www.flossmanualsfr.net/puredata/) )
64 |
65 | ----
66 | ## Thanks
67 | - Julien Rancoeur ([Fx23](https://soundcloud.com/fx23) / [ADN](http://artdistorsionsnumeriques.com/) )
68 | - [François Parra](http://www.autotune.eu/)
69 | - Clément Sablé( [Nëru](https://neru.io/) )
70 |
71 | ----
72 | Brewed by [Daan de Lange](http://daandelange.com/) within the [Karma Kusala](http://karma-kusala.com/) lab.
73 |
--------------------------------------------------------------------------------
/km_resample_avg.pd:
--------------------------------------------------------------------------------
1 | #N canvas 111 98 875 573 10;
2 | #X obj 230 32 inlet;
3 | #X obj 226 434 outlet;
4 | #X obj 230 253 list append;
5 | #X obj 325 284 metro \$1;
6 | #X obj 262 57 bng 15 250 50 0 empty empty start_emitting 17 7 0 10
7 | -262144 -1 -1;
8 | #X text 39 6 Creation argument sets the maximum sample rate in ms.
9 | ;
10 | #X msg 278 435 stop;
11 | #X obj 226 406 nbx 5 14 -1e+37 1e+37 0 0 empty empty Last_sent_number
12 | 0 -8 0 10 -262144 -1 -1 0.91716 256;
13 | #X obj 388 181 loadbang;
14 | #X obj 388 201 i \$1;
15 | #X floatatom 370 262 5 0 0 1 Current_sample_rate_(ms) - -, f 5;
16 | #X obj 230 329 list length;
17 | #X floatatom 230 357 5 0 0 1 buffer_size - -, f 5;
18 | #X obj 325 307 bng 15 250 50 0 empty empty trigger_output_flush 17
19 | 7 0 10 -262144 -1 -1;
20 | #X obj 325 230 i 1, f 4;
21 | #X obj 341 124 i 0;
22 | #X obj 341 100 bng 15 250 50 0 empty empty stop_emitting 17 7 0 10
23 | -262144 -1 -1;
24 | #X obj 4 283 until;
25 | #X obj 4 338 list split 1;
26 | #X obj 73 362 bang;
27 | #X obj 5 187 i;
28 | #X obj 4 311 list append;
29 | #X obj 4 372 +;
30 | #X obj 256 278 t l;
31 | #X obj 166 182 list;
32 | #X obj 127 314 list length;
33 | #X floatatom 17 214 5 0 0 0 - - -, f 5;
34 | #X obj 4 399 f 0;
35 | #X obj 26 456 /;
36 | #X obj 127 158 t b b;
37 | #X obj 5 426 f 0;
38 | #X obj 262 79 i 1;
39 | #X obj 262 149 spigot 1;
40 | #X obj 307 104 != 1;
41 | #X obj 307 128 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
42 | 1;
43 | #X obj 341 151 spigot 1;
44 | #X obj 29 242 sel 0;
45 | #X obj 46 263 + 1;
46 | #X obj 166 210 t l b;
47 | #X obj 52 433 i;
48 | #X obj 176 246 i 0;
49 | #X obj 5 104 loadbang;
50 | #X obj 88 215 t b;
51 | #X text 207 468 TODO: add max buffer size to trigger flush;
52 | #X obj 5 152 i 1;
53 | #X obj 341 76 loadbang;
54 | #X obj 388 222 sel 0;
55 | #X obj 388 242 i 50;
56 | #X text 419 239 Default sampling rate (ms);
57 | #X obj 379 415 i;
58 | #X obj 417 416 + 1;
59 | #X floatatom 379 438 5 0 0 0 - - -, f 5;
60 | #X obj 336 414 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
61 | -1 -1;
62 | #X floatatom 389 386 5 0 0 0 - - -, f 5;
63 | #X obj 391 366 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
64 | -1 -1;
65 | #X obj 512 403 km_clean_signal;
66 | #X obj 162 386 change 0;
67 | #X obj 396 339 metro 1000;
68 | #X obj 407 318 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
69 | -1 -1;
70 | #X connect 0 0 2 0;
71 | #X connect 0 0 4 0;
72 | #X connect 2 0 11 0;
73 | #X connect 2 0 23 0;
74 | #X connect 2 0 24 1;
75 | #X connect 3 0 13 0;
76 | #X connect 4 0 31 0;
77 | #X connect 7 0 1 0;
78 | #X connect 7 0 6 0;
79 | #X connect 7 0 52 0;
80 | #X connect 8 0 9 0;
81 | #X connect 9 0 46 0;
82 | #X connect 10 0 3 1;
83 | #X connect 11 0 12 0;
84 | #X connect 13 0 29 0;
85 | #X connect 14 0 3 0;
86 | #X connect 14 0 33 0;
87 | #X connect 14 0 35 1;
88 | #X connect 15 0 35 0;
89 | #X connect 16 0 15 0;
90 | #X connect 17 0 21 0;
91 | #X connect 18 0 22 0;
92 | #X connect 18 1 21 1;
93 | #X connect 18 2 19 0;
94 | #X connect 19 0 17 1;
95 | #X connect 19 0 30 0;
96 | #X connect 19 0 39 0;
97 | #X connect 20 0 26 0;
98 | #X connect 20 0 28 1;
99 | #X connect 20 0 36 0;
100 | #X connect 20 0 39 1;
101 | #X connect 21 0 18 0;
102 | #X connect 22 0 27 0;
103 | #X connect 23 0 2 1;
104 | #X connect 24 0 38 0;
105 | #X connect 25 0 20 1;
106 | #X connect 27 0 22 1;
107 | #X connect 27 0 30 1;
108 | #X connect 28 0 56 0;
109 | #X connect 29 0 20 0;
110 | #X connect 29 1 24 0;
111 | #X connect 30 0 28 0;
112 | #X connect 31 0 32 0;
113 | #X connect 32 0 14 0;
114 | #X connect 33 0 34 0;
115 | #X connect 34 0 32 1;
116 | #X connect 35 0 14 0;
117 | #X connect 36 0 42 0;
118 | #X connect 36 1 37 0;
119 | #X connect 37 0 17 0;
120 | #X connect 38 0 25 0;
121 | #X connect 38 0 21 1;
122 | #X connect 38 1 2 1;
123 | #X connect 38 1 15 0;
124 | #X connect 38 1 40 0;
125 | #X connect 40 0 22 1;
126 | #X connect 41 0 44 0;
127 | #X connect 42 0 56 0;
128 | #X connect 42 0 17 1;
129 | #X connect 44 0 20 0;
130 | #X connect 45 0 16 0;
131 | #X connect 46 0 47 0;
132 | #X connect 46 1 10 0;
133 | #X connect 47 0 10 0;
134 | #X connect 49 0 51 0;
135 | #X connect 49 0 50 0;
136 | #X connect 50 0 49 1;
137 | #X connect 52 0 49 0;
138 | #X connect 53 0 49 0;
139 | #X connect 54 0 53 0;
140 | #X connect 56 0 7 0;
141 | #X connect 57 0 54 0;
142 | #X connect 58 0 57 0;
143 |
--------------------------------------------------------------------------------
/karmaSoundAnalyser-PdVanilla.pd:
--------------------------------------------------------------------------------
1 | #N canvas 17 22 1299 682 10;
2 | #X obj 245 365 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
3 | 1;
4 | #X text 190 363 (on/off);
5 | #X obj 611 134 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
6 | 1;
7 | #X text 630 133 (on/off);
8 | #X obj 183 348 loadbang;
9 | #X obj 611 111 loadbang;
10 | #X obj 52 392 karmaFiddle;
11 | #X obj 368 160 karmaAubio;
12 | #X obj 54 163 karmaBalance;
13 | #X obj 190 153 karmaAudioOut;
14 | #X obj 826 292 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
15 | -1 -1;
16 | #X obj 291 22 karmaDSP;
17 | #X obj 54 20 cnv 15 220 80 empty empty empty 20 12 0 14 -191407 -66577
18 | 0;
19 | #X text 65 45 Make sure to run this with;
20 | #X text 64 77 Needs pd-Aubio 0.3 or later.;
21 | #X text 64 27 :: karmaSoundAnalyser ::;
22 | #X text 64 61 Pd-Vanilla 0.47-0-64bit or later.;
23 | #X text 936 154 Use either [karmaOSCNative] or [karmaOSCMrPeach];
24 | #X text 935 183 karmaOSCMrPeach performs better but needs MrPeach libs.
25 | ;
26 | #X obj 822 407 karmaNotes;
27 | #X obj 819 133 karmaMetronom;
28 | #X obj 368 454 km_osc_format /aubio/attack;
29 | #X text 935 169 Note: Also open km_osc_format.pd and change accordingly.
30 | ;
31 | #X obj 93 279 km_osc_format /balance/ampR;
32 | #X obj 54 300 km_osc_format /balance/ampL;
33 | #X obj 132 258 km_osc_format /balance/pan;
34 | #X obj 489 366 km_osc_format /aubio/isQuiet;
35 | #X obj 459 388 km_osc_format /aubio/isPlaying;
36 | #X obj 398 432 km_osc_format /aubio/tempo;
37 | #X obj 428 410 km_osc_format /aubio/tempoAlt;
38 | #X obj 519 345 km_osc_format /aubio/pitch;
39 | #X obj 550 324 km_osc_format /aubio/zcr;
40 | #X obj 611 284 km_osc_format /aubio/steadyState;
41 | #X obj 580 304 km_osc_format /aubio/transients;
42 | #X obj 245 518 km_osc_format /fiddle/silence;
43 | #X obj 206 539 km_osc_format /fiddle/rawAmp;
44 | #X obj 167 561 km_osc_format /fiddle/amp;
45 | #X obj 129 582 km_osc_format /fiddle/rawPitch;
46 | #X obj 90 603 km_osc_format /fiddle/pitch;
47 | #X obj 52 624 km_osc_format /fiddle/attack;
48 | #X obj 894 243 km_osc_format /metronom/BPM;
49 | #X obj 869 267 km_osc_format /metronom/cycles;
50 | #X obj 844 291 km_osc_format /metronom/accent;
51 | #X obj 826 314 km_osc_format /metronom/tick;
52 | #X obj 819 337 km_osc_format /metronom/tickNum;
53 | #X obj 935 28 karmaOSCMrPeach;
54 | #X obj 873 627 km_osc_format /notes/1 \$2 \$3 \$4;
55 | #X obj 54 140 r~ L;
56 | #X obj 132 140 r~ R;
57 | #X obj 190 129 r~ L;
58 | #X obj 265 129 r~ R;
59 | #X obj 367 22 cnv 15 140 80 empty empty empty 20 12 0 14 -191407 -66577
60 | 0;
61 | #X obj 376 47 adc~, f 5;
62 | #X text 376 26 :: AUDIO SOURCE ::;
63 | #X obj 376 78 s~ L;
64 | #X obj 410 78 s~ R;
65 | #X obj 368 137 r~ L;
66 | #X obj 489 137 r~ R;
67 | #X obj 381 324 s aubioTempo;
68 | #X obj 819 106 r aubioTempo;
69 | #X obj 52 364 r~ L;
70 | #X obj 148 365 r~ R;
71 | #X obj 822 380 r~ L;
72 | #X obj 898 381 r~ R;
73 | #X obj 890 605 km_osc_format /notes/2 \$2 \$3 \$4;
74 | #X obj 907 583 km_osc_format /notes/3 \$2 \$3 \$4;
75 | #X obj 924 561 km_osc_format /notes/4 \$2 \$3 \$4;
76 | #X obj 941 539 km_osc_format /notes/5 \$2 \$3 \$4;
77 | #X obj 975 495 km_osc_format /notes/7 \$2 \$3 \$4;
78 | #X obj 958 517 km_osc_format /notes/6 \$2 \$3 \$4;
79 | #X connect 0 0 6 2;
80 | #X connect 2 0 7 2;
81 | #X connect 4 0 0 0;
82 | #X connect 5 0 2 0;
83 | #X connect 6 0 39 0;
84 | #X connect 6 1 38 0;
85 | #X connect 6 2 37 0;
86 | #X connect 6 3 36 0;
87 | #X connect 6 4 35 0;
88 | #X connect 6 5 34 0;
89 | #X connect 7 0 21 0;
90 | #X connect 7 1 28 0;
91 | #X connect 7 1 58 0;
92 | #X connect 7 2 29 0;
93 | #X connect 7 3 27 0;
94 | #X connect 7 4 26 0;
95 | #X connect 7 5 30 0;
96 | #X connect 7 6 31 0;
97 | #X connect 7 7 33 0;
98 | #X connect 7 8 32 0;
99 | #X connect 8 0 24 0;
100 | #X connect 8 1 23 0;
101 | #X connect 8 2 25 0;
102 | #X connect 10 0 43 0;
103 | #X connect 19 3 46 0;
104 | #X connect 19 4 64 0;
105 | #X connect 19 5 65 0;
106 | #X connect 19 6 66 0;
107 | #X connect 19 7 67 0;
108 | #X connect 19 8 69 0;
109 | #X connect 19 9 68 0;
110 | #X connect 20 0 10 0;
111 | #X connect 20 0 44 0;
112 | #X connect 20 1 42 0;
113 | #X connect 20 2 41 0;
114 | #X connect 20 3 40 0;
115 | #X connect 47 0 8 0;
116 | #X connect 48 0 8 1;
117 | #X connect 49 0 9 0;
118 | #X connect 50 0 9 1;
119 | #X connect 52 0 54 0;
120 | #X connect 52 1 55 0;
121 | #X connect 56 0 7 0;
122 | #X connect 57 0 7 1;
123 | #X connect 59 0 20 0;
124 | #X connect 60 0 6 0;
125 | #X connect 61 0 6 1;
126 | #X connect 62 0 19 0;
127 | #X connect 63 0 19 1;
128 |
--------------------------------------------------------------------------------
/karmaAubio.pd:
--------------------------------------------------------------------------------
1 | #N canvas 74 22 1248 659 10;
2 | #X obj 39 329 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
3 | -1;
4 | #X obj 555 286 aubiopitch~;
5 | #X obj 555 353 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
6 | -262144 -1 -1 3126 256;
7 | #X obj 128 330 bng 15 50 10 0 empty empty empty 17 7 0 10 -262144 -1
8 | -1;
9 | #X obj 215 331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
10 | -1 -1;
11 | #X obj 128 286 aubiotempo~ 0.5;
12 | #X text 286 31 Uses lib Aubio to get several MIR information;
13 | #X obj 409 64 inlet~ LeftAudio;
14 | #X obj 521 64 inlet~ RightAudio;
15 | #X obj 324 287 aubioquiet~;
16 | #X obj 686 71 inlet on_off_switch;
17 | #X obj 536 88 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
18 | 1;
19 | #X obj 917 174 aubiotss~;
20 | #X obj 917 259 vsl 15 100 0 1 0 0 empty empty empty 0 -9 0 10 -262144
21 | -1 -1 370 1;
22 | #X obj 917 198 env~;
23 | #X obj 968 259 vsl 15 100 0 1 0 0 empty empty empty 0 -9 0 10 -262144
24 | -1 -1 226 1;
25 | #X obj 968 199 env~;
26 | #X obj 917 151 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
27 | -1 -1 0 0;
28 | #X floatatom 988 166 5 0 0 0 - - -, f 5;
29 | #X text 914 133 Variation Threshold;
30 | #X obj 768 186 aubiozcr~;
31 | #X floatatom 768 238 5 0 0 0 - - -, f 5;
32 | #X obj 40 551 i 0;
33 | #X text 40 463 Reset all values;
34 | #X obj 50 505 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
35 | -1;
36 | #X obj 50 525 delay 1000;
37 | #X obj 40 480 r aubio-off;
38 | #X obj 40 578 s aubio_reset;
39 | #X floatatom 768 309 5 0 0 0 - - -, f 5;
40 | #X obj 734 325 -;
41 | #X obj 734 347 abs;
42 | #X obj 713 431 sqrt;
43 | #X text 12 172 Treshold Tempo;
44 | #X text 13 195 Treshold OnSet;
45 | #X text 775 221 Zcr;
46 | #X text 804 310 Smoothed;
47 | #X obj 771 427 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
48 | -1 -1 967 1;
49 | #X obj 771 448 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
50 | -1 -1 792 1;
51 | #X obj 687 325 hsl 40 15 -0.1 0.1 0 0 empty empty empty -2 -8 0 10
52 | -262144 -1 -1 0 1;
53 | #X floatatom 153 175 5 0 0 0 - - -, f 5;
54 | #X obj 106 175 hsl 40 15 0 4 0 0 empty empty empty -2 -8 0 10 -262144
55 | -1 -1 0 1;
56 | #X floatatom 153 195 5 0 0 0 - - -, f 5;
57 | #X obj 106 196 hsl 40 15 0 2 0 0 empty empty empty -2 -8 0 10 -262144
58 | -1 -1 0 1;
59 | #X floatatom 697 344 5 0 0 0 - - -, f 5;
60 | #X text 101 153 PARAMETERS;
61 | #X text 682 308 Treshold;
62 | #X obj 917 397 -, f 2;
63 | #X obj 768 350 * 5;
64 | #X obj 669 364 -;
65 | #X text 766 463 ZeroCross Variation;
66 | #X obj 713 408 * 2;
67 | #X obj 324 339 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
68 | 1;
69 | #X obj 917 449 sqrt;
70 | #X text 766 477 (~cymbal detection);
71 | #X obj 858 16 aubio;
72 | #X obj 39 284 aubioonset~;
73 | #X obj 409 103 *~;
74 | #X obj 521 110 *~;
75 | #X obj 917 472 sqrt;
76 | #X text 898 13 Loads Aubio lib on misconfigured Pd installations;
77 | #X obj 768 258 km_smooth 10;
78 | #X obj 917 426 km_smooth 30;
79 | #X obj 669 386 km_smooth 3;
80 | #X obj 968 226 dbtorms;
81 | #X text 910 96 Transients are new sounds and unstable ones;
82 | #X obj 917 225 dbtorms;
83 | #X obj 920 541 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
84 | -1 -1 8176 1;
85 | #X obj 564 375 vsl 15 60 0 1200 0 0 empty empty empty 0 -9 0 10 -262144
86 | -1 -1 5900 1;
87 | #X obj 387 309 i 1;
88 | #X obj 324 309 i 0;
89 | #X obj 440 363 == 0;
90 | #X text 900 27 (not to reload the sketch);
91 | #X obj 1 15 cnv 15 248 53 empty empty Settings 18 8 0 14 -191407 -66577
92 | 0;
93 | #X obj 138 382 outlet tempo;
94 | #X obj 221 382 outlet tempoAlt;
95 | #X obj 215 405 s \$0-a-tempoAlt;
96 | #X obj 39 405 s \$0-a-attack;
97 | #X obj 45 383 outlet attack;
98 | #X obj 333 383 outlet isPlaying;
99 | #X text 264 581 Todo: make a list of detected frequencies from aubiopitch?
100 | ;
101 | #X obj 568 472 outlet pitch;
102 | #X obj 555 494 s \$0-a-pitch;
103 | #X obj 555 449 change;
104 | #X obj 128 405 s \$0-a-tempo;
105 | #X obj 325 406 s \$0-a-isPlaying;
106 | #X obj 440 407 s \$0-a-isQuiet;
107 | #X obj 450 384 outlet isQuiet;
108 | #X text 555 518 Max 43 Hz update rate;
109 | #X text 285 16 :: karmaAubio ::;
110 | #X obj 774 395 s \$0-a-zcr;
111 | #X obj 783 372 outlet zcr;
112 | #X obj 768 328 change;
113 | #X text 923 559 (~Sound variation indicator);
114 | #X obj 917 494 max 0;
115 | #X obj 917 517 min 1;
116 | #X obj 917 579 change;
117 | #X obj 1016 396 outlet transients;
118 | #X obj 1052 297 outlet steadyState;
119 | #X obj 1042 275 change;
120 | #X obj 1 68 cnv 15 248 50 empty empty Outlets 18 8 0 14 -162280 -66577
121 | 0;
122 | #X obj 26 103 bng 15 250 50 0 empty \$0-a-tempo Tempo 0 -15 0 8 -262144
123 | -1 -1;
124 | #X obj 56 103 bng 15 250 50 0 empty \$0-a-tempoAlt TempoAlt 0 -7 0
125 | 8 -262144 -1 -1;
126 | #X obj 0 103 bng 15 250 50 0 empty \$0-a-attack Attack 2 -7 0 8 -262144
127 | -1 -1;
128 | #X obj 88 103 tgl 15 0 empty \$0-a-isPlaying isPlaying 0 -15 0 8 -262144
129 | -1 -1 1 1;
130 | #X obj 118 103 tgl 15 0 empty \$0-a-isQuiet isQuiet 0 -7 0 8 -262144
131 | -1 -1 0 1;
132 | #X obj 181 85 vsl 10 30 0 1 0 0 empty \$0-a-zcr Zcr 0 -9 0 8 -262144
133 | -1 -1 283 1;
134 | #X obj 208 85 vsl 10 30 0 1 0 0 empty \$0-a-transients Transients -10
135 | -9 0 8 -262144 -1 -1 1031 1;
136 | #X obj 237 85 vsl 10 30 0 1 0 0 empty \$0-a-steadyState SteadyState
137 | -43 -16 0 8 -262144 -1 -1 382 1;
138 | #X obj 1003 370 change;
139 | #X obj 1003 416 s \$0-a-transients;
140 | #X obj 1042 319 s \$0-a-steadyState;
141 | #X obj 555 329 i;
142 | #X text 580 329 Round;
143 | #X obj 138 104 nbx 4 14 0 1e+37 0 0 empty \$0-a-pitch Pitch 10 -15
144 | 0 8 -262144 -1 -1 3126 256;
145 | #X text 911 116 Steady-state indicates continuous \, similar sounds
146 | ;
147 | #X obj 555 308 km_resample_avg 100;
148 | #X obj 768 284 km_resample_avg 100;
149 | #X obj 1003 347 km_resample_avg 100;
150 | #X obj 1042 253 km_resample_avg 100;
151 | #X connect 0 0 76 0;
152 | #X connect 0 0 77 0;
153 | #X connect 1 0 115 0;
154 | #X connect 2 0 67 0;
155 | #X connect 2 0 82 0;
156 | #X connect 3 0 73 0;
157 | #X connect 3 0 83 0;
158 | #X connect 4 0 74 0;
159 | #X connect 4 0 75 0;
160 | #X connect 5 0 3 0;
161 | #X connect 5 1 4 0;
162 | #X connect 7 0 56 0;
163 | #X connect 8 0 57 0;
164 | #X connect 9 0 69 0;
165 | #X connect 9 1 68 0;
166 | #X connect 10 0 11 0;
167 | #X connect 11 0 56 1;
168 | #X connect 11 0 57 1;
169 | #X connect 12 0 14 0;
170 | #X connect 12 1 16 0;
171 | #X connect 13 0 46 0;
172 | #X connect 14 0 65 0;
173 | #X connect 15 0 46 1;
174 | #X connect 16 0 63 0;
175 | #X connect 17 0 12 1;
176 | #X connect 17 0 18 0;
177 | #X connect 20 0 21 0;
178 | #X connect 21 0 29 1;
179 | #X connect 21 0 60 0;
180 | #X connect 22 0 27 0;
181 | #X connect 24 0 25 0;
182 | #X connect 25 0 22 0;
183 | #X connect 26 0 22 0;
184 | #X connect 26 0 24 0;
185 | #X connect 28 0 29 0;
186 | #X connect 28 0 91 0;
187 | #X connect 29 0 30 0;
188 | #X connect 30 0 48 0;
189 | #X connect 31 0 37 0;
190 | #X connect 38 0 43 0;
191 | #X connect 38 0 48 1;
192 | #X connect 40 0 39 0;
193 | #X connect 40 0 5 1;
194 | #X connect 42 0 41 0;
195 | #X connect 42 0 55 1;
196 | #X connect 46 0 61 0;
197 | #X connect 47 0 36 0;
198 | #X connect 47 0 89 0;
199 | #X connect 47 0 90 0;
200 | #X connect 48 0 62 0;
201 | #X connect 50 0 31 0;
202 | #X connect 51 0 70 0;
203 | #X connect 51 0 78 0;
204 | #X connect 51 0 84 0;
205 | #X connect 52 0 58 0;
206 | #X connect 55 0 0 0;
207 | #X connect 56 0 55 0;
208 | #X connect 56 0 5 0;
209 | #X connect 56 0 9 0;
210 | #X connect 56 0 20 0;
211 | #X connect 56 0 12 0;
212 | #X connect 56 0 1 0;
213 | #X connect 57 0 55 0;
214 | #X connect 57 0 5 0;
215 | #X connect 57 0 1 0;
216 | #X connect 57 0 20 0;
217 | #X connect 57 0 12 0;
218 | #X connect 57 0 9 0;
219 | #X connect 58 0 93 0;
220 | #X connect 60 0 116 0;
221 | #X connect 61 0 52 0;
222 | #X connect 62 0 50 0;
223 | #X connect 63 0 15 0;
224 | #X connect 63 0 118 0;
225 | #X connect 65 0 13 0;
226 | #X connect 65 0 117 0;
227 | #X connect 66 0 95 0;
228 | #X connect 68 0 51 0;
229 | #X connect 69 0 51 0;
230 | #X connect 70 0 85 0;
231 | #X connect 70 0 86 0;
232 | #X connect 82 0 81 0;
233 | #X connect 82 0 80 0;
234 | #X connect 91 0 47 0;
235 | #X connect 93 0 94 0;
236 | #X connect 94 0 66 0;
237 | #X connect 98 0 97 0;
238 | #X connect 98 0 110 0;
239 | #X connect 108 0 96 0;
240 | #X connect 108 0 109 0;
241 | #X connect 111 0 2 0;
242 | #X connect 115 0 111 0;
243 | #X connect 116 0 28 0;
244 | #X connect 117 0 108 0;
245 | #X connect 118 0 98 0;
246 | #X coords 0 -1 1 1 250 120 1 0 0;
247 |
--------------------------------------------------------------------------------
/karmaFiddle.pd:
--------------------------------------------------------------------------------
1 | #N canvas 0 22 1223 669 10;
2 | #X obj 367 252 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
3 | -262144 -1 -1 0 256;
4 | #X obj 422 402 unpack;
5 | #X obj 422 437 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
6 | -262144 -1 -1 0 256;
7 | #X obj 555 419 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
8 | -262144 -1 -1 0 256;
9 | #X obj 422 461 route 0;
10 | #X obj 450 241 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
11 | -262144 -1 -1 0 256;
12 | #X obj 691 433 > 50;
13 | #X obj 691 456 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
14 | 1;
15 | #X obj 691 476 sel 1 0;
16 | #X obj 691 501 timer;
17 | #X floatatom 691 527 5 0 0 0 - - -, f 5;
18 | #X obj 691 593 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
19 | 1;
20 | #X text 352 302 Attack;
21 | #X text 479 438 Raw Pitch;
22 | #X text 554 402 Raw Amplitude;
23 | #X text 105 199 1024 = FFT window size;
24 | #X msg 108 221 npoints 1024;
25 | #X msg 108 247 npoints 2048;
26 | #X obj 691 549 > 2000;
27 | #X text 260 34 Uses the fiddle object to extract FFT and some other
28 | information.;
29 | #X obj 830 559 unpack;
30 | #X obj 830 582 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
31 | -262144 -1 -1 0 256;
32 | #X obj 863 582 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
33 | -262144 -1 -1 0 256;
34 | #X obj 845 480 unpack;
35 | #X text 827 43 5 EQUALIZER BANDS WITH THEIR PITCH (Hz) AND AMPLITUDE
36 | (rms);
37 | #X obj 845 500 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
38 | -262144 -1 -1 0 256;
39 | #X obj 878 500 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
40 | -262144 -1 -1 0 256;
41 | #X obj 861 401 unpack;
42 | #X obj 861 421 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
43 | -262144 -1 -1 0 256;
44 | #X obj 894 421 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
45 | -262144 -1 -1 0 256;
46 | #X obj 877 322 unpack;
47 | #X obj 877 342 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
48 | -262144 -1 -1 0 256;
49 | #X obj 910 342 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
50 | -262144 -1 -1 0 256;
51 | #X obj 893 244 unpack;
52 | #X obj 893 264 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
53 | -262144 -1 -1 0 256;
54 | #X obj 926 264 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
55 | -262144 -1 -1 0 256;
56 | #X obj 260 89 inlet~ LeftAudio;
57 | #X obj 367 89 inlet~ RightAudio;
58 | #X text 500 639 (potentially end of track/set);
59 | #X text 737 548 ms;
60 | #X obj 830 619 s fft1p;
61 | #X obj 863 599 s fft1a;
62 | #X obj 878 516 s fft2a;
63 | #X obj 861 457 s fft3p;
64 | #X obj 894 438 s fft3a;
65 | #X obj 877 378 s fft4p;
66 | #X obj 910 359 s fft4a;
67 | #X obj 893 300 s fft5p;
68 | #X obj 926 281 s fft5a;
69 | #X text 289 251 Cooked Pitch;
70 | #X text 507 241 Amplitude (db);
71 | #X obj 909 165 unpack;
72 | #X obj 909 185 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
73 | -262144 -1 -1 0 256;
74 | #X obj 942 185 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
75 | -262144 -1 -1 0 256;
76 | #X obj 942 202 s fft6a;
77 | #X obj 909 221 s fft6p;
78 | #X obj 925 87 unpack;
79 | #X obj 925 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
80 | -262144 -1 -1 0 256;
81 | #X obj 958 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
82 | -262144 -1 -1 0 256;
83 | #X obj 830 63 route 1 2 3 4 5 6 7;
84 | #X obj 367 218 fiddle~ 1024 1 50 7;
85 | #X obj 925 143 s fft7p;
86 | #X obj 958 124 s fft7a;
87 | #X obj 845 535 s fft2p;
88 | #X obj 480 89 inlet on_off_switch;
89 | #X obj 480 119 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
90 | 1;
91 | #X obj 394 302 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
92 | -1 -1;
93 | #X obj 25 437 r karma-fiddle-off;
94 | #X obj 480 147 s karma-fiddle-off;
95 | #X obj 25 503 i 0;
96 | #X text 25 420 Reset all values;
97 | #X obj 25 460 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
98 | -1;
99 | #X obj 25 528 s fiddler_reset;
100 | #X obj 1017 90 r fiddler_reset;
101 | #X obj 1002 168 r fiddler_reset;
102 | #X obj 989 247 r fiddler_reset;
103 | #X obj 974 325 r fiddler_reset;
104 | #X obj 956 404 r fiddler_reset;
105 | #X obj 941 483 r fiddler_reset;
106 | #X obj 932 565 r fiddler_reset;
107 | #X msg 439 171 auto \$1;
108 | #X obj 25 480 delay 50;
109 | #X text 27 551 TODO;
110 | #X text 25 565 http://stackoverflow.com/questions/20408388/how-to-filter-fft-data-for-audio-visualisation
111 | , f 41;
112 | #X obj 260 164 *~ 1;
113 | #X obj 367 164 *~ 1;
114 | #X text 260 13 :: karmaFiddle ::;
115 | #X text 726 434 Treshold;
116 | #X obj 21 95 cnv 15 198 88 empty empty empty 20 12 0 14 -191407 -66577
117 | 0;
118 | #X obj 422 488 km_resample_avg 150;
119 | #X text 470 625 Silence detects 2 sec non-variation;
120 | #X obj 326 341 s \$0-f-attack;
121 | #X obj 326 364 outlet attack;
122 | #X obj 21 168 bng 15 250 50 0 empty \$0-f-attack Attack 0 -7 0 8 -262144
123 | -1 -1;
124 | #X obj 56 169 nbx 4 14 0 1e+37 0 0 empty \$0-f-pitch Pitch 0 -8 0 8
125 | -262144 -1 -1 0 256;
126 | #X text 486 514 Round INT;
127 | #X obj 422 536 change;
128 | #X obj 555 509 change;
129 | #X obj 248 311 s \$0-f-pitch;
130 | #X obj 241 334 outlet pitch;
131 | #X obj 241 288 change;
132 | #X obj 429 559 s \$0-f-pitchRaw;
133 | #X obj 422 582 outlet pitchRaw;
134 | #X obj 555 440 km_resample_avg 150;
135 | #X obj 140 155 vsl 8 25 0 1 0 0 empty \$0-f-amp Amplitude 0 -7 0 8
136 | -262144 -1 -1 0 1;
137 | #X obj 555 464 dbtorms;
138 | #X obj 555 486 min 1;
139 | #X text 693 413 Silence;
140 | #X obj 96 169 nbx 4 14 0 1e+37 0 0 empty \$0-f-pitchRaw RawPitch 0
141 | -8 0 8 -262144 -1 -1 0 256;
142 | #X obj 422 513 expr $i1;
143 | #X obj 241 266 expr $i1;
144 | #X obj 699 614 s \$0-f-silence;
145 | #X obj 203 168 tgl 15 0 empty \$0-f-silence Silence -17 -7 0 8 -262144
146 | -1 -1 0 1;
147 | #X obj 691 636 outlet silence;
148 | #X obj 691 571 change;
149 | #X obj 450 280 dbtorms;
150 | #X obj 450 259 km_resample_avg 150;
151 | #X obj 450 323 change;
152 | #X obj 458 345 s \$0-f-amp;
153 | #X obj 450 302 min 1;
154 | #X obj 450 367 outlet amplitude;
155 | #X obj 555 552 outlet amplitudeRaw;
156 | #X obj 562 530 s \$0-f-ampRaw;
157 | #X obj 172 155 vsl 8 25 0 1 0 0 empty \$0-f-ampRaw RawAmplitude 0 -15
158 | 0 8 -262144 -1 -1 0 1;
159 | #X connect 0 0 110 0;
160 | #X connect 1 0 2 0;
161 | #X connect 1 1 3 0;
162 | #X connect 2 0 4 0;
163 | #X connect 3 0 103 0;
164 | #X connect 3 0 6 0;
165 | #X connect 4 1 89 0;
166 | #X connect 5 0 116 0;
167 | #X connect 6 0 7 0;
168 | #X connect 7 0 8 0;
169 | #X connect 8 0 9 0;
170 | #X connect 8 1 9 1;
171 | #X connect 9 0 10 0;
172 | #X connect 10 0 18 0;
173 | #X connect 11 0 111 0;
174 | #X connect 11 0 113 0;
175 | #X connect 16 0 60 0;
176 | #X connect 17 0 60 0;
177 | #X connect 18 0 114 0;
178 | #X connect 20 0 21 0;
179 | #X connect 20 1 22 0;
180 | #X connect 21 0 40 0;
181 | #X connect 22 0 41 0;
182 | #X connect 23 0 25 0;
183 | #X connect 23 1 26 0;
184 | #X connect 25 0 63 0;
185 | #X connect 26 0 42 0;
186 | #X connect 27 0 28 0;
187 | #X connect 27 1 29 0;
188 | #X connect 28 0 43 0;
189 | #X connect 29 0 44 0;
190 | #X connect 30 0 31 0;
191 | #X connect 30 1 32 0;
192 | #X connect 31 0 45 0;
193 | #X connect 32 0 46 0;
194 | #X connect 33 0 34 0;
195 | #X connect 33 1 35 0;
196 | #X connect 34 0 47 0;
197 | #X connect 35 0 48 0;
198 | #X connect 36 0 84 0;
199 | #X connect 37 0 85 0;
200 | #X connect 51 0 52 0;
201 | #X connect 51 1 53 0;
202 | #X connect 52 0 55 0;
203 | #X connect 53 0 54 0;
204 | #X connect 56 0 57 0;
205 | #X connect 56 1 58 0;
206 | #X connect 57 0 61 0;
207 | #X connect 58 0 62 0;
208 | #X connect 59 0 20 0;
209 | #X connect 59 1 23 0;
210 | #X connect 59 2 27 0;
211 | #X connect 59 3 30 0;
212 | #X connect 59 4 33 0;
213 | #X connect 59 5 51 0;
214 | #X connect 59 6 56 0;
215 | #X connect 60 0 0 0;
216 | #X connect 60 1 66 0;
217 | #X connect 60 2 1 0;
218 | #X connect 60 3 5 0;
219 | #X connect 60 4 59 0;
220 | #X connect 64 0 65 0;
221 | #X connect 65 0 68 0;
222 | #X connect 65 0 80 0;
223 | #X connect 65 0 84 1;
224 | #X connect 65 0 85 1;
225 | #X connect 66 0 91 0;
226 | #X connect 66 0 92 0;
227 | #X connect 67 0 71 0;
228 | #X connect 69 0 72 0;
229 | #X connect 71 0 81 0;
230 | #X connect 73 0 58 0;
231 | #X connect 73 0 57 0;
232 | #X connect 74 0 53 0;
233 | #X connect 74 0 52 0;
234 | #X connect 75 0 35 0;
235 | #X connect 75 0 34 0;
236 | #X connect 76 0 32 0;
237 | #X connect 76 0 31 0;
238 | #X connect 77 0 29 0;
239 | #X connect 77 0 28 0;
240 | #X connect 78 0 26 0;
241 | #X connect 78 0 25 0;
242 | #X connect 79 0 22 0;
243 | #X connect 79 0 21 0;
244 | #X connect 80 0 60 0;
245 | #X connect 81 0 69 0;
246 | #X connect 84 0 60 0;
247 | #X connect 85 0 60 0;
248 | #X connect 89 0 109 0;
249 | #X connect 96 0 101 0;
250 | #X connect 96 0 102 0;
251 | #X connect 97 0 121 0;
252 | #X connect 97 0 122 0;
253 | #X connect 100 0 99 0;
254 | #X connect 100 0 98 0;
255 | #X connect 103 0 105 0;
256 | #X connect 105 0 106 0;
257 | #X connect 106 0 97 0;
258 | #X connect 109 0 96 0;
259 | #X connect 110 0 100 0;
260 | #X connect 114 0 11 0;
261 | #X connect 115 0 119 0;
262 | #X connect 116 0 115 0;
263 | #X connect 117 0 118 0;
264 | #X connect 117 0 120 0;
265 | #X connect 119 0 117 0;
266 | #X coords 0 -1 1 1 200 105 1 20 80;
267 |
--------------------------------------------------------------------------------
/depreciated/karmaSoundAnalyser.pd:
--------------------------------------------------------------------------------
1 | #N canvas -1219 -10 1254 676 10;
2 | #X declare -lib mrpeach;
3 | #X obj 17 272 adc~;
4 | #X msg 159 566 disconnect;
5 | #X msg 159 489 typetags 1;
6 | #X msg 159 513 typetags 0;
7 | #X obj -48 152 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
8 | 1;
9 | #X obj -63 289 *~;
10 | #X obj -63 337 dac~;
11 | #X obj 88 484 loadbang;
12 | #X obj 18 25 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
13 | -1;
14 | #X msg 18 63 \; pd dsp 1;
15 | #X msg -49 64 \; pd dsp 0;
16 | #X obj -49 27 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
17 | -1;
18 | #X text -51 -6 Turn On/Off Pd.DSP;
19 | #N canvas 295 23 898 653 karmaFiddle 0;
20 | #X obj -1170 289 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
21 | 10 -262144 -1 -1 0 256;
22 | #X obj -1115 319 unpack;
23 | #X obj -1115 354 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
24 | 10 -262144 -1 -1 0 256;
25 | #X obj -1042 336 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
26 | 10 -262144 -1 -1 0 256;
27 | #X obj -1115 378 route 0;
28 | #X obj -1087 278 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
29 | 10 -262144 -1 -1 0 256;
30 | #X obj -1042 391 > 50;
31 | #X obj -1042 421 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
32 | 0 1;
33 | #X obj -1042 441 sel 1 0;
34 | #X obj -1042 471 timer;
35 | #X floatatom -1041 502 5 0 0 0 - - -;
36 | #X obj -1041 554 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
37 | 1 1;
38 | #X text -1185 339 Attack;
39 | #X obj -1114 409 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
40 | 10 -262144 -1 -1 0 256;
41 | #X text -1173 408 Raw Pitch;
42 | #X text -1043 319 Raw Amplitude;
43 | #X text -1093 107 1024 = FFT window size;
44 | #X msg -1090 129 npoints 1024;
45 | #X msg -1090 155 npoints 2048;
46 | #X obj -1041 524 > 2000;
47 | #X obj -1041 580 s silence;
48 | #X text -1306 34 Uses the fiddle object to extract FFT and some other
49 | information.;
50 | #X obj -897 556 unpack;
51 | #X obj -897 579 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
52 | 10 -262144 -1 -1 0 256;
53 | #X obj -864 579 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
54 | 10 -262144 -1 -1 0 256;
55 | #X obj -882 477 unpack;
56 | #X text -899 34 5 EQUALIZER BANDS WITH THEIR PITCH (Hz) AND AMPLITUDE
57 | (rms);
58 | #X obj -882 497 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
59 | 10 -262144 -1 -1 0 256;
60 | #X obj -849 497 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
61 | 10 -262144 -1 -1 0 256;
62 | #X obj -866 398 unpack;
63 | #X obj -866 418 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
64 | 10 -262144 -1 -1 0 256;
65 | #X obj -833 418 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
66 | 10 -262144 -1 -1 0 256;
67 | #X obj -850 319 unpack;
68 | #X obj -850 339 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
69 | 10 -262144 -1 -1 0 256;
70 | #X obj -817 339 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
71 | 10 -262144 -1 -1 0 256;
72 | #X obj -834 241 unpack;
73 | #X obj -834 261 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
74 | 10 -262144 -1 -1 0 256;
75 | #X obj -801 261 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
76 | 10 -262144 -1 -1 0 256;
77 | #X obj -1307 214 inlet~ LeftAudio;
78 | #X obj -1300 238 inlet~ RightAudio;
79 | #X text -1250 524 Bang Detects 2 sec non-variation;
80 | #X text -1252 538 (potentially end of track/set);
81 | #X text -996 523 ms;
82 | #X obj -1241 307 s fiddle_pitch;
83 | #X obj -897 616 s fft1p;
84 | #X obj -864 596 s fft1a;
85 | #X obj -849 513 s fft2a;
86 | #X obj -866 454 s fft3p;
87 | #X obj -833 435 s fft3a;
88 | #X obj -850 375 s fft4p;
89 | #X obj -817 356 s fft4a;
90 | #X obj -834 297 s fft5p;
91 | #X obj -801 278 s fft5a;
92 | #X text -1247 288 Cooked Pitch;
93 | #X text -1030 278 Amplitude (db);
94 | #X obj -818 162 unpack;
95 | #X obj -818 182 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
96 | 10 -262144 -1 -1 0 256;
97 | #X obj -785 182 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
98 | 10 -262144 -1 -1 0 256;
99 | #X obj -785 199 s fft6a;
100 | #X obj -818 218 s fft6p;
101 | #X obj -802 84 unpack;
102 | #X obj -802 104 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
103 | 10 -262144 -1 -1 0 256;
104 | #X obj -769 104 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
105 | 10 -262144 -1 -1 0 256;
106 | #X obj -897 60 route 1 2 3 4 5 6 7;
107 | #X obj -1170 255 fiddle~ 1024 1 50 7;
108 | #X obj -802 140 s fft7p;
109 | #X obj -769 121 s fft7a;
110 | #X obj -882 532 s fft2p;
111 | #X obj -1031 358 s fiddle_raw_amp;
112 | #X obj -1087 296 s fiddle_amp;
113 | #X obj -1282 109 inlet on_off_switch;
114 | #X obj -1303 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
115 | 1 1;
116 | #X obj -1300 266 spigot~;
117 | #X obj -1171 231 spigot~;
118 | #X obj -1171 430 s fiddle_raw_pitch;
119 | #X obj -1222 361 s fiddle_attack;
120 | #X obj -1143 339 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
121 | -1 -1;
122 | #X obj -1260 173 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
123 | -1 -1;
124 | #X obj -1257 129 route 0 1;
125 | #X obj -1235 173 i 1;
126 | #X obj -646 479 r karma-fiddle-off;
127 | #X obj -1365 188 s karma-fiddle-off;
128 | #X obj -646 545 i 0;
129 | #X text -646 462 Reset all values;
130 | #X obj -639 502 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
131 | -1 -1;
132 | #X obj -1188 166 i 0;
133 | #X obj -646 570 s fiddler_reset;
134 | #X obj -710 87 r fiddler_reset;
135 | #X obj -725 165 r fiddler_reset;
136 | #X obj -738 244 r fiddler_reset;
137 | #X obj -753 322 r fiddler_reset;
138 | #X obj -771 401 r fiddler_reset;
139 | #X obj -786 480 r fiddler_reset;
140 | #X obj -795 562 r fiddler_reset;
141 | #X obj -1029 261 r fiddler_reset;
142 | #X obj -1283 393 r fiddler_reset;
143 | #X msg -1188 191 auto \$1;
144 | #X obj -639 522 delay 50;
145 | #X floatatom -581 62 5 0 0 0 Sending_Freq_(ms) - -;
146 | #X obj -558 111 loadbang;
147 | #X obj -558 131 i 1;
148 | #X obj -605 200 i;
149 | #X obj -567 201 + 1;
150 | #X floatatom -605 223 5 0 0 0 - - -;
151 | #X obj -604 152 OSCCleanFloat 100;
152 | #X obj -590 177 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
153 | -1 -1;
154 | #X connect 0 0 43 0;
155 | #X connect 1 0 2 0;
156 | #X connect 1 1 3 0;
157 | #X connect 2 0 4 0;
158 | #X connect 3 0 6 0;
159 | #X connect 3 0 68 0;
160 | #X connect 4 1 13 0;
161 | #X connect 5 0 69 0;
162 | #X connect 6 0 7 0;
163 | #X connect 7 0 8 0;
164 | #X connect 8 0 9 0;
165 | #X connect 8 1 9 1;
166 | #X connect 9 0 10 0;
167 | #X connect 10 0 19 0;
168 | #X connect 11 0 20 0;
169 | #X connect 13 0 74 0;
170 | #X connect 17 0 64 0;
171 | #X connect 18 0 64 0;
172 | #X connect 19 0 11 0;
173 | #X connect 22 0 23 0;
174 | #X connect 22 1 24 0;
175 | #X connect 23 0 44 0;
176 | #X connect 24 0 45 0;
177 | #X connect 25 0 27 0;
178 | #X connect 25 1 28 0;
179 | #X connect 27 0 67 0;
180 | #X connect 28 0 46 0;
181 | #X connect 29 0 30 0;
182 | #X connect 29 1 31 0;
183 | #X connect 30 0 47 0;
184 | #X connect 31 0 48 0;
185 | #X connect 32 0 33 0;
186 | #X connect 32 1 34 0;
187 | #X connect 33 0 49 0;
188 | #X connect 34 0 50 0;
189 | #X connect 35 0 36 0;
190 | #X connect 35 1 37 0;
191 | #X connect 36 0 51 0;
192 | #X connect 37 0 52 0;
193 | #X connect 38 0 73 0;
194 | #X connect 39 0 72 0;
195 | #X connect 55 0 56 0;
196 | #X connect 55 1 57 0;
197 | #X connect 56 0 59 0;
198 | #X connect 57 0 58 0;
199 | #X connect 60 0 61 0;
200 | #X connect 60 1 62 0;
201 | #X connect 61 0 65 0;
202 | #X connect 61 0 104 0;
203 | #X connect 62 0 66 0;
204 | #X connect 63 0 22 0;
205 | #X connect 63 1 25 0;
206 | #X connect 63 2 29 0;
207 | #X connect 63 3 32 0;
208 | #X connect 63 4 35 0;
209 | #X connect 63 5 55 0;
210 | #X connect 63 6 60 0;
211 | #X connect 64 0 0 0;
212 | #X connect 64 1 75 0;
213 | #X connect 64 1 76 0;
214 | #X connect 64 2 1 0;
215 | #X connect 64 3 5 0;
216 | #X connect 64 4 63 0;
217 | #X connect 70 0 71 0;
218 | #X connect 71 0 78 0;
219 | #X connect 72 1 64 0;
220 | #X connect 73 1 64 0;
221 | #X connect 77 0 81 0;
222 | #X connect 78 0 77 0;
223 | #X connect 78 0 85 0;
224 | #X connect 78 1 79 0;
225 | #X connect 79 0 73 1;
226 | #X connect 79 0 72 1;
227 | #X connect 79 0 96 0;
228 | #X connect 80 0 82 0;
229 | #X connect 80 0 84 0;
230 | #X connect 82 0 86 0;
231 | #X connect 84 0 97 0;
232 | #X connect 85 0 73 1;
233 | #X connect 85 0 72 1;
234 | #X connect 85 0 96 0;
235 | #X connect 87 0 62 0;
236 | #X connect 87 0 61 0;
237 | #X connect 88 0 57 0;
238 | #X connect 88 0 56 0;
239 | #X connect 89 0 37 0;
240 | #X connect 89 0 36 0;
241 | #X connect 90 0 34 0;
242 | #X connect 90 0 33 0;
243 | #X connect 91 0 31 0;
244 | #X connect 91 0 30 0;
245 | #X connect 92 0 28 0;
246 | #X connect 92 0 27 0;
247 | #X connect 93 0 24 0;
248 | #X connect 93 0 23 0;
249 | #X connect 94 0 5 0;
250 | #X connect 94 0 3 0;
251 | #X connect 95 0 13 0;
252 | #X connect 95 0 0 0;
253 | #X connect 96 0 64 0;
254 | #X connect 97 0 82 0;
255 | #X connect 99 0 100 0;
256 | #X connect 100 0 104 1;
257 | #X connect 101 0 103 0;
258 | #X connect 101 0 102 0;
259 | #X connect 102 0 101 1;
260 | #X connect 104 0 105 0;
261 | #X connect 105 0 101 0;
262 | #X restore 157 289 pd karmaFiddle;
263 | #X text 89 458 OSC SERVER CONFIGURATION;
264 | #X text -67 458 OSC ROUTING;
265 | #X obj 989 133 s osc_output;
266 | #X obj 989 154 s osc_output;
267 | #X obj 989 177 s osc_output;
268 | #X obj 988 222 s osc_output;
269 | #X obj 988 198 s osc_output;
270 | #X obj 989 243 s osc_output;
271 | #X obj 988 267 s osc_output;
272 | #X obj 988 288 s osc_output;
273 | #X obj 988 312 s osc_output;
274 | #X obj 988 333 s osc_output;
275 | #X floatatom 741 116 5 0 0 0 - - -;
276 | #X floatatom 740 137 5 0 0 0 - - -;
277 | #X floatatom 740 160 5 0 0 0 - - -;
278 | #X floatatom 740 181 5 0 0 0 - - -;
279 | #X floatatom 739 205 5 0 0 0 - - -;
280 | #X floatatom 739 226 5 0 0 0 - - -;
281 | #X floatatom 739 250 5 0 0 0 - - -;
282 | #X floatatom 739 271 5 0 0 0 - - -;
283 | #X floatatom 740 295 5 0 0 0 - - -;
284 | #X floatatom 741 316 5 0 0 0 - - -;
285 | #X msg 776 205 send /fiddle_fft/band3/pitch \$0;
286 | #X msg 776 226 send /fiddle_fft/band3/rms \$0;
287 | #X msg 776 250 send /fiddle_fft/band4/pitch \$0;
288 | #X msg 776 271 send /fiddle_fft/band4/rms \$0;
289 | #X msg 776 295 send /fiddle_fft/band5/rms \$0;
290 | #X msg 776 316 send /fiddle_fft/band5/pitch \$0;
291 | #X msg 777 160 send /fiddle_fft/band2/rms \$0;
292 | #X msg 776 181 send /fiddle_fft/band2/pitch \$0;
293 | #X msg 776 137 send /fiddle_fft/band1/rms \$0;
294 | #X msg 776 116 send /fiddle_fft/band1/pitch \$0;
295 | #X obj 689 581 s osc_output;
296 | #X obj -45 191 hsl 100 15 0 1 0 0 0 ¸áÿ¿» 0 0 0 0 4 -262144 -1
297 | -1 0 0;
298 | #X obj 689 407 r silence;
299 | #X obj 689 299 r fft5p;
300 | #X obj 689 278 r fft5a;
301 | #X obj 689 254 r fft4p;
302 | #X obj 689 233 r fft4a;
303 | #X obj 689 209 r fft3p;
304 | #X obj 689 188 r fft3a;
305 | #X obj 689 164 r fft2p;
306 | #X obj 689 143 r fft2a;
307 | #X obj 690 120 r fft1p;
308 | #X obj 690 99 r fft1a;
309 | #X text 296 2 ROUTING;
310 | #X text 297 17 - - - - - - - - - - - - - - - - - - - - - - - - - -
311 | - - - -;
312 | #X text -68 467 - - - - - - - - - - - - - - - - - - - - - - - - - -
313 | ;
314 | #X text 657 17 - - - - - - - - - - - - - - - - - - - - - - - - - -
315 | - - - -;
316 | #X obj 751 407 r fiddle_pitch;
317 | #X obj 958 407 r fiddle_attack;
318 | #X obj 958 494 r fiddle_amp;
319 | #X obj 238 251 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
320 | 1;
321 | #X text 183 249 (on/off);
322 | #X obj 697 429 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
323 | 1;
324 | #X floatatom 757 428 5 0 0 0 - - -;
325 | #X obj 842 407 r fiddle_raw_pitch;
326 | #X floatatom 849 428 5 0 0 0 - - -;
327 | #X floatatom 922 515 5 0 0 0 - - -;
328 | #X floatatom 919 562 5 0 0 0 - - -;
329 | #X obj 965 429 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
330 | -1 -1;
331 | #X obj 1058 429 i;
332 | #X obj 1089 429 + 1;
333 | #X floatatom 1023 446 5 0 0 0 - - -;
334 | #X msg 434 265 send /aubioOnSet;
335 | #X msg 434 219 send /aubioTempo;
336 | #X obj 298 109 r aubio_pitch;
337 | #X obj 298 132 r aubio_quiet;
338 | #X obj 957 542 r fiddle_raw_amp;
339 | #X msg 751 469 send /fiddlePitch \$0;
340 | #X obj 61 318 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
341 | 1;
342 | #X text 80 317 (on/off);
343 | #X obj 414 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
344 | 1;
345 | #X obj 298 179 r aubio_tempo_bis;
346 | #X obj 416 196 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
347 | -1 -1;
348 | #X obj 298 225 r aubio_bpm;
349 | #X floatatom 399 242 5 0 0 0 - - -;
350 | #X obj 298 202 r aubio_tempo;
351 | #X obj 416 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
352 | -1 -1;
353 | #X obj 298 248 r aubio_onset;
354 | #X obj 416 265 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
355 | -1 -1;
356 | #X floatatom -38 213 5 0 0 0 - - -;
357 | #X floatatom 398 287 5 0 0 0 - - -;
358 | #X obj 297 270 r aubio_zcr;
359 | #X text 296 28 All analysed data is routed to OSC messages in this
360 | section;
361 | #X text 688 77 FIDDLE FFT ROUTING;
362 | #X text 688 385 FIDDLE :: [pitch \, attack \, silence \, amplitude]
363 | ROUTING;
364 | #X text 296 81 :: LIB AUBIO ROUTING ::;
365 | #X text -51 132 SOUND OUTPUT;
366 | #X text -26 172 Volume;
367 | #X text -26 151 On/Off;
368 | #X text 17 251 AUDIO SOURCE;
369 | #X obj 583 166 s osc_output;
370 | #X obj 583 282 s osc_output;
371 | #X msg 434 196 send /aubioTempoBis;
372 | #X obj 583 236 s osc_output;
373 | #X msg 433 287 send /aubioZcr \$1;
374 | #X msg 433 149 send /aubioQuiet \$1;
375 | #X msg 433 126 send /aubioPitch \$1;
376 | #X msg 958 515 send /fiddleAmp \$1;
377 | #X msg 957 562 send /fiddleRawAmp \$1;
378 | #X msg 842 448 send /fiddleRawPitch \$1;
379 | #X msg 689 448 send /fiddleSilence \$1;
380 | #X obj 176 234 loadbang;
381 | #X obj -67 628 import mrpeach;
382 | #X msg 88 540 connect localhost 12000;
383 | #X msg 958 468 send /fiddleAttack;
384 | #X obj -67 605 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
385 | 1;
386 | #X obj -67 540 spigot;
387 | #X text 25 601 Alternatively \, you can use UDPsend;
388 | #X text 26 617 with packOSC instead of sendOSC;
389 | #X text -46 604 UDP State;
390 | #X text 82 336 LIB AUBIO ANALYSIS;
391 | #X text 116 269 FFT & MORE ANALYSIS;
392 | #X obj 61 295 loadbang;
393 | #X text 25 632 http://en.flossmanuals.net/pure-data/ch065_osc/;
394 | #N canvas 178 23 997 667 aubio 0;
395 | #X obj 41 161 aubioonset~;
396 | #X obj 41 196 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
397 | -1;
398 | #X obj 462 164 aubiopitch~;
399 | #X obj 462 211 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
400 | -262144 -1 -1 0 256;
401 | #X obj 130 197 bng 15 50 10 0 empty empty empty 17 7 0 10 -262144 -1
402 | -1;
403 | #X obj 217 198 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
404 | -1 -1;
405 | #X obj 130 163 aubiotempo~ 0.5;
406 | #X obj 322 348 i;
407 | #X obj 360 349 + 1;
408 | #X floatatom 322 378 5 0 0 0 - - -;
409 | #X obj 158 339 alternate;
410 | #X obj 158 369 timer;
411 | #X floatatom 158 395 5 0 0 0 - - -;
412 | #X floatatom 158 520 5 0 0 0 - - -;
413 | #X obj 158 422 expr ($i1 / 6) * 2;
414 | #X obj 158 479 hid/hid_average;
415 | #X floatatom 245 451 5 0 0 0 - - -;
416 | #X floatatom 158 451 5 0 0 0 - - -;
417 | #X floatatom 322 453 5 0 0 0 - - -;
418 | #X floatatom 345 474 5 0 0 0 - - -;
419 | #X floatatom 368 454 5 0 0 0 - - -;
420 | #N canvas 837 96 511 413 timer_utility 0;
421 | #X obj 101 28 inlet;
422 | #X obj 101 377 outlet;
423 | #X obj 160 28 inlet;
424 | #X obj 394 185 sel 0;
425 | #X obj 393 215 0;
426 | #X obj 356 239 metro 1000;
427 | #X obj 101 181 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
428 | -1 -1;
429 | #X obj 101 206 i;
430 | #X obj 143 207 + 1;
431 | #X obj 101 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
432 | -262144 -1 -1 0 256;
433 | #X obj 101 322 div 4;
434 | #X obj 101 348 + 1;
435 | #X obj 199 350 + 1;
436 | #X obj 191 376 outlet;
437 | #X obj 215 101 expr ($i1 * 60) / 1000;
438 | #X obj 215 29 inlet;
439 | #X obj 215 132 outlet;
440 | #X obj 237 233 inlet;
441 | #X obj 236 264 t t f;
442 | #X obj 192 322 mod 4;
443 | #X obj 275 378 outlet;
444 | #X obj 349 380 outlet;
445 | #X obj 276 324 div 60;
446 | #X obj 350 326 mod 60;
447 | #X obj 356 155 t f f;
448 | #X obj 355 124 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
449 | -1 -1;
450 | #X connect 0 0 6 0;
451 | #X connect 3 0 4 0;
452 | #X connect 5 0 22 0;
453 | #X connect 5 0 23 0;
454 | #X connect 6 0 7 0;
455 | #X connect 7 0 8 0;
456 | #X connect 7 0 9 0;
457 | #X connect 8 0 7 1;
458 | #X connect 9 0 10 0;
459 | #X connect 9 0 19 0;
460 | #X connect 10 0 11 0;
461 | #X connect 11 0 1 0;
462 | #X connect 14 0 16 0;
463 | #X connect 15 0 14 0;
464 | #X connect 17 0 18 0;
465 | #X connect 18 0 19 1;
466 | #X connect 18 1 10 1;
467 | #X connect 19 0 13 0;
468 | #X connect 22 0 20 0;
469 | #X connect 23 0 21 0;
470 | #X connect 24 0 5 0;
471 | #X connect 24 1 3 0;
472 | #X connect 25 0 24 0;
473 | #X restore 322 409 pd timer_utility;
474 | #X text 16 13 Uses lib Aubio to get several MIR information;
475 | #X obj 230 69 inlet~ LeftAudio;
476 | #X obj 351 69 inlet~ RightAudio;
477 | #X obj 291 164 aubioquiet~;
478 | #X obj 517 69 inlet on_off_switch;
479 | #X obj 285 90 spigot~;
480 | #X obj 351 90 spigot~;
481 | #X obj 345 496 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
482 | -1 -1 1;
483 | #X text 325 321 METRONOM;
484 | #X text 173 318 TEMPO // BPM;
485 | #X obj 496 71 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
486 | 1;
487 | #X obj 41 257 s aubio_onset;
488 | #X obj 130 257 s aubio_tempo;
489 | #X obj 217 257 s aubio_tempo_bis;
490 | #X obj 291 230 s aubio_quiet;
491 | #X obj 462 256 s aubio_pitch;
492 | #X obj 310 503 == 0;
493 | #X obj 345 520 tgl 60 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
494 | 1;
495 | #X obj 158 544 s aubio_bpm;
496 | #X obj 716 164 aubiotss~;
497 | #X obj 716 249 vsl 15 100 0 1 0 0 empty empty empty 0 -9 0 10 -262144
498 | -1 -1 0 1;
499 | #X obj 716 188 env~;
500 | #X obj 767 249 vsl 15 100 0 1 0 0 empty empty empty 0 -9 0 10 -262144
501 | -1 -1 0 1;
502 | #X obj 767 189 env~;
503 | #X obj 716 141 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
504 | -1 -1 0 0;
505 | #X floatatom 778 164 5 0 0 0 - - -;
506 | #X text 713 123 Variation Threshold;
507 | #X obj 577 166 aubiozcr~;
508 | #X floatatom 577 228 5 0 0 0 - - -;
509 | #X obj 577 356 s aubio_zcr;
510 | #X obj 19 526 i 0;
511 | #X text 19 443 Reset all values;
512 | #X obj 26 483 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
513 | -1;
514 | #X obj 26 503 delay 1000;
515 | #X obj 517 101 s aubio-off;
516 | #X obj 19 460 r aubio-off;
517 | #X obj 48 543 s aubio_reset;
518 | #X obj 804 230 r aubio_reset;
519 | #X obj 471 187 r aubio_reset;
520 | #X obj 196 503 r aubio_reset;
521 | #X obj 406 430 r aubio_reset;
522 | #N canvas 775 308 450 300 clean_signal 0;
523 | #X obj 51 133 ==;
524 | #X obj 93 116 f;
525 | #X floatatom 102 139 5 0 0 0 - - -;
526 | #X text 24 10 SIGNAL CLEANER;
527 | #X obj 51 68 inlet float;
528 | #X obj 51 156 sel 0;
529 | #X obj 93 163 outlet float;
530 | #X text 25 24 Prevents resending bangs when the float value has not
531 | changed. (Sort of flood filter);
532 | #X connect 0 0 5 0;
533 | #X connect 1 0 0 1;
534 | #X connect 1 0 2 0;
535 | #X connect 1 0 6 0;
536 | #X connect 4 0 1 1;
537 | #X connect 4 0 0 0;
538 | #X connect 5 0 1 0;
539 | #X restore 462 233 pd clean_signal;
540 | #X floatatom 577 289 5 0 0 0 - - -;
541 | #X obj 543 305 -;
542 | #X obj 543 327 abs;
543 | #X obj 526 396 sqrt;
544 | #X obj 577 248 average 10;
545 | #X text 13 65 Treshold Tempo;
546 | #X text 14 88 Treshold OnSet;
547 | #X obj 591 268 r aubio_reset;
548 | #X floatatom 634 227 5 0 20 2 - - -;
549 | #X text 584 211 Zcr;
550 | #X text 613 290 Smoothed;
551 | #N canvas 960 356 450 300 clean_signal 0;
552 | #X obj 51 133 ==;
553 | #X obj 93 116 f;
554 | #X floatatom 102 139 5 0 0 0 - - -;
555 | #X text 24 10 SIGNAL CLEANER;
556 | #X obj 51 68 inlet float;
557 | #X obj 51 156 sel 0;
558 | #X obj 93 163 outlet float;
559 | #X text 25 24 Prevents resending bangs when the float value has not
560 | changed. (Sort of flood filter);
561 | #X connect 0 0 5 0;
562 | #X connect 1 0 0 1;
563 | #X connect 1 0 2 0;
564 | #X connect 1 0 6 0;
565 | #X connect 4 0 1 1;
566 | #X connect 4 0 0 0;
567 | #X connect 5 0 1 0;
568 | #X restore 577 332 pd clean_signal;
569 | #X obj 560 378 r aubio_reset;
570 | #X obj 580 400 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
571 | -1 -1 0 1;
572 | #X obj 580 418 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
573 | -1 -1 0 1;
574 | #X obj 496 305 hsl 40 15 -0.1 0.1 0 0 empty empty empty -2 -8 0 10
575 | -262144 -1 -1 0 1;
576 | #X floatatom 154 68 5 0 0 0 - - -;
577 | #X text 629 198 Smoothing;
578 | #X text 630 209 Treshold;
579 | #X obj 107 68 hsl 40 15 0 10 0 0 empty empty empty -2 -8 0 10 -262144
580 | -1 -1 0 1;
581 | #X floatatom 154 88 5 0 0 0 - - -;
582 | #X obj 107 89 hsl 40 15 0 15 0 0 empty empty empty -2 -8 0 10 -262144
583 | -1 -1 0 1;
584 | #X floatatom 506 324 5 0 0 0 - - -;
585 | #X text 102 46 PARAMETERS;
586 | #X text 491 288 Treshold;
587 | #X obj 716 440 <;
588 | #X obj 722 414 f 0.005;
589 | #X obj 767 210 / 127;
590 | #X obj 716 210 / 127;
591 | #X obj 722 393 loadbang;
592 | #X obj 787 251 vsl 15 100 -1 1 0 0 empty empty empty 0 -9 0 10 -262144
593 | -1 -1 4950 1;
594 | #X obj 846 324 -;
595 | #X obj 577 310 * 5;
596 | #X obj 478 344 -;
597 | #X text 575 433 ZeroCross Variation;
598 | #X obj 529 379 * 2;
599 | #X obj 497 361 average 3;
600 | #X text 384 579 comment;
601 | #X obj 767 440 <;
602 | #X obj 722 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
603 | -1 -1;
604 | #X obj 752 466 == 0;
605 | #X obj 716 491 &;
606 | #N canvas 775 308 450 300 clean_signal 0;
607 | #X obj 51 133 ==;
608 | #X obj 93 116 f;
609 | #X floatatom 102 139 5 0 0 0 - - -;
610 | #X text 24 10 SIGNAL CLEANER;
611 | #X obj 51 68 inlet float;
612 | #X obj 51 156 sel 0;
613 | #X obj 93 163 outlet float;
614 | #X text 25 24 Prevents resending bangs when the float value has not
615 | changed. (Sort of flood filter);
616 | #X connect 0 0 5 0;
617 | #X connect 1 0 0 1;
618 | #X connect 1 0 2 0;
619 | #X connect 1 0 6 0;
620 | #X connect 4 0 1 1;
621 | #X connect 4 0 0 0;
622 | #X connect 5 0 1 0;
623 | #X restore 716 512 pd clean_signal;
624 | #X obj 291 209 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
625 | 1;
626 | #X obj 291 188 i 1;
627 | #X obj 716 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
628 | 1;
629 | #X obj 716 467 == 0;
630 | #X text 737 533 isPlaying;
631 | #X obj 716 556 s aubio_is_playing;
632 | #X obj 320 188 r aubio_is_playing;
633 | #X obj 343 208 sel 1;
634 | #X obj 311 209 i 0;
635 | #X obj 846 347 average 30;
636 | #X obj 846 370 sqrt;
637 | #X text 810 277 (~Sound similarity indicator);
638 | #X text 575 447 (~cymbal detection);
639 | #X floatatom 623 312 5 0 0 0 - - -;
640 | #X connect 0 0 1 0;
641 | #X connect 1 0 33 0;
642 | #X connect 2 0 3 0;
643 | #X connect 3 0 63 0;
644 | #X connect 4 0 7 0;
645 | #X connect 4 0 10 0;
646 | #X connect 4 0 34 0;
647 | #X connect 5 0 35 0;
648 | #X connect 6 0 4 0;
649 | #X connect 6 1 5 0;
650 | #X connect 7 0 9 0;
651 | #X connect 7 0 8 0;
652 | #X connect 8 0 7 1;
653 | #X connect 9 0 21 0;
654 | #X connect 10 0 11 0;
655 | #X connect 10 1 11 1;
656 | #X connect 11 0 12 0;
657 | #X connect 12 0 14 0;
658 | #X connect 13 0 40 0;
659 | #X connect 14 0 17 0;
660 | #X connect 15 0 13 0;
661 | #X connect 16 0 15 1;
662 | #X connect 17 0 15 0;
663 | #X connect 19 0 29 0;
664 | #X connect 19 0 38 0;
665 | #X connect 21 0 18 0;
666 | #X connect 21 1 19 0;
667 | #X connect 21 2 20 0;
668 | #X connect 23 0 27 0;
669 | #X connect 24 0 28 0;
670 | #X connect 25 0 108 0;
671 | #X connect 26 0 32 0;
672 | #X connect 27 1 6 0;
673 | #X connect 27 1 0 0;
674 | #X connect 27 1 25 0;
675 | #X connect 27 1 2 0;
676 | #X connect 27 1 41 0;
677 | #X connect 27 1 49 0;
678 | #X connect 28 1 2 0;
679 | #X connect 28 1 25 0;
680 | #X connect 28 1 6 0;
681 | #X connect 28 1 0 0;
682 | #X connect 28 1 41 0;
683 | #X connect 28 1 49 0;
684 | #X connect 32 0 28 1;
685 | #X connect 32 0 27 1;
686 | #X connect 32 0 56 0;
687 | #X connect 38 0 39 0;
688 | #X connect 41 0 43 0;
689 | #X connect 41 1 45 0;
690 | #X connect 42 0 95 0;
691 | #X connect 42 0 89 0;
692 | #X connect 43 0 92 0;
693 | #X connect 44 0 95 1;
694 | #X connect 44 0 102 0;
695 | #X connect 45 0 91 0;
696 | #X connect 46 0 41 1;
697 | #X connect 46 0 47 0;
698 | #X connect 49 0 50 0;
699 | #X connect 50 0 68 0;
700 | #X connect 50 0 65 1;
701 | #X connect 52 0 58 0;
702 | #X connect 54 0 55 0;
703 | #X connect 55 0 52 0;
704 | #X connect 57 0 52 0;
705 | #X connect 57 0 54 0;
706 | #X connect 59 0 42 0;
707 | #X connect 59 0 44 0;
708 | #X connect 60 0 3 0;
709 | #X connect 61 0 13 0;
710 | #X connect 62 0 18 0;
711 | #X connect 62 0 19 0;
712 | #X connect 63 0 37 0;
713 | #X connect 64 0 65 0;
714 | #X connect 64 0 96 0;
715 | #X connect 65 0 66 0;
716 | #X connect 66 0 97 0;
717 | #X connect 67 0 78 0;
718 | #X connect 68 0 64 0;
719 | #X connect 71 0 64 0;
720 | #X connect 72 0 68 1;
721 | #X connect 75 0 51 0;
722 | #X connect 75 0 120 0;
723 | #X connect 76 0 78 0;
724 | #X connect 76 0 96 0;
725 | #X connect 79 0 86 0;
726 | #X connect 79 0 97 1;
727 | #X connect 83 0 80 0;
728 | #X connect 83 0 6 1;
729 | #X connect 85 0 84 0;
730 | #X connect 85 0 0 1;
731 | #X connect 89 0 104 0;
732 | #X connect 89 0 110 0;
733 | #X connect 90 0 89 1;
734 | #X connect 90 0 102 1;
735 | #X connect 91 0 44 0;
736 | #X connect 92 0 42 0;
737 | #X connect 93 0 90 0;
738 | #X connect 95 0 116 0;
739 | #X connect 96 0 77 0;
740 | #X connect 96 0 75 0;
741 | #X connect 97 0 100 0;
742 | #X connect 99 0 67 0;
743 | #X connect 100 0 99 0;
744 | #X connect 102 0 104 0;
745 | #X connect 104 0 105 1;
746 | #X connect 105 0 106 0;
747 | #X connect 106 0 109 0;
748 | #X connect 107 0 36 0;
749 | #X connect 108 0 107 0;
750 | #X connect 109 0 112 0;
751 | #X connect 110 0 105 0;
752 | #X connect 113 0 114 0;
753 | #X connect 114 0 115 0;
754 | #X connect 115 0 107 0;
755 | #X connect 116 0 117 0;
756 | #X connect 117 0 94 0;
757 | #X restore 16 337 pd aubio;
758 | #X obj -11 517 spigot;
759 | #X obj 22 443 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
760 | 1;
761 | #X obj -11 540 print;
762 | #X floatatom 398 126 5 0 0 0 - - -;
763 | #X text 40 442 Print Output to Console;
764 | #X obj 583 143 s osc_output;
765 | #X obj 584 213 s osc_output;
766 | #X msg 434 242 send /aubioBpm \$1;
767 | #X obj 583 259 s osc_output;
768 | #X obj 583 190 s osc_output;
769 | #X obj 584 304 s osc_output;
770 | #X text 658 7 Todo: - http://forumnet.ircam.fr/product/antescofo/?lang=en
771 | ;
772 | #X obj 298 156 r aubio_is_playing;
773 | #X msg 433 173 send /aubioIsPlaying \$1;
774 | #X obj 415 173 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
775 | 1;
776 | #X obj 15 368 -~;
777 | #X floatatom 15 415 5 0 0 0 - - -;
778 | #X obj 56 414 sqrt;
779 | #X obj 93 369 vsl 15 60 -1 1 0 0 empty empty empty 0 -9 0 10 -262144
780 | -1 -1 0 1;
781 | #X text 43 371 Balance;
782 | #X obj 15 393 average~ 200;
783 | #X obj -67 484 r osc_output;
784 | #X obj 113 415 s osc_output;
785 | #N canvas 775 308 450 300 clean_signal 0;
786 | #X obj 51 133 ==;
787 | #X obj 93 116 f;
788 | #X floatatom 102 139 5 0 0 0 - - -;
789 | #X text 24 10 SIGNAL CLEANER;
790 | #X obj 51 68 inlet float;
791 | #X obj 51 156 sel 0;
792 | #X obj 93 163 outlet float;
793 | #X text 25 24 Prevents resending bangs when the float value has not
794 | changed. (Sort of flood filter);
795 | #X connect 0 0 5 0;
796 | #X connect 1 0 0 1;
797 | #X connect 1 0 2 0;
798 | #X connect 1 0 6 0;
799 | #X connect 4 0 1 1;
800 | #X connect 4 0 0 0;
801 | #X connect 5 0 1 0;
802 | #X restore 113 375 pd clean_signal;
803 | #X msg 113 395 send /balance \$1;
804 | #X text 275 383 Many OSC optimisation todo here \, frequency and packing
805 | stuff. See resample.pd and sendmany-osc.pd;
806 | #X text 102 21 Make sure to run this with;
807 | #X text 103 39 Pd-Extended 0.43.4;
808 | #X msg 247 541 connect 192.168.0.14 12000;
809 | #X obj -67 583 sendOSC;
810 | #X connect 0 0 5 0;
811 | #X connect 0 0 13 0;
812 | #X connect 0 0 130 0;
813 | #X connect 0 0 146 0;
814 | #X connect 0 1 5 0;
815 | #X connect 0 1 13 1;
816 | #X connect 0 1 130 1;
817 | #X connect 0 1 146 1;
818 | #X connect 1 0 160 0;
819 | #X connect 2 0 160 0;
820 | #X connect 3 0 160 0;
821 | #X connect 4 0 47 0;
822 | #X connect 5 0 6 0;
823 | #X connect 5 0 6 1;
824 | #X connect 7 0 119 0;
825 | #X connect 8 0 9 0;
826 | #X connect 11 0 10 0;
827 | #X connect 36 0 19 0;
828 | #X connect 37 0 21 0;
829 | #X connect 38 0 22 0;
830 | #X connect 39 0 23 0;
831 | #X connect 40 0 24 0;
832 | #X connect 41 0 25 0;
833 | #X connect 42 0 18 0;
834 | #X connect 43 0 20 0;
835 | #X connect 44 0 17 0;
836 | #X connect 45 0 16 0;
837 | #X connect 47 0 5 1;
838 | #X connect 47 0 95 0;
839 | #X connect 48 0 116 0;
840 | #X connect 48 0 68 0;
841 | #X connect 49 0 41 0;
842 | #X connect 49 0 35 0;
843 | #X connect 50 0 40 0;
844 | #X connect 50 0 34 0;
845 | #X connect 51 0 39 0;
846 | #X connect 51 0 33 0;
847 | #X connect 52 0 38 0;
848 | #X connect 52 0 32 0;
849 | #X connect 53 0 37 0;
850 | #X connect 53 0 31 0;
851 | #X connect 54 0 36 0;
852 | #X connect 54 0 30 0;
853 | #X connect 55 0 43 0;
854 | #X connect 55 0 29 0;
855 | #X connect 56 0 42 0;
856 | #X connect 56 0 28 0;
857 | #X connect 57 0 44 0;
858 | #X connect 57 0 27 0;
859 | #X connect 58 0 45 0;
860 | #X connect 58 0 26 0;
861 | #X connect 63 0 83 0;
862 | #X connect 63 0 69 0;
863 | #X connect 64 0 120 0;
864 | #X connect 64 0 74 0;
865 | #X connect 65 0 113 0;
866 | #X connect 65 0 72 0;
867 | #X connect 66 0 13 2;
868 | #X connect 70 0 115 0;
869 | #X connect 70 0 71 0;
870 | #X connect 74 0 75 0;
871 | #X connect 75 0 76 0;
872 | #X connect 75 0 77 0;
873 | #X connect 76 0 75 1;
874 | #X connect 78 0 107 0;
875 | #X connect 79 0 109 0;
876 | #X connect 80 0 134 0;
877 | #X connect 80 0 112 0;
878 | #X connect 81 0 111 0;
879 | #X connect 81 0 86 0;
880 | #X connect 82 0 114 0;
881 | #X connect 82 0 73 0;
882 | #X connect 83 0 46 0;
883 | #X connect 84 0 130 2;
884 | #X connect 87 0 108 0;
885 | #X connect 87 0 88 0;
886 | #X connect 89 0 90 0;
887 | #X connect 89 0 138 0;
888 | #X connect 91 0 92 0;
889 | #X connect 91 0 79 0;
890 | #X connect 93 0 78 0;
891 | #X connect 93 0 94 0;
892 | #X connect 97 0 96 0;
893 | #X connect 97 0 110 0;
894 | #X connect 108 0 137 0;
895 | #X connect 110 0 141 0;
896 | #X connect 111 0 106 0;
897 | #X connect 112 0 136 0;
898 | #X connect 113 0 46 0;
899 | #X connect 114 0 46 0;
900 | #X connect 115 0 46 0;
901 | #X connect 116 0 46 0;
902 | #X connect 117 0 66 0;
903 | #X connect 119 0 160 0;
904 | #X connect 120 0 46 0;
905 | #X connect 121 0 122 1;
906 | #X connect 122 0 131 0;
907 | #X connect 122 0 160 0;
908 | #X connect 128 0 84 0;
909 | #X connect 131 0 133 0;
910 | #X connect 132 0 131 1;
911 | #X connect 138 0 139 0;
912 | #X connect 143 0 144 0;
913 | #X connect 143 0 145 0;
914 | #X connect 144 0 140 0;
915 | #X connect 146 0 151 0;
916 | #X connect 147 0 148 0;
917 | #X connect 148 0 149 0;
918 | #X connect 149 0 154 0;
919 | #X connect 151 0 147 0;
920 | #X connect 152 0 122 0;
921 | #X connect 154 0 155 0;
922 | #X connect 155 0 153 0;
923 | #X connect 159 0 160 0;
924 | #X connect 160 0 121 0;
925 |
--------------------------------------------------------------------------------
/depreciated/OSCCleannFloat.pd:
--------------------------------------------------------------------------------
1 | #N canvas 72 23 1254 676 10;
2 | #X declare -lib mrpeach;
3 | #X obj 17 272 adc~;
4 | #X msg 159 566 disconnect;
5 | #X msg 159 489 typetags 1;
6 | #X msg 159 513 typetags 0;
7 | #X obj -48 152 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
8 | 1;
9 | #X obj -63 289 *~;
10 | #X obj -63 337 dac~;
11 | #X obj 88 484 loadbang;
12 | #X obj 18 25 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
13 | -1;
14 | #X msg 18 63 \; pd dsp 1;
15 | #X msg -49 64 \; pd dsp 0;
16 | #X obj -49 27 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
17 | -1;
18 | #X text -51 -6 Turn On/Off Pd.DSP;
19 | #N canvas 71 24 898 653 karmaFiddle 0;
20 | #X obj -1170 289 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
21 | 10 -262144 -1 -1 0 256;
22 | #X obj -1115 319 unpack;
23 | #X obj -1115 354 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
24 | 10 -262144 -1 -1 0 256;
25 | #X obj -1042 336 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
26 | 10 -262144 -1 -1 0 256;
27 | #X obj -1115 378 route 0;
28 | #X obj -1087 278 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
29 | 10 -262144 -1 -1 0 256;
30 | #X obj -1042 391 > 50;
31 | #X obj -1042 421 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
32 | 0 1;
33 | #X obj -1042 441 sel 1 0;
34 | #X obj -1042 471 timer;
35 | #X floatatom -1041 502 5 0 0 0 - - -;
36 | #X obj -1041 554 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
37 | 0 1;
38 | #X text -1185 339 Attack;
39 | #X obj -1114 409 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
40 | 10 -262144 -1 -1 0 256;
41 | #X text -1173 408 Raw Pitch;
42 | #X text -1043 319 Raw Amplitude;
43 | #X text -1093 107 1024 = FFT window size;
44 | #X msg -1090 129 npoints 1024;
45 | #X msg -1090 155 npoints 2048;
46 | #X obj -1041 524 > 2000;
47 | #X obj -1041 580 s silence;
48 | #X text -1306 34 Uses the fiddle object to extract FFT and some other
49 | information.;
50 | #X obj -897 556 unpack;
51 | #X obj -897 579 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
52 | 10 -262144 -1 -1 0 256;
53 | #X obj -864 579 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
54 | 10 -262144 -1 -1 0 256;
55 | #X obj -882 477 unpack;
56 | #X text -899 34 5 EQUALIZER BANDS WITH THEIR PITCH (Hz) AND AMPLITUDE
57 | (rms);
58 | #X obj -882 497 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
59 | 10 -262144 -1 -1 0 256;
60 | #X obj -849 497 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
61 | 10 -262144 -1 -1 0 256;
62 | #X obj -866 398 unpack;
63 | #X obj -866 418 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
64 | 10 -262144 -1 -1 0 256;
65 | #X obj -833 418 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
66 | 10 -262144 -1 -1 0 256;
67 | #X obj -850 319 unpack;
68 | #X obj -850 339 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
69 | 10 -262144 -1 -1 0 256;
70 | #X obj -817 339 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
71 | 10 -262144 -1 -1 0 256;
72 | #X obj -834 241 unpack;
73 | #X obj -834 261 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
74 | 10 -262144 -1 -1 0 256;
75 | #X obj -801 261 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
76 | 10 -262144 -1 -1 0 256;
77 | #X obj -1307 214 inlet~ LeftAudio;
78 | #X obj -1300 238 inlet~ RightAudio;
79 | #X text -1250 524 Bang Detects 2 sec non-variation;
80 | #X text -1252 538 (potentially end of track/set);
81 | #X text -996 523 ms;
82 | #X obj -1241 307 s fiddle_pitch;
83 | #X obj -897 616 s fft1p;
84 | #X obj -864 596 s fft1a;
85 | #X obj -849 513 s fft2a;
86 | #X obj -866 454 s fft3p;
87 | #X obj -833 435 s fft3a;
88 | #X obj -850 375 s fft4p;
89 | #X obj -817 356 s fft4a;
90 | #X obj -834 297 s fft5p;
91 | #X obj -801 278 s fft5a;
92 | #X text -1247 288 Cooked Pitch;
93 | #X text -1030 278 Amplitude (db);
94 | #X obj -818 162 unpack;
95 | #X obj -818 182 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
96 | 10 -262144 -1 -1 0 256;
97 | #X obj -785 182 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
98 | 10 -262144 -1 -1 0 256;
99 | #X obj -785 199 s fft6a;
100 | #X obj -818 218 s fft6p;
101 | #X obj -802 84 unpack;
102 | #X obj -802 104 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
103 | 10 -262144 -1 -1 0 256;
104 | #X obj -769 104 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
105 | 10 -262144 -1 -1 0 256;
106 | #X obj -897 60 route 1 2 3 4 5 6 7;
107 | #X obj -1170 255 fiddle~ 1024 1 50 7;
108 | #X obj -802 140 s fft7p;
109 | #X obj -769 121 s fft7a;
110 | #X obj -882 532 s fft2p;
111 | #X obj -1031 358 s fiddle_raw_amp;
112 | #X obj -1087 296 s fiddle_amp;
113 | #X obj -1282 109 inlet on_off_switch;
114 | #X obj -1303 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
115 | 1 1;
116 | #X obj -1300 266 spigot~;
117 | #X obj -1171 231 spigot~;
118 | #X obj -1171 430 s fiddle_raw_pitch;
119 | #X obj -1222 361 s fiddle_attack;
120 | #X obj -1143 339 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
121 | -1 -1;
122 | #X obj -1260 173 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
123 | -1 -1;
124 | #X obj -1257 129 route 0 1;
125 | #X obj -1235 173 i 1;
126 | #X obj -646 479 r karma-fiddle-off;
127 | #X obj -1365 188 s karma-fiddle-off;
128 | #X obj -646 545 i 0;
129 | #X text -646 462 Reset all values;
130 | #X obj -639 502 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
131 | -1 -1;
132 | #X obj -1188 166 i 0;
133 | #X obj -646 570 s fiddler_reset;
134 | #X obj -710 87 r fiddler_reset;
135 | #X obj -725 165 r fiddler_reset;
136 | #X obj -738 244 r fiddler_reset;
137 | #X obj -753 322 r fiddler_reset;
138 | #X obj -771 401 r fiddler_reset;
139 | #X obj -786 480 r fiddler_reset;
140 | #X obj -795 562 r fiddler_reset;
141 | #X obj -1029 261 r fiddler_reset;
142 | #X obj -1283 393 r fiddler_reset;
143 | #X msg -1188 191 auto \$1;
144 | #X obj -639 522 delay 50;
145 | #N canvas 348 204 544 468 resample 1;
146 | #X obj 143 237 metro \$1;
147 | #X obj -67 113 inlet;
148 | #X obj 143 211 != 0;
149 | #X obj 154 140 \$1;
150 | #X obj 180 140 loadbang;
151 | #X obj 144 163 i 50;
152 | #X text 173 165 Default Frequency (ms);
153 | #X obj -88 187 tgl 15 0 empty empty Frequency_Controll_[on/off] 17
154 | 7 0 10 -262144 -1 -1 0 1;
155 | #X obj -120 113 inlet;
156 | #X text -188 113 Data input;
157 | #X obj -88 232 != 1;
158 | #X floatatom 201 238 5 0 0 1 Raw_input - -;
159 | #X floatatom 97 279 5 0 0 0 Summed_Values - -;
160 | #X obj 173 306 i;
161 | #X obj 146 306 + 1;
162 | #X text 21 435 See also resample \, sendmany-osc.pd and lop;
163 | #X obj -51 343 ==;
164 | #X obj -96 363 f;
165 | #X floatatom -84 387 5 0 0 0 - - -;
166 | #X obj -51 366 sel 0;
167 | #X obj -96 407 outlet float;
168 | #X floatatom 173 328 5 0 0 0 - - -;
169 | #X obj 173 285 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
170 | -1 -1;
171 | #X obj 201 202 spigot;
172 | #X obj 173 262 +;
173 | #X obj 201 263 i;
174 | #X obj 144 262 i;
175 | #X floatatom 97 301 5 0 0 0 Num_Values - -;
176 | #X obj 146 284 i;
177 | #X obj 97 324 /;
178 | #X floatatom 97 347 5 0 0 0 Averaged_Value - -;
179 | #X obj -121 256 spigot;
180 | #X text -190 17 Cleans data flow for OSC output.;
181 | #X text -190 32 Unchanged values are not re-sent.;
182 | #X text 83 17 (Tested only for ints and floats);
183 | #X text -189 46 Too frequent values are sent less frequent and averaged.
184 | ;
185 | #X text -28 112 Freq.Cont. [on/off];
186 | #X obj 144 119 inlet;
187 | #X text 183 118 Set frequency (ms);
188 | #X text -189 61 Set frequency with \$1 creation argument or 3rd inlet.
189 | ;
190 | #X obj 90 130 sel 1;
191 | #X connect 0 0 27 0;
192 | #X connect 1 0 7 0;
193 | #X connect 1 0 40 0;
194 | #X connect 2 0 0 0;
195 | #X connect 3 0 5 0;
196 | #X connect 4 0 3 0;
197 | #X connect 5 0 2 0;
198 | #X connect 7 0 10 0;
199 | #X connect 7 0 23 1;
200 | #X connect 8 0 23 0;
201 | #X connect 8 0 31 0;
202 | #X connect 10 0 31 1;
203 | #X connect 11 0 25 0;
204 | #X connect 12 0 29 1;
205 | #X connect 13 0 21 0;
206 | #X connect 14 0 28 1;
207 | #X connect 16 0 19 0;
208 | #X connect 17 0 16 1;
209 | #X connect 17 0 18 0;
210 | #X connect 17 0 20 0;
211 | #X connect 19 0 17 0;
212 | #X connect 22 0 28 0;
213 | #X connect 22 0 13 0;
214 | #X connect 23 0 11 0;
215 | #X connect 24 0 26 0;
216 | #X connect 24 0 22 0;
217 | #X connect 25 0 24 0;
218 | #X connect 26 0 24 1;
219 | #X connect 26 0 12 0;
220 | #X connect 27 0 29 0;
221 | #X connect 28 0 14 0;
222 | #X connect 28 0 27 0;
223 | #X connect 29 0 30 0;
224 | #X connect 30 0 16 0;
225 | #X connect 30 0 17 1;
226 | #X connect 31 0 16 0;
227 | #X connect 31 0 17 1;
228 | #X connect 37 0 5 0;
229 | #X connect 40 0 5 0;
230 | #X restore -667 119 pd resample 24;
231 | #X floatatom -581 62 5 0 0 0 Sending_Freq_(ms) - -;
232 | #X obj -567 171 resample;
233 | #X connect 0 0 43 0;
234 | #X connect 1 0 2 0;
235 | #X connect 1 1 3 0;
236 | #X connect 2 0 4 0;
237 | #X connect 3 0 6 0;
238 | #X connect 3 0 68 0;
239 | #X connect 4 1 13 0;
240 | #X connect 5 0 69 0;
241 | #X connect 6 0 7 0;
242 | #X connect 7 0 8 0;
243 | #X connect 8 0 9 0;
244 | #X connect 8 1 9 1;
245 | #X connect 9 0 10 0;
246 | #X connect 10 0 19 0;
247 | #X connect 11 0 20 0;
248 | #X connect 13 0 74 0;
249 | #X connect 17 0 64 0;
250 | #X connect 18 0 64 0;
251 | #X connect 19 0 11 0;
252 | #X connect 22 0 23 0;
253 | #X connect 22 1 24 0;
254 | #X connect 23 0 44 0;
255 | #X connect 24 0 45 0;
256 | #X connect 25 0 27 0;
257 | #X connect 25 1 28 0;
258 | #X connect 27 0 67 0;
259 | #X connect 28 0 46 0;
260 | #X connect 29 0 30 0;
261 | #X connect 29 1 31 0;
262 | #X connect 30 0 47 0;
263 | #X connect 31 0 48 0;
264 | #X connect 32 0 33 0;
265 | #X connect 32 1 34 0;
266 | #X connect 33 0 49 0;
267 | #X connect 34 0 50 0;
268 | #X connect 35 0 36 0;
269 | #X connect 35 1 37 0;
270 | #X connect 36 0 51 0;
271 | #X connect 37 0 52 0;
272 | #X connect 38 0 73 0;
273 | #X connect 39 0 72 0;
274 | #X connect 55 0 56 0;
275 | #X connect 55 1 57 0;
276 | #X connect 56 0 59 0;
277 | #X connect 57 0 58 0;
278 | #X connect 60 0 61 0;
279 | #X connect 60 1 62 0;
280 | #X connect 61 0 65 0;
281 | #X connect 62 0 66 0;
282 | #X connect 63 0 22 0;
283 | #X connect 63 1 25 0;
284 | #X connect 63 2 29 0;
285 | #X connect 63 3 32 0;
286 | #X connect 63 4 35 0;
287 | #X connect 63 5 55 0;
288 | #X connect 63 6 60 0;
289 | #X connect 64 0 0 0;
290 | #X connect 64 1 75 0;
291 | #X connect 64 1 76 0;
292 | #X connect 64 2 1 0;
293 | #X connect 64 3 5 0;
294 | #X connect 64 4 63 0;
295 | #X connect 70 0 71 0;
296 | #X connect 71 0 78 0;
297 | #X connect 72 1 64 0;
298 | #X connect 73 1 64 0;
299 | #X connect 77 0 81 0;
300 | #X connect 78 0 77 0;
301 | #X connect 78 0 85 0;
302 | #X connect 78 1 79 0;
303 | #X connect 79 0 73 1;
304 | #X connect 79 0 72 1;
305 | #X connect 79 0 96 0;
306 | #X connect 80 0 82 0;
307 | #X connect 80 0 84 0;
308 | #X connect 82 0 86 0;
309 | #X connect 84 0 97 0;
310 | #X connect 85 0 73 1;
311 | #X connect 85 0 72 1;
312 | #X connect 85 0 96 0;
313 | #X connect 87 0 62 0;
314 | #X connect 87 0 61 0;
315 | #X connect 88 0 57 0;
316 | #X connect 88 0 56 0;
317 | #X connect 89 0 37 0;
318 | #X connect 89 0 36 0;
319 | #X connect 90 0 34 0;
320 | #X connect 90 0 33 0;
321 | #X connect 91 0 31 0;
322 | #X connect 91 0 30 0;
323 | #X connect 92 0 28 0;
324 | #X connect 92 0 27 0;
325 | #X connect 93 0 24 0;
326 | #X connect 93 0 23 0;
327 | #X connect 94 0 5 0;
328 | #X connect 94 0 3 0;
329 | #X connect 95 0 13 0;
330 | #X connect 95 0 0 0;
331 | #X connect 96 0 64 0;
332 | #X connect 97 0 82 0;
333 | #X restore 157 289 pd karmaFiddle;
334 | #X text 89 458 OSC SERVER CONFIGURATION;
335 | #X text -67 458 OSC ROUTING;
336 | #X obj 989 133 s osc_output;
337 | #X obj 989 154 s osc_output;
338 | #X obj 989 177 s osc_output;
339 | #X obj 988 222 s osc_output;
340 | #X obj 988 198 s osc_output;
341 | #X obj 989 243 s osc_output;
342 | #X obj 988 267 s osc_output;
343 | #X obj 988 288 s osc_output;
344 | #X obj 988 312 s osc_output;
345 | #X obj 988 333 s osc_output;
346 | #X floatatom 741 116 5 0 0 0 - - -;
347 | #X floatatom 740 137 5 0 0 0 - - -;
348 | #X floatatom 740 160 5 0 0 0 - - -;
349 | #X floatatom 740 181 5 0 0 0 - - -;
350 | #X floatatom 739 205 5 0 0 0 - - -;
351 | #X floatatom 739 226 5 0 0 0 - - -;
352 | #X floatatom 739 250 5 0 0 0 - - -;
353 | #X floatatom 739 271 5 0 0 0 - - -;
354 | #X floatatom 740 295 5 0 0 0 - - -;
355 | #X floatatom 741 316 5 0 0 0 - - -;
356 | #X msg 776 205 send /fiddle_fft/band3/pitch \$0;
357 | #X msg 776 226 send /fiddle_fft/band3/rms \$0;
358 | #X msg 776 250 send /fiddle_fft/band4/pitch \$0;
359 | #X msg 776 271 send /fiddle_fft/band4/rms \$0;
360 | #X msg 776 295 send /fiddle_fft/band5/rms \$0;
361 | #X msg 776 316 send /fiddle_fft/band5/pitch \$0;
362 | #X msg 777 160 send /fiddle_fft/band2/rms \$0;
363 | #X msg 776 181 send /fiddle_fft/band2/pitch \$0;
364 | #X msg 776 137 send /fiddle_fft/band1/rms \$0;
365 | #X msg 776 116 send /fiddle_fft/band1/pitch \$0;
366 | #X obj 689 581 s osc_output;
367 | #X obj -45 191 hsl 100 15 0 1 0 0 0 ¸áÿ¿» 0 0 0 0 4 -262144 -1
368 | -1 0 0;
369 | #X obj 689 407 r silence;
370 | #X obj 689 299 r fft5p;
371 | #X obj 689 278 r fft5a;
372 | #X obj 689 254 r fft4p;
373 | #X obj 689 233 r fft4a;
374 | #X obj 689 209 r fft3p;
375 | #X obj 689 188 r fft3a;
376 | #X obj 689 164 r fft2p;
377 | #X obj 689 143 r fft2a;
378 | #X obj 690 120 r fft1p;
379 | #X obj 690 99 r fft1a;
380 | #X text 296 2 ROUTING;
381 | #X text 297 17 - - - - - - - - - - - - - - - - - - - - - - - - - -
382 | - - - -;
383 | #X text -68 467 - - - - - - - - - - - - - - - - - - - - - - - - - -
384 | ;
385 | #X text 657 17 - - - - - - - - - - - - - - - - - - - - - - - - - -
386 | - - - -;
387 | #X obj 751 407 r fiddle_pitch;
388 | #X obj 958 407 r fiddle_attack;
389 | #X obj 958 494 r fiddle_amp;
390 | #X obj 238 251 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
391 | 1;
392 | #X text 183 249 (on/off);
393 | #X obj 697 429 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
394 | 1;
395 | #X floatatom 757 428 5 0 0 0 - - -;
396 | #X obj 842 407 r fiddle_raw_pitch;
397 | #X floatatom 849 428 5 0 0 0 - - -;
398 | #X floatatom 922 515 5 0 0 0 - - -;
399 | #X floatatom 919 562 5 0 0 0 - - -;
400 | #X obj 965 429 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
401 | -1 -1;
402 | #X obj 1058 429 i;
403 | #X obj 1089 429 + 1;
404 | #X floatatom 1023 446 5 0 0 0 - - -;
405 | #X msg 434 265 send /aubioOnSet;
406 | #X msg 434 219 send /aubioTempo;
407 | #X obj 298 109 r aubio_pitch;
408 | #X obj 298 132 r aubio_quiet;
409 | #X obj 957 542 r fiddle_raw_amp;
410 | #X msg 751 469 send /fiddlePitch \$0;
411 | #X obj 61 318 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
412 | 1;
413 | #X text 80 317 (on/off);
414 | #X obj 414 149 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
415 | 1;
416 | #X obj 298 179 r aubio_tempo_bis;
417 | #X obj 416 196 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
418 | -1 -1;
419 | #X obj 298 225 r aubio_bpm;
420 | #X floatatom 399 242 5 0 0 0 - - -;
421 | #X obj 298 202 r aubio_tempo;
422 | #X obj 416 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
423 | -1 -1;
424 | #X obj 298 248 r aubio_onset;
425 | #X obj 416 265 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
426 | -1 -1;
427 | #X floatatom -38 213 5 0 0 0 - - -;
428 | #X floatatom 398 287 5 0 0 0 - - -;
429 | #X obj 297 270 r aubio_zcr;
430 | #X text 296 28 All analysed data is routed to OSC messages in this
431 | section;
432 | #X text 688 77 FIDDLE FFT ROUTING;
433 | #X text 688 385 FIDDLE :: [pitch \, attack \, silence \, amplitude]
434 | ROUTING;
435 | #X text 296 81 :: LIB AUBIO ROUTING ::;
436 | #X text -51 132 SOUND OUTPUT;
437 | #X text -26 172 Volume;
438 | #X text -26 151 On/Off;
439 | #X text 17 251 AUDIO SOURCE;
440 | #X obj 583 166 s osc_output;
441 | #X obj 583 282 s osc_output;
442 | #X msg 434 196 send /aubioTempoBis;
443 | #X obj 583 236 s osc_output;
444 | #X msg 433 287 send /aubioZcr \$1;
445 | #X msg 433 149 send /aubioQuiet \$1;
446 | #X msg 433 126 send /aubioPitch \$1;
447 | #X msg 958 515 send /fiddleAmp \$1;
448 | #X msg 957 562 send /fiddleRawAmp \$1;
449 | #X msg 842 448 send /fiddleRawPitch \$1;
450 | #X msg 689 448 send /fiddleSilence \$1;
451 | #X obj 176 234 loadbang;
452 | #X obj -67 628 import mrpeach;
453 | #X msg 88 540 connect localhost 12000;
454 | #X msg 958 468 send /fiddleAttack;
455 | #X obj -67 583 sendOSC;
456 | #X obj -67 605 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
457 | 1;
458 | #X obj -67 540 spigot;
459 | #X text 25 601 Alternatively \, you can use UDPsend;
460 | #X text 26 617 with packOSC instead of sendOSC;
461 | #X text -46 604 UDP State;
462 | #X text 82 336 LIB AUBIO ANALYSIS;
463 | #X text 116 269 FFT & MORE ANALYSIS;
464 | #X obj 61 295 loadbang;
465 | #X text 25 632 http://en.flossmanuals.net/pure-data/ch065_osc/;
466 | #N canvas 178 23 997 667 aubio 1;
467 | #X obj 41 161 aubioonset~;
468 | #X obj 41 196 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
469 | -1;
470 | #X obj 462 164 aubiopitch~;
471 | #X obj 462 211 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
472 | -262144 -1 -1 1 256;
473 | #X obj 130 197 bng 15 50 10 0 empty empty empty 17 7 0 10 -262144 -1
474 | -1;
475 | #X obj 217 198 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
476 | -1 -1;
477 | #X obj 130 163 aubiotempo~ 0.5;
478 | #X obj 322 348 i;
479 | #X obj 360 349 + 1;
480 | #X floatatom 322 378 5 0 0 0 - - -;
481 | #X obj 158 339 alternate;
482 | #X obj 158 369 timer;
483 | #X floatatom 158 395 5 0 0 0 - - -;
484 | #X floatatom 158 520 5 0 0 0 - - -;
485 | #X obj 158 422 expr ($i1 / 6) * 2;
486 | #X obj 158 479 hid/hid_average;
487 | #X floatatom 245 451 5 0 0 0 - - -;
488 | #X floatatom 158 451 5 0 0 0 - - -;
489 | #X floatatom 322 453 5 0 0 0 - - -;
490 | #X floatatom 345 474 5 0 0 0 - - -;
491 | #X floatatom 368 454 5 0 0 0 - - -;
492 | #N canvas 837 96 511 413 timer_utility 0;
493 | #X obj 101 28 inlet;
494 | #X obj 101 377 outlet;
495 | #X obj 160 28 inlet;
496 | #X obj 394 185 sel 0;
497 | #X obj 393 215 0;
498 | #X obj 356 239 metro 1000;
499 | #X obj 101 181 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
500 | -1 -1;
501 | #X obj 101 206 i;
502 | #X obj 143 207 + 1;
503 | #X obj 101 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
504 | -262144 -1 -1 0 256;
505 | #X obj 101 322 div 4;
506 | #X obj 101 348 + 1;
507 | #X obj 199 350 + 1;
508 | #X obj 191 376 outlet;
509 | #X obj 215 101 expr ($i1 * 60) / 1000;
510 | #X obj 215 29 inlet;
511 | #X obj 215 132 outlet;
512 | #X obj 237 233 inlet;
513 | #X obj 236 264 t t f;
514 | #X obj 192 322 mod 4;
515 | #X obj 275 378 outlet;
516 | #X obj 349 380 outlet;
517 | #X obj 276 324 div 60;
518 | #X obj 350 326 mod 60;
519 | #X obj 356 155 t f f;
520 | #X obj 355 124 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
521 | -1 -1;
522 | #X connect 0 0 6 0;
523 | #X connect 3 0 4 0;
524 | #X connect 5 0 22 0;
525 | #X connect 5 0 23 0;
526 | #X connect 6 0 7 0;
527 | #X connect 7 0 8 0;
528 | #X connect 7 0 9 0;
529 | #X connect 8 0 7 1;
530 | #X connect 9 0 10 0;
531 | #X connect 9 0 19 0;
532 | #X connect 10 0 11 0;
533 | #X connect 11 0 1 0;
534 | #X connect 14 0 16 0;
535 | #X connect 15 0 14 0;
536 | #X connect 17 0 18 0;
537 | #X connect 18 0 19 1;
538 | #X connect 18 1 10 1;
539 | #X connect 19 0 13 0;
540 | #X connect 22 0 20 0;
541 | #X connect 23 0 21 0;
542 | #X connect 24 0 5 0;
543 | #X connect 24 1 3 0;
544 | #X connect 25 0 24 0;
545 | #X restore 322 409 pd timer_utility;
546 | #X text 16 13 Uses lib Aubio to get several MIR information;
547 | #X obj 230 69 inlet~ LeftAudio;
548 | #X obj 351 69 inlet~ RightAudio;
549 | #X obj 291 164 aubioquiet~;
550 | #X obj 517 69 inlet on_off_switch;
551 | #X obj 285 90 spigot~;
552 | #X obj 351 90 spigot~;
553 | #X obj 345 496 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
554 | -1 -1 1;
555 | #X text 325 321 METRONOM;
556 | #X text 173 318 TEMPO // BPM;
557 | #X obj 496 71 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
558 | 1;
559 | #X obj 41 257 s aubio_onset;
560 | #X obj 130 257 s aubio_tempo;
561 | #X obj 217 257 s aubio_tempo_bis;
562 | #X obj 291 230 s aubio_quiet;
563 | #X obj 462 256 s aubio_pitch;
564 | #X obj 310 503 == 0;
565 | #X obj 345 520 tgl 60 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
566 | 1;
567 | #X obj 158 544 s aubio_bpm;
568 | #X obj 716 164 aubiotss~;
569 | #X obj 716 249 vsl 15 100 0 1 0 0 empty empty empty 0 -9 0 10 -262144
570 | -1 -1 9900 1;
571 | #X obj 716 188 env~;
572 | #X obj 767 249 vsl 15 100 0 1 0 0 empty empty empty 0 -9 0 10 -262144
573 | -1 -1 9900 1;
574 | #X obj 767 189 env~;
575 | #X obj 716 141 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
576 | -1 -1 0 0;
577 | #X floatatom 778 164 5 0 0 0 - - -;
578 | #X text 713 123 Variation Threshold;
579 | #X obj 577 166 aubiozcr~;
580 | #X floatatom 577 228 5 0 0 0 - - -;
581 | #X obj 577 356 s aubio_zcr;
582 | #X obj 19 526 i 0;
583 | #X text 19 443 Reset all values;
584 | #X obj 26 483 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
585 | -1;
586 | #X obj 26 503 delay 1000;
587 | #X obj 517 101 s aubio-off;
588 | #X obj 19 460 r aubio-off;
589 | #X obj 48 543 s aubio_reset;
590 | #X obj 804 230 r aubio_reset;
591 | #X obj 471 187 r aubio_reset;
592 | #X obj 196 503 r aubio_reset;
593 | #X obj 406 430 r aubio_reset;
594 | #N canvas 775 308 450 300 clean_signal 0;
595 | #X obj 51 133 ==;
596 | #X obj 93 116 f;
597 | #X floatatom 102 139 5 0 0 0 - - -;
598 | #X text 24 10 SIGNAL CLEANER;
599 | #X obj 51 68 inlet float;
600 | #X obj 51 156 sel 0;
601 | #X obj 93 163 outlet float;
602 | #X text 25 24 Prevents resending bangs when the float value has not
603 | changed. (Sort of flood filter);
604 | #X connect 0 0 5 0;
605 | #X connect 1 0 0 1;
606 | #X connect 1 0 2 0;
607 | #X connect 1 0 6 0;
608 | #X connect 4 0 1 1;
609 | #X connect 4 0 0 0;
610 | #X connect 5 0 1 0;
611 | #X restore 462 233 pd clean_signal;
612 | #X floatatom 577 289 5 0 0 0 - - -;
613 | #X obj 543 305 -;
614 | #X obj 543 327 abs;
615 | #X obj 526 396 sqrt;
616 | #X obj 577 248 average 10;
617 | #X text 13 65 Treshold Tempo;
618 | #X text 14 88 Treshold OnSet;
619 | #X obj 591 268 r aubio_reset;
620 | #X floatatom 634 227 5 0 20 2 - - -;
621 | #X text 584 211 Zcr;
622 | #X text 613 290 Smoothed;
623 | #N canvas 960 356 450 300 clean_signal 0;
624 | #X obj 51 133 ==;
625 | #X obj 93 116 f;
626 | #X floatatom 102 139 5 0 0 0 - - -;
627 | #X text 24 10 SIGNAL CLEANER;
628 | #X obj 51 68 inlet float;
629 | #X obj 51 156 sel 0;
630 | #X obj 93 163 outlet float;
631 | #X text 25 24 Prevents resending bangs when the float value has not
632 | changed. (Sort of flood filter);
633 | #X connect 0 0 5 0;
634 | #X connect 1 0 0 1;
635 | #X connect 1 0 2 0;
636 | #X connect 1 0 6 0;
637 | #X connect 4 0 1 1;
638 | #X connect 4 0 0 0;
639 | #X connect 5 0 1 0;
640 | #X restore 577 332 pd clean_signal;
641 | #X obj 560 378 r aubio_reset;
642 | #X obj 580 400 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
643 | -1 -1 9900 1;
644 | #X obj 580 418 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
645 | -1 -1 9900 1;
646 | #X obj 496 305 hsl 40 15 -0.1 0.1 0 0 empty empty empty -2 -8 0 10
647 | -262144 -1 -1 0 1;
648 | #X floatatom 154 68 5 0 0 0 - - -;
649 | #X text 629 198 Smoothing;
650 | #X text 630 209 Treshold;
651 | #X obj 107 68 hsl 40 15 0 10 0 0 empty empty empty -2 -8 0 10 -262144
652 | -1 -1 0 1;
653 | #X floatatom 154 88 5 0 0 0 - - -;
654 | #X obj 107 89 hsl 40 15 0 15 0 0 empty empty empty -2 -8 0 10 -262144
655 | -1 -1 0 1;
656 | #X floatatom 506 324 5 0 0 0 - - -;
657 | #X text 102 46 PARAMETERS;
658 | #X text 491 288 Treshold;
659 | #X obj 716 440 <;
660 | #X obj 722 414 f 0.005;
661 | #X obj 767 210 / 127;
662 | #X obj 716 210 / 127;
663 | #X obj 722 393 loadbang;
664 | #X obj 787 251 vsl 15 100 -1 1 0 0 empty empty empty 0 -9 0 10 -262144
665 | -1 -1 5854 1;
666 | #X obj 846 324 -;
667 | #X obj 577 310 * 5;
668 | #X obj 478 344 -;
669 | #X text 575 433 ZeroCross Variation;
670 | #X obj 529 379 * 2;
671 | #X obj 497 361 average 3;
672 | #X text 384 579 comment;
673 | #X obj 767 440 <;
674 | #X obj 722 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
675 | -1 -1;
676 | #X obj 752 466 == 0;
677 | #X obj 716 491 &;
678 | #N canvas 775 308 450 300 clean_signal 0;
679 | #X obj 51 133 ==;
680 | #X obj 93 116 f;
681 | #X floatatom 102 139 5 0 0 0 - - -;
682 | #X text 24 10 SIGNAL CLEANER;
683 | #X obj 51 68 inlet float;
684 | #X obj 51 156 sel 0;
685 | #X obj 93 163 outlet float;
686 | #X text 25 24 Prevents resending bangs when the float value has not
687 | changed. (Sort of flood filter);
688 | #X connect 0 0 5 0;
689 | #X connect 1 0 0 1;
690 | #X connect 1 0 2 0;
691 | #X connect 1 0 6 0;
692 | #X connect 4 0 1 1;
693 | #X connect 4 0 0 0;
694 | #X connect 5 0 1 0;
695 | #X restore 716 512 pd clean_signal;
696 | #X obj 291 209 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
697 | 1;
698 | #X obj 291 188 i 1;
699 | #X obj 716 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
700 | 1;
701 | #X obj 716 467 == 0;
702 | #X text 737 533 isPlaying;
703 | #X obj 716 556 s aubio_is_playing;
704 | #X obj 320 188 r aubio_is_playing;
705 | #X obj 343 208 sel 1;
706 | #X obj 311 209 i 0;
707 | #X obj 846 347 average 30;
708 | #X obj 846 370 sqrt;
709 | #X text 810 277 (~Sound similarity indicator);
710 | #X text 575 447 (~cymbal detection);
711 | #X floatatom 623 312 5 0 0 0 - - -;
712 | #X connect 0 0 1 0;
713 | #X connect 1 0 33 0;
714 | #X connect 2 0 3 0;
715 | #X connect 3 0 63 0;
716 | #X connect 4 0 7 0;
717 | #X connect 4 0 10 0;
718 | #X connect 4 0 34 0;
719 | #X connect 5 0 35 0;
720 | #X connect 6 0 4 0;
721 | #X connect 6 1 5 0;
722 | #X connect 7 0 9 0;
723 | #X connect 7 0 8 0;
724 | #X connect 8 0 7 1;
725 | #X connect 9 0 21 0;
726 | #X connect 10 0 11 0;
727 | #X connect 10 1 11 1;
728 | #X connect 11 0 12 0;
729 | #X connect 12 0 14 0;
730 | #X connect 13 0 40 0;
731 | #X connect 14 0 17 0;
732 | #X connect 15 0 13 0;
733 | #X connect 16 0 15 1;
734 | #X connect 17 0 15 0;
735 | #X connect 19 0 29 0;
736 | #X connect 19 0 38 0;
737 | #X connect 21 0 18 0;
738 | #X connect 21 1 19 0;
739 | #X connect 21 2 20 0;
740 | #X connect 23 0 27 0;
741 | #X connect 24 0 28 0;
742 | #X connect 25 0 108 0;
743 | #X connect 26 0 32 0;
744 | #X connect 27 1 6 0;
745 | #X connect 27 1 0 0;
746 | #X connect 27 1 25 0;
747 | #X connect 27 1 2 0;
748 | #X connect 27 1 41 0;
749 | #X connect 27 1 49 0;
750 | #X connect 28 1 2 0;
751 | #X connect 28 1 25 0;
752 | #X connect 28 1 6 0;
753 | #X connect 28 1 0 0;
754 | #X connect 28 1 41 0;
755 | #X connect 28 1 49 0;
756 | #X connect 32 0 28 1;
757 | #X connect 32 0 27 1;
758 | #X connect 32 0 56 0;
759 | #X connect 38 0 39 0;
760 | #X connect 41 0 43 0;
761 | #X connect 41 1 45 0;
762 | #X connect 42 0 95 0;
763 | #X connect 42 0 89 0;
764 | #X connect 43 0 92 0;
765 | #X connect 44 0 95 1;
766 | #X connect 44 0 102 0;
767 | #X connect 45 0 91 0;
768 | #X connect 46 0 41 1;
769 | #X connect 46 0 47 0;
770 | #X connect 49 0 50 0;
771 | #X connect 50 0 68 0;
772 | #X connect 50 0 65 1;
773 | #X connect 52 0 58 0;
774 | #X connect 54 0 55 0;
775 | #X connect 55 0 52 0;
776 | #X connect 57 0 52 0;
777 | #X connect 57 0 54 0;
778 | #X connect 59 0 42 0;
779 | #X connect 59 0 44 0;
780 | #X connect 60 0 3 0;
781 | #X connect 61 0 13 0;
782 | #X connect 62 0 18 0;
783 | #X connect 62 0 19 0;
784 | #X connect 63 0 37 0;
785 | #X connect 64 0 65 0;
786 | #X connect 64 0 96 0;
787 | #X connect 65 0 66 0;
788 | #X connect 66 0 97 0;
789 | #X connect 67 0 78 0;
790 | #X connect 68 0 64 0;
791 | #X connect 71 0 64 0;
792 | #X connect 72 0 68 1;
793 | #X connect 75 0 51 0;
794 | #X connect 75 0 120 0;
795 | #X connect 76 0 78 0;
796 | #X connect 76 0 96 0;
797 | #X connect 79 0 86 0;
798 | #X connect 79 0 97 1;
799 | #X connect 83 0 80 0;
800 | #X connect 83 0 6 1;
801 | #X connect 85 0 84 0;
802 | #X connect 85 0 0 1;
803 | #X connect 89 0 104 0;
804 | #X connect 89 0 110 0;
805 | #X connect 90 0 89 1;
806 | #X connect 90 0 102 1;
807 | #X connect 91 0 44 0;
808 | #X connect 92 0 42 0;
809 | #X connect 93 0 90 0;
810 | #X connect 95 0 116 0;
811 | #X connect 96 0 77 0;
812 | #X connect 96 0 75 0;
813 | #X connect 97 0 100 0;
814 | #X connect 99 0 67 0;
815 | #X connect 100 0 99 0;
816 | #X connect 102 0 104 0;
817 | #X connect 103 0 93 0;
818 | #X connect 104 0 105 1;
819 | #X connect 105 0 106 0;
820 | #X connect 106 0 109 0;
821 | #X connect 107 0 36 0;
822 | #X connect 108 0 107 0;
823 | #X connect 109 0 112 0;
824 | #X connect 110 0 105 0;
825 | #X connect 113 0 114 0;
826 | #X connect 114 0 115 0;
827 | #X connect 115 0 107 0;
828 | #X connect 116 0 117 0;
829 | #X connect 117 0 94 0;
830 | #X restore 16 337 pd aubio;
831 | #X obj -11 517 spigot;
832 | #X obj 22 443 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
833 | 1;
834 | #X obj -11 540 print;
835 | #X floatatom 398 126 5 0 0 0 - - -;
836 | #X text 40 442 Print Output to Console;
837 | #X obj 583 143 s osc_output;
838 | #X obj 584 213 s osc_output;
839 | #X msg 434 242 send /aubioBpm \$1;
840 | #X obj 583 259 s osc_output;
841 | #X obj 583 190 s osc_output;
842 | #X obj 584 304 s osc_output;
843 | #X text 658 7 Todo: - http://forumnet.ircam.fr/product/antescofo/?lang=en
844 | ;
845 | #X obj 298 156 r aubio_is_playing;
846 | #X msg 433 173 send /aubioIsPlaying \$1;
847 | #X obj 415 173 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
848 | 1;
849 | #X obj 15 368 -~;
850 | #X floatatom 15 415 5 0 0 0 - - -;
851 | #X obj 56 414 sqrt;
852 | #X obj 93 369 vsl 15 60 -1 1 0 0 empty empty empty 0 -9 0 10 -262144
853 | -1 -1 0 1;
854 | #X text 43 371 Balance;
855 | #X obj 15 393 average~ 200;
856 | #X obj -67 484 r osc_output;
857 | #X obj 113 415 s osc_output;
858 | #N canvas 775 308 450 300 clean_signal 0;
859 | #X obj 51 133 ==;
860 | #X obj 93 116 f;
861 | #X floatatom 102 139 5 0 0 0 - - -;
862 | #X text 24 10 SIGNAL CLEANER;
863 | #X obj 51 68 inlet float;
864 | #X obj 51 156 sel 0;
865 | #X obj 93 163 outlet float;
866 | #X text 25 24 Prevents resending bangs when the float value has not
867 | changed. (Sort of flood filter);
868 | #X connect 0 0 5 0;
869 | #X connect 1 0 0 1;
870 | #X connect 1 0 2 0;
871 | #X connect 1 0 6 0;
872 | #X connect 4 0 1 1;
873 | #X connect 4 0 0 0;
874 | #X connect 5 0 1 0;
875 | #X restore 113 375 pd clean_signal;
876 | #X msg 113 395 send /balance \$1;
877 | #X text 275 383 Many OSC optimisation todo here \, frequency and packing
878 | stuff. See resample.pd and sendmany-osc.pd;
879 | #X connect 0 0 5 0;
880 | #X connect 0 0 13 0;
881 | #X connect 0 0 131 0;
882 | #X connect 0 0 147 0;
883 | #X connect 0 1 5 0;
884 | #X connect 0 1 13 1;
885 | #X connect 0 1 131 1;
886 | #X connect 0 1 147 1;
887 | #X connect 1 0 121 0;
888 | #X connect 2 0 121 0;
889 | #X connect 3 0 121 0;
890 | #X connect 4 0 47 0;
891 | #X connect 5 0 6 0;
892 | #X connect 5 0 6 1;
893 | #X connect 7 0 119 0;
894 | #X connect 8 0 9 0;
895 | #X connect 11 0 10 0;
896 | #X connect 36 0 19 0;
897 | #X connect 37 0 21 0;
898 | #X connect 38 0 22 0;
899 | #X connect 39 0 23 0;
900 | #X connect 40 0 24 0;
901 | #X connect 41 0 25 0;
902 | #X connect 42 0 18 0;
903 | #X connect 43 0 20 0;
904 | #X connect 44 0 17 0;
905 | #X connect 45 0 16 0;
906 | #X connect 47 0 5 1;
907 | #X connect 47 0 95 0;
908 | #X connect 48 0 116 0;
909 | #X connect 48 0 68 0;
910 | #X connect 49 0 41 0;
911 | #X connect 49 0 35 0;
912 | #X connect 50 0 40 0;
913 | #X connect 50 0 34 0;
914 | #X connect 51 0 39 0;
915 | #X connect 51 0 33 0;
916 | #X connect 52 0 38 0;
917 | #X connect 52 0 32 0;
918 | #X connect 53 0 37 0;
919 | #X connect 53 0 31 0;
920 | #X connect 54 0 36 0;
921 | #X connect 54 0 30 0;
922 | #X connect 55 0 43 0;
923 | #X connect 55 0 29 0;
924 | #X connect 56 0 42 0;
925 | #X connect 56 0 28 0;
926 | #X connect 57 0 44 0;
927 | #X connect 57 0 27 0;
928 | #X connect 58 0 45 0;
929 | #X connect 58 0 26 0;
930 | #X connect 63 0 83 0;
931 | #X connect 63 0 69 0;
932 | #X connect 64 0 120 0;
933 | #X connect 64 0 74 0;
934 | #X connect 65 0 113 0;
935 | #X connect 65 0 72 0;
936 | #X connect 66 0 13 2;
937 | #X connect 70 0 115 0;
938 | #X connect 70 0 71 0;
939 | #X connect 74 0 75 0;
940 | #X connect 75 0 76 0;
941 | #X connect 75 0 77 0;
942 | #X connect 76 0 75 1;
943 | #X connect 78 0 107 0;
944 | #X connect 79 0 109 0;
945 | #X connect 80 0 135 0;
946 | #X connect 80 0 112 0;
947 | #X connect 81 0 111 0;
948 | #X connect 81 0 86 0;
949 | #X connect 82 0 114 0;
950 | #X connect 82 0 73 0;
951 | #X connect 83 0 46 0;
952 | #X connect 84 0 131 2;
953 | #X connect 87 0 108 0;
954 | #X connect 87 0 88 0;
955 | #X connect 89 0 90 0;
956 | #X connect 89 0 139 0;
957 | #X connect 91 0 92 0;
958 | #X connect 91 0 79 0;
959 | #X connect 93 0 78 0;
960 | #X connect 93 0 94 0;
961 | #X connect 97 0 96 0;
962 | #X connect 97 0 110 0;
963 | #X connect 108 0 138 0;
964 | #X connect 110 0 142 0;
965 | #X connect 111 0 106 0;
966 | #X connect 112 0 137 0;
967 | #X connect 113 0 46 0;
968 | #X connect 114 0 46 0;
969 | #X connect 115 0 46 0;
970 | #X connect 116 0 46 0;
971 | #X connect 117 0 66 0;
972 | #X connect 119 0 121 0;
973 | #X connect 120 0 46 0;
974 | #X connect 121 0 122 0;
975 | #X connect 122 0 123 1;
976 | #X connect 123 0 121 0;
977 | #X connect 123 0 132 0;
978 | #X connect 129 0 84 0;
979 | #X connect 132 0 134 0;
980 | #X connect 133 0 132 1;
981 | #X connect 139 0 140 0;
982 | #X connect 144 0 145 0;
983 | #X connect 144 0 146 0;
984 | #X connect 145 0 141 0;
985 | #X connect 147 0 152 0;
986 | #X connect 148 0 149 0;
987 | #X connect 149 0 150 0;
988 | #X connect 150 0 155 0;
989 | #X connect 152 0 148 0;
990 | #X connect 153 0 123 0;
991 | #X connect 155 0 156 0;
992 | #X connect 156 0 154 0;
993 |
--------------------------------------------------------------------------------