[PD] MPE in Pd Vanilla?

Alexandre Torres Porres porres at gmail.com
Thu Mar 14 22:31:06 CET 2024


Y'all can look at the current master now on github and check my
documentation updates that got merged.

I did include a subpatch for MPE into midi-help.pd that you can look at and
send some feedback, find screenshot below as well

cheers


[image: Screen Shot 2024-03-14 at 18.30.14.png]

Em qui., 2 de nov. de 2023 às 22:55, Alexandre Torres Porres <
porres at gmail.com> escreveu:

> Ok, I received my cheap MPE aware controller from keith mcmillen, it
> doesn't do much, but I was able to have some basic tests.
>
> This one doesn't let me configure "zones" as I see it, cause it's too
> simple, and I kinda expected that.
>
> It does send a proper 'Note Off' message, but it doesn't handle any
> release velocity, just gives me '0', and Pd's [notein] object actually
> responds to this message, or any release velocity message, but always
> outputs zeroes (and I did document this in the documentation branch now).
>
> So. it seems quite simple indeed to work with vanilla objects to make a Pd
> patch. Maybe not bother then with a specific object.
>
> Most people won't use MPE in the first place and most of those who do
> maybe will not need anything too fancy, like setting and handling separate
> zones. This is where someone out there should stop me and tell me otherwise.
>
> I'll keep looking into it but I don't have a better controller with full
> blast MPE support to go any further... and maybe an external here is the
> case.
>
> For those controllers that use MPE with a release velocity, my take is
> then to just add proper Note Off support for [notein] and [noteoff]. I
> already have a PR that works for it and we're discussing it on github.
>
> I'm thinking of adding an example to the documentation on how to handle
> MPE soon.
>
> cheers
>
>
>
> Em sex., 27 de out. de 2023 às 13:20, Alexandre Torres Porres <
> porres at gmail.com> escreveu:
>
>> Awesome. My external is definitely working fine, but it's simple and
>> maybe sensel morph uses more stuff, so you gotta tell me and explain what
>> you need. This is what I was hoping asking around about this, someone with
>> a particular need.
>>
>> I took that external as a base and out of all midi messages possible, it
>> listens to note on, note off, CC #74 (commonly used for moving through the
>> 'y' axis), channel pressure and pitch bend  (commonly used for moving
>> through the 'x' axis), but I know the [mpeparse] in MAX listens to ALL Midi
>> messages possible, even polyphonic aftertouch, which doesn't seem to make
>> sense to me, since using MPE for channel pressure is basically the same as
>> using polyphonic aftertouch, and polyphonic aftertouch is already much
>> better anyway!
>>
>> The reason I guess that MPE came up is that, besides pressure, these more
>> fancy new and modern controllers do care about a bidimensional axis (x, y),
>> and then it makes sense to group them all in the same idea and use pressure
>> (as a 'z' dimension) instead of polyphonic aftertouch.
>>
>> I see some fancy new controllers are also using note off and part of all
>> this, which is something I really find cool and too bad it kinda got lost
>> to oblivion for the most part.
>>
>> And there are also other messages, like program change, other control
>> numbers you can use and whatever, not sure if sensel uses any of that.
>>
>> I can expand my external so it listens to all messages and so be it. So
>> far it just does the same as the original one I had a look at.
>>
>> Now, besides all that, which you could even use regular simple vanilla
>> objects (excluding 'note off'), MPE can also define different 'zones', and
>> the starting channel for each zone. This is where it's still tricky to me.
>> I have no idea yet how to deal with it in an external, and it seems obvious
>> to me that you can't do that in Vanilla. And my original request to add MPE
>> support into Vanilla would require also managing this bit.
>>
>> Anyway, this is what I can make of all this for now. We can also talk in
>> private so you can explain me the full features of sensel morph, what you
>> need, and what I need to do so you can test it.
>>
>> and btw, thanks to github actions, you can download linux externals from
>> current master, see if you can get and load 'else/mpe.in' here
>> https://github.com/porres/pd-else/actions/runs/6659549237
>>
>> cheers
>>
>> Em sex., 27 de out. de 2023 às 11:46, James Correa <jcorrea.mus at gmail.com>
>> escreveu:
>>
>>> Hi Alexandre, I have a MPE controller, sensel morph. I can test your
>>> external if you compile it to linux. I don't use Mac anymore.
>>>
>>> On Thu, 26 Oct 2023, 19:24 Alexandre Torres Porres, <porres at gmail.com>
>>> wrote:
>>>
>>>> I’m not even sure if the cheap gear I bought allows much editing
>>>> actually:) let’s see
>>>>
>>>> On Thu, 26 Oct 2023 at 19:21 Alexandre Torres Porres <porres at gmail.com>
>>>> wrote:
>>>>
>>>>> Why is that? I need to get my hands on an actual controller before I
>>>>> feel like reading in that much depth. I won’t try to code things if I can’t
>>>>> test them. For now I have the simple parsing object that does the same
>>>>> thing as that external I reffered to, which was something I could test.
>>>>>
>>>>>
>>>>>
>>>>> On Thu, 26 Oct 2023 at 18:43 José de Abreu <abreubacelar at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> You can also read the mpe specs, i have a feeling you want to somehow
>>>>>> reverse engineer it... and maybe you don't need to...
>>>>>>
>>>>>> https://www.midi.org/midi-articles/midi-polyphonic-expression-mpe
>>>>>>
>>>>>> i am sending the pdf on this e-mail too
>>>>>>
>>>>>> Em qui., 26 de out. de 2023 às 17:51, Alexandre Torres Porres <
>>>>>> porres at gmail.com> escreveu:
>>>>>>
>>>>>>> Ok, I wrote something similar to that [mpe] external (btw, there's a
>>>>>>> small bug in how it handles pitch bend)
>>>>>>>
>>>>>>> this one takes raw midi input, such as from [midiin], and gives you
>>>>>>> something you can connect directly to a [clone] object, so you can route
>>>>>>> inside it the most commonly supported mpe messages, note off, note on,
>>>>>>> aftertouch, CC 74 (aka slide) and pitch bend (aka 'glide'?).
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/porres/pd-else/blob/master/Code_source/Compiled/control/mpe.in.c
>>>>>>>
>>>>>>> will work more on this when my new controller arrives.
>>>>>>>
>>>>>>> cheers
>>>>>>>
>>>>>>> Em qui., 26 de out. de 2023 às 15:36, Alexandre Torres Porres <
>>>>>>> porres at gmail.com> escreveu:
>>>>>>>
>>>>>>>> Em qui., 26 de out. de 2023 às 13:36, Alexandre Torres Porres <
>>>>>>>> porres at gmail.com> escreveu:
>>>>>>>>
>>>>>>>>> People use MPE to control virtual synth plugins
>>>>>>>>>
>>>>>>>>
>>>>>>>> this could be of interest for christoph's [vstplugin~] external
>>>>>>>> then, just realized it.
>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>
>>>>>>
>>>>>>> Pd-list at lists.iem.at mailing list
>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> https://lists.puredata.info/listinfo/pd-list
>>>>>>>
>>>>>> _______________________________________________
>>>> Pd-list at lists.iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> https://lists.puredata.info/listinfo/pd-list
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20240314/5e5a4d48/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2024-03-14 at 18.30.14.png
Type: image/png
Size: 142879 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20240314/5e5a4d48/attachment-0001.png>


More information about the Pd-list mailing list