Multifaceted MIDI Transformer: possible to transform poly AT to channel pressure?

ColinP
Posts: 1044
Joined: Mon Aug 03, 2020 7:46 pm

Re: Multifaceted MIDI Transformer: possible to transform poly AT to channel pressure?

Post by ColinP »

drohnee wrote: Fri Aug 15, 2025 4:59 pm Low pass filtering the Poly AT output of MIDI Trap yields a signal that looks a lot more like the MIDI to CV output, so it does appear that MIDI Trap is passing along the raw signal from the controller, and MIDI to CV is doing some smoothing. Here the blue trace is MIDI Trap Poly AT -> low pass filter and purple is Gate.
Yes, I'm confident that the MIDI to CV module is applying smoothing. I suspect its slew limiting using the SmoothValue class rather than low-pass filtering but the effect is almost the same.

I'm toying with the idea of adding a tiny trimmer knob to both GS MIDI X and MIDI Trap that allows one to fine tune the amount of smoothing with fully CCW being none (as now) and fully CW being a tad more aggressive than that used by MIDI to CV. With the default 12 o'clock setting being something a bit less aggressive than MIDI to CV.

Then in most cases the default will be fine but if you're using a good quality controller then you can remove the smoothing in order to stop throwing away good data. Also as Grant said some software synths ignore poly AT post note off so smoothing can remove the tail of pressure release. On the other hand if you have a low-quality signal or you want a long tail then turning it CW would provide that extra smoothing.
drohnee wrote: Fri Aug 15, 2025 4:59 pm Regarding Aftertouch signals in the absence of Note On messages, it does not seem strange when you use one of these Poly AT controllers to have AT without a Note On. Consider a situation where you very gradually apply pressure to a key. It is not clear at what point you expect the controller to send a Note On message (if at all), but it is helpful if it sends Aftertouch because you are applying pressure. There are a few expressive gestures like this one can generate where you want AT output but don't necessarily want the controller emitting Note On messages (if you are manually applying a pulsing pressure to a key, for example).
I guess it depends on how you think of pressure. I'd use the term travel rather than pressure for what you are talking about. Pressure is how much force you apply once the key/pad has completed its travel.

If you look at the gate v pressure traces in your last screen shot you can see that the poly AT is delayed, so it's not travel, it's pressure as I'd define it.

Maybe one day we'll be able to get velocity, travel and pressure available.

As an aside it really annoys me that note off velocity isn't more readily available as this is so easy to implement. I've never understood why it has been ignored by most developers.
drohnee
Posts: 29
Joined: Mon Mar 07, 2022 8:26 pm

Re: Multifaceted MIDI Transformer: possible to transform poly AT to channel pressure?

Post by drohnee »

ColinP wrote: Fri Aug 15, 2025 6:50 pm
I'm toying with the idea of adding a tiny trimmer knob to both GS MIDI X and MIDI Trap that allows one to fine tune the amount of smoothing with fully CCW being none (as now) and fully CW being a tad more aggressive than that used by MIDI to CV. With the default 12 o'clock setting being something a bit less aggressive than MIDI to CV.
Having a user-adjustable option for the smoothing sounds ideal. Would be good to have the option to leave smoothing off and take the values directly from the controller (and to retain a sharp attack), but also nice to be able to smooth it without requiring another module.
ColinP wrote: Fri Aug 15, 2025 6:50 pm
I guess it depends on how you think of pressure. I'd use the term travel rather than pressure for what you are talking about. Pressure is how much force you apply once the key/pad has completed its travel.
Point taken about MIDI Pressure. I suppose that is why it is also called "After" touch. Looks like some pad controllers transmit a "pressure" value even though the pad has not crossed the threshold for a Note On event.
ColinP
Posts: 1044
Joined: Mon Aug 03, 2020 7:46 pm

Re: Multifaceted MIDI Transformer: possible to transform poly AT to channel pressure?

Post by ColinP »

drohnee wrote: Fri Aug 15, 2025 10:35 pm Having a user-adjustable option for the smoothing sounds ideal. Would be good to have the option to leave smoothing off and take the values directly from the controller (and to retain a sharp attack), but also nice to be able to smooth it without requiring another module.
I'm going to try and get that sorted for MIDITrap later today.
drohnee wrote: Fri Aug 15, 2025 10:35 pm Point taken about MIDI Pressure. I suppose that is why it is also called "After" touch. Looks like some pad controllers transmit a "pressure" value even though the pad has not crossed the threshold for a Note On event.
You've obviously sussed this all out already but for a wider audience who might not have thought about these things here's how I think it works.

