Realtime Midi Processing - Is It Possible


I am interested in building a scale mapper largely inspired by the Scale plugin that comes with Ableton Live, have a look at the picture below:

Whilst I think this should be fairly simple to build as an offline processor, is it possible for something like this to work in real time so that keys are remapped as they are pressed on the keyboard?
Does the current API allow for this?


sup. what if you had a script that creates say, 16 copies of the same sample inside one instrument, and depending on the note-change, changes the pitch of the sample to meet the requirements of what the output note should sound like? then you could just have an instrument which has, for instance, 24 identical but differently tuned copies of the same sample, c-4 to c-7 note entries autogenerated into the instrument’s keymapping, and then if you change one of the 24 notes in the scale, you get the pitches you are looking for. so C#5 would become D5 if you have mapped C#5 to mean D5. do you think that would be something that would be close enough?
it would, of course, be destructive, unless if you wanted there to be cloned instruments for different scales…

So if in effect you would be locking the instrument to a particular scale rather than the input notes? Then yes I suppose that would achieve the same effect…

Thanks for the suggestion, I hadn’t thought about it in that way. It would actually work quite well with the arpeggiator tools as well :)

My intention was to design a simple tool that would be useful but also something I could build as a way to learn how to program a tool.

Your suggestion is great for this, I think it could work… cheers! :D

you know, im kind of interested in this idea. are you on skype or some other IM thing?
we could pick at it together if ya like?

Yes mate, that would be great. I’ll send you a PM.


Hint: You could do this with a single sample and multiple sample mappings for the same sample (it’s not one-to-one mapping).

For example, lets assume the sample is C4 in pitch

A sample mapping from C4 to C4 (single note) with a base note of C4 (thus, plays at original pitch = C)
A sample mapping from D4 to D4 (single note) with a base note of D4 (thus, plays at original pitch = C)

This method would require a single sample mapping for each key though.

Thanks mxb,

I’m making good progress on this, just need to figure out how to put a GUI on it.