Forums > MaxMSP

beginner questions

March 17, 2010 | 4:00 pm

Downloaded trial, read the first few tutorials. Wow, cool way of programming.

A guitar tuner is a good start towards my end goal, so I thought I’d find one and figure out how it works. Searched this forum, found this post: http://cycling74.com/forums/topic.php?id=12592 and the patch code below.

I copied the mumbo jumbo straight from the post, then New From Clipboard in Max. Dang, that actually worked! I tried to use the patch, I got an error like "pitch~ not found". Googled it, downloaded it, put pitch~.mxo in the externals folder, help in the help folder, tried again. Dang, that actually worked too!

But.. it’s still not working. Now I get an error "Could not load class ‘ej.mmmm’". What is a class? I see this object "mxj ej.mmmm 5" in the patch. Is this something the original author made and I will never find again?

Max MSP is possibly the answer to all my musical problems. Please help. Thanks.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 728 261 57 196617 pvar menu;
#P message 469 406 68 196617 frgb 150 0 0;
#P message 542 406 56 196617 frgb 0 0 0;
#P newex 469 386 83 196617 split -0.05 0.05;
#P message 618 381 43 196617 $1 200;
#P newex 618 398 40 196617 line 0.;
#P newex 634 238 27 196617 int;
#P newex 634 219 34 196617 + 0.5;
#P flonum 641 199 46 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 634 258 53 196617 pvar note;
#P newex 618 430 58 196617 pvar tuner;
#P newex 618 333 25 196617 iter;
#P newex 618 357 59 196617 split -1. 1.;
#P newex 600 162 84 196617 mxj ej.mmmm 5;
#P newex 618 284 102 196617 pack 0. 0. 0. 0. 0. 0.;
#P newex 618 311 83 196617 vexpr $f1 – $f2;
#P newex 808 343 54 196617 pvar N[6];
#P newex 792 362 54 196617 pvar N[5];
#P newex 776 381 54 196617 pvar N[4];
#P newex 760 400 54 196617 pvar N[3];
#P newex 744 419 54 196617 pvar N[2];
#P newex 728 438 54 196617 pvar N[1];
#P number 202 112 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname N[6];
#P number 165 112 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname N[5];
#P number 128 112 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname N[4];
#P number 91 112 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname N[3];
#P number 54 112 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname N[2];
#P newex 728 311 94 196617 unpack 0 0 0 0 0 0;
#P user umenu 16 41 86 196647 1 64 57 1;
#X add 1;
#X add 2;
#P objectname menu;
#P number 108 41 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname note;
#N coll tunes 1;
#T flags 1 0;
#T 0 40 45 50 55 59 64;
#P newobj 728 283 62 196617 coll tunes 1;
#P number 17 112 28 9 0 127 8487 3 0 0 0 221 221 221 125 125 125 0 0 0;
#P objectname N[1];
#P user multiSlider 16 62 214 49 -1. 1. 1 2680 15 0 0 3 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P objectname tuner;
#P newex 600 141 64 196617 unpack 0. 0.;
#P newex 496 120 219 196617 pitch~ 2048 512 4096 blackman70 0 1 10 3;
#B color 6;
#P newex 496 50 185 196617 adc~;
#P toggle 477 481 15 0;
#P newex 496 510 185 196617 dac~;
#P hidden message 333 89 39 196617 set $1;
#P window setfont Futura 14.;
#P comment 211 40 12 266076174 f;
#P comment 216 35 12 266076174 p;
#P window setfont "Arial Black" 18.;
#P user com 23 134 203 791478290 10;
#K set 0 -23131 -23131 -23131 -23131 21621 28261 -23131 -23131 -23131 -23131;
#K end;
#P user panel 16 137 214 25;
#X brgb 255 255 255;
#X frgb 0 0 0;
#X border 2;
#X rounded 5;
#X shadow 0;
#X done;
#P window setfont "Sans Serif" 9.;
#P newex 728 240 48 196617 loadbang;
#B color 4;
#P outlet 671 481 15 0;
#P outlet 496 481 15 0;
#N comlet in 2;
#P inlet 671 74 15 0;
#N comlet in 1;
#P inlet 496 74 15 0;
#P comment 368 74 44 196617 recall;
#N plugconfig;
#C useviews 0 1 0 1;
#C numprograms 10;
#C preempt 1;
#C sigvschange 1;
#C sigvsdefault 32;
#C setsize 246 175;
#C defaultview Interface 0 0 1;
#C dragscroll 1;
#C noinfo;
#C package ????;
#C uniqueid 64 47 192;
#C initialpgm 1;
#P newobj 319 130 55 196617 plugconfig;
#P hidden message 413 111 49 196617 recall $1;
#P number 333 73 35 9 0 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden message 334 73 35 196617 set $1;
#P number 333 57 35 9 0 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden number 319 94 35 9 0 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden message 319 111 93 196617 capture $1 default;
#P button 319 57 15 0;
#P comment 368 58 44 196617 capture;
#P newex 496 462 185 196617 plugout~;
#P newex 496 91 185 196617 plugin~;
#P comment 117 55 11 196617 l;
#P user panel 105 41 35 16;
#X brgb 255 255 255;
#X frgb 0 0 0;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 10 35 226 135;
#X brgb 255 255 255;
#X frgb 0 0 0;
#X border 1;
#X rounded 15;
#X shadow 0;
#X done;
#P background;
#P user panel 0 0 253 196;
#X brgb 240 240 240;
#X frgb 225 225 225;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P background;
#P fasten 51 0 60 0 623 377 474 377;
#P connect 51 0 59 0;
#P fasten 50 1 49 0 623 281 623 281;
#P fasten 50 1 56 0 623 199 639 199;
#P fasten 50 1 49 1 623 281 641 281;
#P fasten 50 1 55 0 623 194 646 194;
#P fasten 50 1 49 2 623 281 659 281;
#P fasten 50 1 49 3 623 281 677 281;
#P fasten 50 1 49 4 623 281 695 281;
#P fasten 50 1 49 5 623 281 713 281;
#P fasten 33 0 48 1 733 305 696 305;
#P connect 33 0 36 0;
#P connect 5 1 19 0;
#P connect 5 1 26 1;
#P connect 5 0 18 0;
#P connect 5 0 26 0;
#P fasten 4 1 29 0 676 114 501 114;
#P connect 4 1 5 1;
#P connect 4 0 29 0;
#P connect 4 0 5 0;
#P connect 20 0 63 0;
#P connect 56 0 57 0;
#P connect 57 0 54 0;
#P connect 60 0 62 0;
#P fasten 27 0 26 0 482 504 501 504;
#P connect 28 0 4 0;
#P connect 16 0 4 0;
#P connect 60 1 61 0;
#P connect 29 2 30 0;
#P connect 30 0 50 0;
#P connect 58 0 53 0;
#P fasten 62 0 53 0 474 425 623 425;
#P fasten 61 0 53 0 547 425 623 425;
#P connect 49 0 48 0;
#P connect 48 0 52 0;
#P connect 52 0 51 0;
#P connect 59 0 58 0;
#P hidden fasten 11 0 9 0 339 91 324 91;
#P hidden connect 7 0 9 0;
#P hidden connect 25 0 9 0;
#P hidden connect 9 0 8 0;
#P hidden connect 8 0 14 0;
#P hidden fasten 13 0 14 0 418 128 324 128;
#P hidden connect 12 0 25 0;
#P hidden connect 10 0 11 0;
#P connect 28 1 4 1;
#P connect 17 0 4 1;
#P connect 63 0 33 0;
#P connect 36 0 42 0;
#P hidden fasten 12 0 13 0 338 91 418 91;
#P connect 36 1 43 0;
#P connect 36 2 44 0;
#P connect 36 3 45 0;
#P connect 36 4 46 0;
#P connect 36 5 47 0;
#P window clipboard copycount 64;


March 17, 2010 | 4:27 pm

ej.mmmm is a java class (I’m not sure how to explain what a class is coherently, I’m no programmer yet) to use with the mxj object. It’s made by Emmanuel Jourdan, and can be downloaded from here:

http://www.e–j.com/?page_id=42

There is always the risk of things not working due to externals that you don’t have, but it becomes less and less likely the more stuff you find!


March 17, 2010 | 5:39 pm

In Max 5, you can replace mxj ej.mmmm by zl stream + minimum/mean/zl median/maximum.


March 18, 2010 | 12:56 am

Thanks for the replies. Since I’m trying to figure out how this patch works, I’d like to replace the object and arguments "mxj ej.mmmm 5" with zl stream and the other objects, as EJ himself suggested above. That means that I need to know what "mxj ej.mmmm 5" does. Thanks for the help.

Edit – Just found the help file for ej.mmmm. I should be able to figure it out from that…


Viewing 4 posts - 1 through 4 (of 4 total)