gbevin / ShowMIDI

Multi-platform GUI application to effortlessly visualize MIDI activity
https://uwyn.com
GNU General Public License v3.0
581 stars 17 forks source link

[FR] SysEx human-readable translation? #35

Open AdamAdamsMusic opened 2 months ago

AdamAdamsMusic commented 2 months ago

Hi @gbevin! Amazing work with ShowMIDI – immediately became my go-to tool for visualizing MIDI.

Here's an idea I've had for a while – it might be useful in certain situations to be able to translate SysEx messages that are being sent/received, using their respective schemas (many of which I expect to be already reverse-engineered).

For example, let's say you would want to recall settings for your device, You send a SysEx message, which might look like black magic. ShowMIDI could have an option to match the intercepted MIDI SysEx message and translate it using a specified schema (for the sake of this example, let's say there's a folder path "SysEx Schemas"/[MIDI device vendor]/[MIDI device model]", where the schema file would be) to represent it in "human-readable" form. It would show that this is a SysEx message that matched the schema for specific device and then translate any kind of parameters sent, e.g. the filter cutoff in this recall is being set up to this specific value, or this specific fader on the device will now send this MIDI CC message number etc.

Let me know if this is something that interests you and whether you need further clarification. I'd be happy to contribute!

gbevin commented 2 months ago

I think that's a great idea, just a huge amount of work. Totally open to taking contributions in this area though.

AdamAdamsMusic commented 2 months ago

Oh, absolutely! In my head, the whole repo of MIDI SysEx schemas would be contributed by anyone wanting to help.

As I'm deep in projects, can't really say when I'll have time to commit, but I'll be sure to come back, have a play with the source code, and think of an idea to implement this.

gbevin commented 2 months ago

Sounds good!