Add keyboard aftertouch support to Maschine

13»

Comments

  • ozon
    ozon Member Posts: 1,342 Expert
    edited November 2023

    @Ben C and @Kymeia

    For Maschine to create Aftertouch Data does not make sense, because it inherently produces Poly Pressure (each Pad creates it's own pressure data). It's non-trivial to convert PP to AT. Poly Pressure will most likely create several conflicting values which have to be somehow combined into one Aftertouch value. This is probably not possible to achieve live in a way that is satisfactory for the player.

  • Kymeia
    Kymeia NKS User Library Mod Posts: 3,693 mod

    I don’t think anyone is thinking about using the pads to create aftertouch data, but just to be able to use Maschine to accurately record midi from keyboards without removing or blocking a very important part of it for many keyboards players. People are complaining about NI removing compatibility with Series III keyboards but the fact is Maschine has never been fully compatible with NI keyboards, or even many of its own synth plugins.

  • ozon
    ozon Member Posts: 1,342 Expert
    edited November 2023

    Ok, I understand that. But then we're talking about all sorts of MIDI controller information in general, aren't we?


    PS: But Ben C was referencing the fact that the Pads create pressure information.

  • Ben C
    Ben C Member Posts: 13 Member
    edited November 2023

    I was absolutely thinking they could use the Maschine pads to generate aftertouch data, it should be no problem at all.

    @ozon The non-trivial part you're referring to is how to combine the different pressure readings from multiple pads into a singular aftertouch value for the channel. (Incidentally, in the MIDI spec, aftertouch is by definition polyphonic, i.e. per-note; channel-level aftertouch is officially known as Channel Pressure). I don't think it would be difficult to do this, simply average the values from all playing pads: this is after all what most keyboards that support aftertouch in the more common monophonic sense (i.e. channel pressure) have been doing for years (actually from what I gather it sounds like they generally take the highest reading rather than an average, but this is a minor detail, and could even be configurable as a user preference).

    But the big feature of the new Mk3 S-series keyboards is polyphonic aftertouch, so why not go straight to supporting that in Maschine? As you say, the pads inherently produce polyphonic pressure data, and this is already being scaled to a digital value from 0 to 127 to use for the velocity of each repeated or arpeggiated note. All they would have to do is take literally the same value, combined with the note number into a MIDI message as they do now, but into an Aftertouch message instead of Note-On, this just means changing the 0x9 in the status byte of the MIDI messages they're already generating for note repeat into 0xA to make them aftertouch messages. In binary terms it means simply flipping just 2 bits.

    The only thing left for them to decide is the data resolution, i.e. how often is a pad's pressure sampled, and therefore how much data to record.

    I still think the only barrier - if there even is a barrier that's preventing them doing this, rather than simply not making it a priority - is likely to be some arcane software architecture detail of Maschine that means it's difficult for them to handle and record this data. But in theory it shouldn't be any different to recording multiple streams of MIDI CC messages.

  • ozon
    ozon Member Posts: 1,342 Expert

    @Ben C thanks for peaking my curiosity!

    Poly Key Pressure (the official term) and Channel Pressure can both be called "Aftertouch". IME, people talking about Aftertouch generally refer to Channel Pressure because that is what the majority of keyboards implement. Otherwise they would call it Poly Pressure or Poly Aftertouch.

    The MIDI Spec says:

    Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys).

    It's interesting that the MIDI Spec actually defines that Channel Pressure should be the single greatest pressure value if several are available. Thus it might be implemented much simpler than I expected.

    (BTW, most keyboards with Channel Pressure do not do that by calculating the largest pressure value for all depressed keys. Instead a single common pressure sensitive element is used for all the keys together. Only one value is generated, no calculation required.)

    You may have missed in the Mk3 S AMA that NI is currently prototyping Poly Pressure for Maschine. It will be interesting to see when that is publicly released, if it also introduces Channel Pressure.

  • Ben C
    Ben C Member Posts: 13 Member
    edited November 2023

    The Poly Key/Channel Pressure nomenclature makes sense for the official specs, I was using an unofficial reference (I would link but I'm not allowed yet!) that I guess is projecting its own opinions about which of them is the true Aftertouch!

    It is interesting that the method of determining channel aftertouch is defined, I really would have thought this would be left to device manufacturers to determine their player response, although there is of course nothing stopping them "going rogue" and using a different method; they could even just use the most recently-played note's value for the whole channel, that would make sense too. But in any case, whether using max, mean, or most-recent, this would be trivial to compute a master value from, it's just a case of using the right Math function.

    I did some Googling about how existing, channel aftertouch-capable keyboards work, and it seems some definitely do read individual key values - after all, they have to read individual key velocities, which is also basically just pressure. But yes, others have a separate, all-key sensor, it seems.

    I had missed the news about PP for Maschine, that's great news! The ideal would be if it supports both note and channel aftertouch, it would be a shame if they only add it at the note level so that Maschine itself and controllers like the Mk3 S-series can use it but not the channel level so that most other AT-enabled controllers cannot. But both are just standard MIDI messages at the end of the day, the software should record whichever it receives (but they should make the Maschine hardware generate either poly or channel according to a user setting, IMO).

  • 2A2E
    2A2E Member Posts: 30 Member

    I also would like to see AT mono or poly on Maschine. There are so many new synths now coming in with PAT that it would be great to allow it. Pretty Please?

  • 6xes
    6xes Member Posts: 637 Pro

    i think this may have already been shared on this forum somewhere...

    a work around for polyphonic after touch?? *shrugs


  • Kymeia
    Kymeia NKS User Library Mod Posts: 3,693 mod

    Problem is Maschine would still ignore any AT messages apart from those from its own pads

  • 6xes
    6xes Member Posts: 637 Pro

    i personally havent tried the VST in either maschine or Daw or alongside a alternative VSTi synth...

    perhaps Maschine standalone software cannot utilise it... its not to say the maschine controller cannot utilise it... afterall i have seen Poly aftertouch in NI's controller editor note/CC/pressure section

  • D-One
    D-One Moderator Posts: 2,860 mod
    edited February 5

    Maschine sw does not support it, it doesn't matter if it's the standalone app, plugin or standalone M+, it's all the same thing.

    Controllers in MIDI mode can send AT, as long as it's not to Maschine SW, if you can live with how horrible the sensitivity for MIDI mode is (countless threads about it) and the fact that you now use your 600/1200$ dedicated device for generic 150$ generic midi purposes...

  • 6xes
    6xes Member Posts: 637 Pro

    i'm aware the Maschine software doesnt support it...

    its not to say... the PPG alongside the maschine controller in another software albeit DAW cannot be run side by side to effectively utilise the VST with a quasi polyAT, which was the point of my post!

Back To Top