I very much like richiegusto’s solution.
Here is a lighter one, with less latency, and not tied to a laptop (although you can run it on OSX/Win/Linux and more). It’s in Pd, not maxforlive. I haven’t bothered with a GUI yet, so you will have to make adjustments within the Pd patch itself, for now.
http://www.elektronauts.com/files/download/65
You can load it straight into your phone (MobMuPlat or similar), and with a fast MIDI interface, use it almost latency free (<10ms). You could script this in lemur, as undoubtedly someone already has (but with latency?). In any case, i don’t feel like making a free patch for a paid platform if you can have it on a free one.
It’s currently set up on MIDI channel 1, you can change that in the Pd patch: [ctlout 17 x], [noteout x], and clone the sub-patch to multiple instances, to control multliple OT audio tracks.
It only responds to notes with a single preset velocity, (currently: 80), because of a variation of the Note Off problem i mentioned above. (Specifically: incoming midi notes to Pd cause double bangs, which would result in the OT responding to the last Note Off instead of the last Note On if left unfiltered, so no note would be triggered in the OT) You can change the velocity value to something different inside the Pd patch – just change the [sel] argument (MPD/MPC pads at full velocity are 127?).
I currently use a delay of 1ms for the note bang, and it works, but if you run into problems, increase the argument in the [delay] object. This is equivalent to richiegusto’s “Delay” parameter.
(Note: this is very dependent on your OS and MIDI interface)
You still have to set up your pads: i.e. {C-2, D-2, E-2, F#-2, G#-2, …} to as to trigger the appropriate CC values: {0, 2, 4, 6, 8, …} Sorry, i’m not giving you any basenote option here, because configurable MIDI controllers wont need them, and you might want to assign your pads to slices in a specific order.