Attached is an attempt to detect 3 notes chords from [adc~], I had to
enlarge window and peaks number for a better detection and added a part
that choose the most recurrent harmonics...
It almost always works on chords played in the middle of the guitar
neck. However it sometimes mixes the bass between the first note and
it's subharmonic fifth, and is confused between a major chord and it's
fifth sus4 chord.
Le 29/03/2017 à 20:11, patrice colet a écrit :
I've just tried with my electric guitar, and 3 peaks isn't enough to
detect all notes from the chords, that's mainly because a guitar chord
uses several times the same note at different octaves, and sigmund may
detect subharmonics, and first harmonics from the bass strings... I
think it's worth to try with at least 12 peaks and remove octaves in a
next patch...
Le 29/03/2017 à 19:47, Pierre Massat a écrit :
Have you tested it with real guitar input ?
I've used Pd with my guitar a lot but I never managed to get anything
reliable off sigmund except the base frequency.
I'm also very interested if it does work.
Cheers,
Pierre.
2017-03-29 18:21 GMT+02:00 patrice colet <colet.patr...@free.fr
<mailto:colet.patr...@free.fr>>:
I don't really know what 'fancy' means in this context, here is an
example with [sigmund~], it's supposed to detect 3 notes chords
Le 29/03/2017 à 11:02, Simon Iten a écrit :
this is far from trivial without a hex pickup and i doubt that
something useful will be possible to do with puredata. but i
would be very happy to be proven wrong!
On 29 Mar 2017, at 02:51, Alexandre Torres Porres
<por...@gmail.com <mailto:por...@gmail.com>> wrote:
howdy, getting involved in a research that needs to detect
notes from guitar chords (no hex pickup solutions,
unfortunately). No need to do anything fancy with the
spectra, or process it in any way like with celemony
melodyne's DNA stuff. Do any of you know of some nice
stuff done in Pd or Max or SC or whatever on that?
thanks
_______________________________________________
Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing
list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
<https://lists.puredata.info/listinfo/pd-list>
_______________________________________________
Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
<https://lists.puredata.info/listinfo/pd-list>
_______________________________________________
Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
<https://lists.puredata.info/listinfo/pd-list>
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
#N canvas 56 71 603 460 10;
#X declare -sdtpath list-abs;
#X msg 41 122 \; pd dsp \$1;
#X obj 41 96 tgl 15 0 empty chord~init empty 17 7 0 10 -262144 -1 -1
1 1;
#N canvas 56 91 468 747 chordDetector_3sounds 0;
#X obj 55 7 inlet;
#X obj 55 637 list prepend set;
#X obj 55 657 list trim;
#X obj 55 618 l2s;
#X msg 70 599 symbol;
#X obj 70 579 r chord~init;
#X obj 55 152 t a a;
#X obj 88 345 list-compare;
#N canvas 926 513 520 323 templates 0;
#X obj 69 17 inlet;
#X obj 114 283 outlet;
#X obj 196 77 list prepend M;
#X obj 195 118 list prepend m;
#X msg 196 57 2 7 4 0 \, 1 9 5 0 \, 0 8 3 0;
#X msg 195 98 2 7 3 0 \, 1 8 5 0 \, 0 9 4 0;
#X obj 194 163 list prepend mb5;
#X msg 194 142 2 6 3 0 \, 1 9 6 0 \, 0 9 3 0;
#X obj 192 219 list prepend sus4;
#X msg 192 198 2 7 5 0 \, 1 10 5 0 \, 0 7 2 0;
#X obj 70 35 t b b b b a;
#X obj 177 281 outlet;
#X connect 0 0 10 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 2 0;
#X connect 5 0 3 0;
#X connect 6 0 1 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X connect 9 0 8 0;
#X connect 10 0 9 0;
#X connect 10 1 7 0;
#X connect 10 2 5 0;
#X connect 10 3 4 0;
#X connect 10 4 11 0;
#X restore 55 294 pd templates;
#X obj 55 323 list split 2;
#X obj 194 400 list;
#X obj 55 365 spigot;
#X obj 55 383 list split 1;
#X obj 194 471 list split;
#X obj 55 446 t a b;
#X obj 227 491 list split 1;
#X obj 55 551 list prepend;
#X obj 55 492 sel M;
#X obj 335 709 outlet bass;
#N canvas 1106 211 256 291 note 0;
#X obj 22 12 inlet;
#X obj 39 253 outlet;
#X obj 21 59 route 0 1 2 3 4 5 6 7 8 9 10 11;
#X msg 21 83 C;
#X msg 31 104 C#;
#X msg 21 83 C;
#X msg 31 104 C#;
#X msg 53 82 D;
#X msg 63 103 D#;
#X msg 82 81 E;
#X msg 93 103 C;
#X msg 103 124 C#;
#X msg 93 103 F;
#X msg 103 124 F#;
#X msg 120 81 C;
#X msg 130 102 C#;
#X msg 120 81 G;
#X msg 130 102 G#;
#X msg 155 82 C;
#X msg 165 103 C#;
#X msg 155 82 A;
#X msg 165 103 A#;
#X msg 189 132 B;
#X obj 22 35 mod 12;
#X connect 0 0 23 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 2 3 8 0;
#X connect 2 4 9 0;
#X connect 2 5 12 0;
#X connect 2 6 13 0;
#X connect 2 7 16 0;
#X connect 2 8 17 0;
#X connect 2 9 20 0;
#X connect 2 10 21 0;
#X connect 2 11 22 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 1 0;
#X connect 8 0 1 0;
#X connect 9 0 1 0;
#X connect 10 0 1 0;
#X connect 11 0 1 0;
#X connect 12 0 1 0;
#X connect 13 0 1 0;
#X connect 14 0 1 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 1 0;
#X connect 19 0 1 0;
#X connect 20 0 1 0;
#X connect 21 0 1 0;
#X connect 22 0 1 0;
#X connect 23 0 2 0;
#X restore 227 511 pd note;
#X obj 336 296 list prepend set;
#X obj 335 316 list trim;
#N canvas 710 345 450 300 note 0;
#X obj 177 15 inlet;
#X obj 194 256 outlet;
#X obj 176 62 route 0 1 2 3 4 5 6 7 8 9 10 11;
#X msg 176 86 C;
#X msg 186 107 C#;
#X msg 176 86 C;
#X msg 186 107 C#;
#X msg 208 85 D;
#X msg 218 106 D#;
#X msg 237 84 E;
#X msg 248 106 C;
#X msg 258 127 C#;
#X msg 248 106 F;
#X msg 258 127 F#;
#X msg 275 84 C;
#X msg 285 105 C#;
#X msg 275 84 G;
#X msg 285 105 G#;
#X msg 310 85 C;
#X msg 320 106 C#;
#X msg 310 85 A;
#X msg 320 106 A#;
#X msg 344 135 B;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 2 3 8 0;
#X connect 2 4 9 0;
#X connect 2 5 12 0;
#X connect 2 6 13 0;
#X connect 2 7 16 0;
#X connect 2 8 17 0;
#X connect 2 9 20 0;
#X connect 2 10 21 0;
#X connect 2 11 22 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 1 0;
#X connect 8 0 1 0;
#X connect 9 0 1 0;
#X connect 10 0 1 0;
#X connect 11 0 1 0;
#X connect 12 0 1 0;
#X connect 13 0 1 0;
#X connect 14 0 1 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 1 0;
#X connect 19 0 1 0;
#X connect 20 0 1 0;
#X connect 21 0 1 0;
#X connect 22 0 1 0;
#X restore 336 274 pd note;
#N canvas 527 131 280 171 offset 0;
#X obj 148 6 inlet;
#X obj 146 141 outlet;
#X obj 146 35 unpack f f f;
#X obj 220 83 -;
#X obj 215 55 t a a;
#X obj 146 88 -;
#X obj 173 87 -;
#X obj 146 118 pack f f f;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 2 4 0;
#X connect 3 0 7 2;
#X connect 4 0 3 0;
#X connect 4 1 3 1;
#X connect 4 1 6 1;
#X connect 4 1 5 1;
#X connect 5 0 7 0;
#X connect 6 0 7 1;
#X connect 7 0 1 0;
#X restore 55 272 pd offset;
#N canvas 47 81 665 623 removeDouble 0;
#X obj 114 12 inlet;
#X obj 130 426 list prepend set;
#X obj 130 448 list trim;
#X msg 352 530 11 4 7;
#N canvas 719 86 953 448 canonize 0;
#X obj 167 10 inlet;
#X obj 211 352 outlet;
#X obj 110 182 pack f f f f f f;
#X obj 340 195 pack f f f f f f;
#X obj 195 280 list append;
#N canvas 3169 487 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X obj 219 54 > 0.5;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 6 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 5 0 6 1;
#X connect 6 0 2 1;
#X restore 58 118 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 104 118 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 145 117 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 189 117 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 232 117 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 276 117 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 319 116 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 363 116 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 406 117 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 450 117 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 493 116 pd AF;
#N canvas 3169 482 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 537 116 pd AF;
#X obj 19 65 s \$0-peakLVL;
#X obj 39 40 / 1000;
#X obj 204 319 list-apply expr nearbyint($f1);
#X obj 608 195 pack f f f f f f;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 587 116 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 631 116 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 674 117 pd AF;
#N canvas 3169 477 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 718 117 pd AF;
#N canvas 3169 472 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 761 116 pd AF;
#N canvas 3169 487 450 300 AF 0;
#X obj 154 13 inlet;
#X obj 154 34 unpack f f;
#X obj 219 54 < 0.5;
#X obj 179 78 spigot;
#X obj 179 100 ftom;
#X obj 179 122 outlet;
#X obj 251 30 r \$0-peakLVL;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 805 116 pd AF;
#X obj 279 24 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17;
#X obj 288 258 list append;
#X obj 39 21 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 50 256;
#X connect 0 0 27 0;
#X connect 2 0 4 0;
#X connect 3 0 28 0;
#X connect 4 0 19 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 7 0 2 2;
#X connect 8 0 2 3;
#X connect 9 0 2 4;
#X connect 10 0 2 5;
#X connect 11 0 3 0;
#X connect 12 0 3 1;
#X connect 13 0 3 2;
#X connect 14 0 3 3;
#X connect 15 0 3 4;
#X connect 16 0 3 5;
#X connect 18 0 17 0;
#X connect 19 0 1 0;
#X connect 20 0 28 1;
#X connect 21 0 20 0;
#X connect 22 0 20 1;
#X connect 23 0 20 2;
#X connect 24 0 20 3;
#X connect 25 0 20 4;
#X connect 26 0 20 5;
#X connect 27 0 5 0;
#X connect 27 1 6 0;
#X connect 27 2 7 0;
#X connect 27 3 8 0;
#X connect 27 4 9 0;
#X connect 27 5 10 0;
#X connect 27 6 11 0;
#X connect 27 7 12 0;
#X connect 27 8 13 0;
#X connect 27 9 14 0;
#X connect 27 10 15 0;
#X connect 27 11 16 0;
#X connect 27 12 21 0;
#X connect 27 13 22 0;
#X connect 27 14 23 0;
#X connect 27 15 24 0;
#X connect 27 16 25 0;
#X connect 27 17 26 0;
#X connect 28 0 4 1;
#X connect 29 0 18 0;
#X restore 110 37 pd canonize;
#X obj 112 68 list-apply mod 12;
#X obj 316 322 list prepend set;
#X obj 316 344 list trim;
#X msg 353 508 3 4 3 4 4 2 4 4 2 4 3 2 4 4 2 2 2 1;
#X obj 500 236 list prepend;
#X obj 582 215 t l;
#X obj 316 302 list;
#X obj 171 200 list-find;
#X obj 133 139 list-drip;
#X obj 161 310 list prepend;
#X obj 243 287 t l;
#X obj 23 336 list;
#X obj 124 279 spigot;
#X obj 21 356 list-unique;
#X obj 548 292 list prepend set;
#X obj 548 314 list trim;
#X msg 355 486 11 4 11 4 7 6 4 4 6 7 11 8 7 7 8 2 2 10;
#X obj 133 165 t a a;
#X obj 112 90 t b a b a;
#X obj 162 251 > 2;
#X obj 26 485 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 5 0;
#X connect 5 0 23 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 9 0 10 0;
#X connect 9 0 11 1;
#X connect 10 0 9 1;
#X connect 11 0 6 0;
#X connect 12 1 9 0;
#X connect 12 1 24 0;
#X connect 13 0 22 0;
#X connect 14 0 15 0;
#X connect 14 0 16 1;
#X connect 15 0 14 1;
#X connect 16 0 18 0;
#X connect 17 0 14 0;
#X connect 18 0 1 0;
#X connect 18 0 25 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 22 0 17 0;
#X connect 22 1 12 0;
#X connect 23 0 16 0;
#X connect 23 0 11 0;
#X connect 23 1 13 0;
#X connect 23 2 15 0;
#X connect 23 2 10 0;
#X connect 23 3 12 1;
#X connect 23 3 19 0;
#X connect 24 0 17 1;
#X restore 55 47 pd removeDouble;
#X obj 55 126 list-sort desc;
#X obj 336 198 list split 1;
#X obj 55 70 t a a;
#X obj 55 709 outlet chordname;
#X connect 0 0 24 0;
#X connect 1 0 2 0;
#X connect 2 0 28 0;
#X connect 3 0 1 0;
#X connect 4 0 3 1;
#X connect 5 0 4 0;
#X connect 6 0 23 0;
#X connect 6 1 10 1;
#X connect 7 0 11 1;
#X connect 8 0 9 0;
#X connect 8 1 7 1;
#X connect 9 0 11 0;
#X connect 9 1 7 0;
#X connect 10 0 13 0;
#X connect 11 0 12 0;
#X connect 12 0 14 0;
#X connect 12 1 13 1;
#X connect 13 1 15 0;
#X connect 14 0 17 0;
#X connect 14 1 10 0;
#X connect 15 0 19 0;
#X connect 16 0 3 0;
#X connect 17 0 16 0;
#X connect 17 1 16 0;
#X connect 19 0 16 1;
#X connect 20 0 21 0;
#X connect 21 0 18 0;
#X connect 22 0 20 0;
#X connect 23 0 8 0;
#X connect 24 0 27 0;
#X connect 25 0 6 0;
#X connect 26 0 22 0;
#X connect 27 0 25 0;
#X connect 27 1 26 0;
#X restore 147 317 pd chordDetector_3sounds;
#X msg 147 372 Em;
#X obj 463 11 loadbang;
#X msg 463 35 \; chord~init 1 \;;
#X msg 289 371 B;
#X text 252 373 bass;
#X text 103 372 chord;
#X obj 216 427 declare -sdtpath list-abs;
#X text 88 429 patko2017;
#X obj 147 109 adc~;
#X obj 179 137 env~;
#X floatatom 180 163 5 0 0 0 - - -, f 5;
#X obj 147 183 hip~ 50;
#X obj 146 267 sigmund~ -npts 8192 -hop 8192 -npeak 18 peaks;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 4 0 5 0;
#X connect 11 0 12 0;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 14 0 15 0;
#X connect 15 0 2 0;
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list