I’m working on this assistive guitar project building a tool for reassigning notes using Plugdata, but during some initial testing my MIDI data seems like it’s losing notes.
To best demonstrate the problem I recorded a little video explaining/showing it.
Any clues what might be going on with this glitchy data?
Here is a part 2 video of my inquiry into MIDI data dropping. I tested the Plugdata MIDI pass through with a Jamstik Studio MIDI guitar along with MIDI Guitar 3, and I’m only seeing the data problem when using MIDI Guitar 3. Explanation video here: https://www.youtube.com/watch?v=17csj2aNvpk
Just a wild guess. I believe the problem is on the PD side:
I believe MG’s midi output, whether MIDI 1.0, Multichannel or MPE, is solid, and very well tested. It would be a surprise for me if you found its invalid. I feel very confident, because the MIDI OUTPUT module is working exactly he same as when hosting synths in MG, so any problems would be reported a long time ago. We have also never seen it for example drop a note-off, so we never had to make a panic button, as is commonly found.
But (unlike in the HEX version and jamstick), MG strings are assigned any available midi channel. Often you have one note ending and a new note starting right at the same frame, and MG may assign the new note to the same midi channel. This, I guess, is not so common among midi controllers. My guess is the the PD script you are using has a problem with this. Maybe its starts parsing all note ons and then parse note offs, and you loose the note. But it’s a wild guess.
Another.guess: MG sends a lot of data! Each note has 3 envelopes at every frame. Maybe the PD script get overloaded with midi messages or isnt set for MPE?
I think you are right and the MG3 data is solid but I think something about the channel stealing is really messing up things for what I’m trying to do. My Plugdata patch is doing nothing but piping the raw MIDI from the input to the output, so it should be an exact copy, and I’ve not run into any issues with Plugdata not being able to keep up with flowing data. It just seems to be getting confused and the noteon events are being somehow decoupled from the expression CCs in the flow. I can hammer away at it using the Jamstik MIDI data and it just works perfectly all the time and every time. I’m just not getting that behaviour at all on MG3 with Plugdata. Does the hex version dedicate one channel per string? We may just have to try that out.