How to create a MaKey MaKey piano using Max MSP

Max MSP is a visual programming language with nearly endless possibilities for art, music, and pretty much anything you put your mind to.

Wanting to expand our MaKey MaKey piano beyond the standard 6 keys, we wanted to use Max to create a larger piano with more notes. The follow Max patch can be used to create an 11-key MaKey MaKey piano, but could easily be used to create piano with considerably more notes.

Screen Shot 2015-02-09 at 10.34.12 AM

If you are a Max user, please feel free to borrow this patch. If you have ideas for improving it, please let us know!

(Special thanks to Bill Turkel for some technical assistance with this script)

Copy the following text into Max to use our patch:

{
“patcher” : {
“fileversion” : 1,
“appversion” : {
“major” : 6,
“minor” : 1,
“revision” : 6,
“architecture” : “x86”
}
,
“rect” : [ 28.0, 65.0, 1365.0, 697.0 ],
“bglocked” : 0,
“openinpresentation” : 0,
“default_fontsize” : 12.0,
“default_fontface” : 0,
“default_fontname” : “Arial”,
“gridonopen” : 0,
“gridsize” : [ 15.0, 15.0 ],
“gridsnaponopen” : 0,
“statusbarvisible” : 2,
“toolbarvisible” : 1,
“boxanimatetime” : 200,
“imprint” : 0,
“enablehscroll” : 1,
“enablevscroll” : 1,
“devicewidth” : 0.0,
“description” : “”,
“digest” : “”,
“tags” : “”,
“boxes” : [ {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-15”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 670.799988, 367.0, 32.5, 18.0 ],
“text” : “84”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-11”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 617.699951, 367.0, 32.5, 18.0 ],
“text” : “82”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-9”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 569.799988, 367.0, 32.5, 18.0 ],
“text” : “80”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-8”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 520.799988, 367.0, 32.5, 18.0 ],
“text” : “78”
}

}
, {
“box” : {
“id” : “obj-28”,
“maxclass” : “nslider”,
“numinlets” : 2,
“numoutlets” : 2,
“outlettype” : [ “int”, “int” ],
“parameter_enable” : 0,
“patching_rect” : [ 337.200012, 474.0, 75.0, 198.0 ]
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-20”,
“maxclass” : “newobj”,
“numinlets” : 3,
“numoutlets” : 0,
“patching_rect” : [ 139.150024, 557.0, 51.0, 20.0 ],
“text” : “noteout”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-19”,
“maxclass” : “newobj”,
“numinlets” : 3,
“numoutlets” : 2,
“outlettype” : [ “float”, “float” ],
“patching_rect” : [ 139.150024, 513.0, 110.0, 20.0 ],
“text” : “makenote 127 200”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“frgb” : 0.0,
“id” : “obj-18”,
“maxclass” : “comment”,
“numinlets” : 1,
“numoutlets” : 0,
“patching_rect” : [ 239.450012, 474.0, 76.0, 20.0 ],
“text” : “MIDI Note”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“format” : 4,
“id” : “obj-16”,
“maxclass” : “number”,
“numinlets” : 1,
“numoutlets” : 2,
“outlettype” : [ “int”, “bang” ],
“parameter_enable” : 0,
“patching_rect” : [ 177.150024, 474.0, 50.0, 20.0 ]
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-14”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 470.349976, 367.0, 29.5, 18.0 ],
“text” : “76”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-13”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 415.150024, 367.0, 29.5, 18.0 ],
“text” : “74”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-12”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 359.950012, 367.0, 29.5, 18.0 ],
“text” : “71”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-4”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 304.75, 367.0, 29.5, 18.0 ],
“text” : “70”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-10”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 249.550018, 367.0, 29.5, 18.0 ],
“text” : “69”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-5”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 194.350037, 367.0, 29.5, 18.0 ],
“text” : “67”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-6”,
“maxclass” : “message”,
“numinlets” : 2,
“numoutlets” : 1,
“outlettype” : [ “” ],
“patching_rect” : [ 139.150024, 367.0, 29.5, 18.0 ],
“text” : “64”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-7”,
“maxclass” : “newobj”,
“numinlets” : 1,
“numoutlets” : 3,
“outlettype” : [ “int”, “int”, “int” ],
“patching_rect” : [ 139.150024, 438.0, 63.0, 20.0 ],
“text” : “trigger i i i”
}

}
, {
“box” : {
“id” : “obj-59”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 575.999939, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-57”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 520.799988, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-58”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 465.600006, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-53”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 410.399963, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-54”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 355.200012, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-55”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 300.0, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-56”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 244.799988, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-51”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 189.600006, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-52”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 134.399994, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-50”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 79.199997, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“id” : “obj-49”,
“maxclass” : “button”,
“numinlets” : 1,
“numoutlets” : 1,
“outlettype” : [ “bang” ],
“patching_rect” : [ 24.0, 250.0, 39.0, 39.0 ]
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-3”,
“maxclass” : “newobj”,
“numinlets” : 12,
“numoutlets” : 12,
“outlettype” : [ “bang”, “bang”, “bang”, “bang”, “bang”, “bang”, “bang”, “bang”, “bang”, “bang”, “bang”, “” ],
“patching_rect” : [ 24.0, 212.0, 626.199951, 20.0 ],
“text” : “select 119 97 115 100 102 103 32 28 29 30 31”
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-2”,
“maxclass” : “number”,
“numinlets” : 1,
“numoutlets” : 2,
“outlettype” : [ “int”, “bang” ],
“parameter_enable” : 0,
“patching_rect” : [ 34.0, 58.0, 50.0, 20.0 ]
}

}
, {
“box” : {
“fontname” : “Arial”,
“fontsize” : 12.0,
“id” : “obj-1”,
“maxclass” : “newobj”,
“numinlets” : 0,
“numoutlets” : 4,
“outlettype” : [ “int”, “int”, “int”, “int” ],
“patching_rect” : [ 34.0, 28.0, 59.5, 20.0 ],
“text” : “key”
}

}
],
“lines” : [ {
“patchline” : {
“destination” : [ “obj-2”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-1”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-10”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-11”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-12”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-13”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-14”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-15”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-20”, 1 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-19”, 1 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-20”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-19”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-3”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-2”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-49”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-50”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 1 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-51”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 3 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-52”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 2 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-53”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 7 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-54”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 6 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-55”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 5 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-56”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 4 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-57”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 9 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-58”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 8 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-59”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-3”, 10 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-4”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-6”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-49”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-5”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-5”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-50”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-4”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-51”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-10”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-52”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-8”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-53”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-14”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-54”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-13”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-55”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-12”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-56”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-11”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-57”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-9”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-58”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-15”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-59”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-6”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-16”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-7”, 1 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-19”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-7”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-28”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-7”, 2 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-8”, 0 ]
}

}
, {
“patchline” : {
“destination” : [ “obj-7”, 0 ],
“disabled” : 0,
“hidden” : 0,
“source” : [ “obj-9”, 0 ]
}

}
],
“dependency_cache” : [ ]
}

}

One thought on “How to create a MaKey MaKey piano using Max MSP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s