I suspect on many/most pad controllers there's only a pressure sensor and no travel sensor, while with pressure sensitive keyboards there'll be both.

When I say travel sensor I mean something quite crude in that it only has three output states - key up, key down and key somewhere inbetween.
The transition when the key is somewhere inbetween being timed in order to generate velocity data.

Then when the key hits the bottom of its travel it'll come into contact with a pressure sensor that generates aftertouch data. On a channel AT only keyboard this is probably just a rigid bar spanning the entire keybed with a pressure sensor at each end and the average of these will be output.

But on a pad controller with only pressure sensors the "travel sensor" data will be derived by applying two thresholds to the pressure measurement that determine whether the pad is up, down or inbetween. Velocity will again be based on time inbetween but the aftertouch output might be the raw pressure regardless of whether the key down threshold has been passed.

So on a keyboard controller one wouldn't expect AT in the inbetween state but on a pad controller this might happen depending on how the developer thinks about AT. I can see both approaches being valid as one might want to ignore note on/off and just get pure pressure as the output. I guess it should be a configuration option in an ideal world.
User avatar
utdgrant
Posts: 691
Joined: Wed Apr 07, 2021 8:58 am
Location: Scotland
Contact:

Re: Multifaceted MIDI Transformer: possible to transform poly AT to channel pressure?

Post by utdgrant »

The Expressive-E "Osmose" keybed itself is pretty much a series of multi-axis analogue sensors. Even when you disregard the x-axis 'wiggling' freedom-of-movement, the amount of vertical key depression from its at-rest poition is interpreted in different ways by the keyboard scanning software. Even the lightest brush of a key (what they term "press") can cause sounds to be initiated, a long time before you would reach a normal 'key-on' position.

The system works phenomenally well when the key parameters are fed directly into the internal "Eaganmatrix" sound engine. The synth when taken as a whole is arguably the most expressive electronic instrument ever designed. Unfortunately, once the keyboard parameters get translated into MIDI (or even MPE), then a lot of that expressive potential is diminshed, or even discarded. This is particularly frustrating when driving hardware (or software) synths which can only accept a limited range of MIDI messages.

There's a parallel to be made with my "Poly Performance Controller" module. When you use the 'analogue' poly pressure outputs within the VM universe, the experience is very fluid (IMHO!). If you set a long release value, then even if you lift your finger from the key swiftly, the 'pressure' value will continue to return to zero in a graceful fashion, whatever it's controlling (modulation depth, filter cutoff, etc). Unfortunately, once you take those 'graceful' curves and send them through the "Poly Pressure Encoder", you're very much at the mercy of how the MIDI receiver interprets those curves (especially after a NOTE_OFF command). CA's Chroma is probably my favourite plug-in in this regard. Artuia's CS80-V is probably the most annoying. It instantly slams the poly aftertouch value down to zero as soon as it gets a NOTE_OFF command, regardless of what's going on with that key's POLY_PRESSURE messages, or what the final value was before NOTE_OFF.
______________________
Dome Music Technologies
ColinP
Posts: 1044
Joined: Mon Aug 03, 2020 7:46 pm

Re: Multifaceted MIDI Transformer: possible to transform poly AT to channel pressure?

Post by ColinP »

A super interesting post Grant.

My Stepkey looks like a child's toy in comparison to an Osmose, although to be fair it is a little bit cheaper.

At the moment I'm trying to fine tune the smoothing from the MIDI Trap beta. Here's my test rig with no smoothing, 40 ms (default) and 80 ms slew limiting.

PolyTrapSmooth.png
PolyTrapSmooth.png (244.98 KiB) Viewed 64 times

I bypassed smoothing in POLY AT TEST to produce a more stepped input signal.

I'm hoping that drohnee can provide some feedback as to whether the little smoothing knob's range needs to be larger or smaller.

Because it's slew limiting rather than using low-pass filtering we end up with some less than elegant looking straight lines in the traces with maximum smoothing but I suspect that in practice this won't make any difference.
Post Reply

Return to “Oliver Moebus”