Let me try and summarize and reframe the discussion, correct me if I’m wrong.
MIDI is a standard for sending digital data in packets between equipment, whether hardware or software. When you press a note on a physical/virtual/software keyboard, including a piano roll in a DAW, what happens is that a “note number” is sent, such as the value 60 (middle-C). So far so good.
Now the trouble begins…
The question arises: So what note (an audible frequency) is note number 60 (or any other) actually? Ideally the MIDI standard should be crystal clear about this but something happened. Either the standard is lacking or ambiguous, or/and some vendors took matters into their own hands and said “well, we decree that note number 60 is a C4” and others said “no, it’s a C3” and others said C5. So now we have a right mess because it means that MIDI equipment and software is not interoperable and users are caught in the middle.
So e.g. Ableton and Bitwig will transmit note value 60 when you hit a C3 on the piano roll, Reaper and VCV Rack and others will transmit note value 60 when you hit a C4, and for some others it’s a C5. So out of the box, when you hit C4 in Bitwig, VCV Rack will say “thank you very much for that C5 note”, and everyone is confused and things don’t work as they should.
As is the case with standards confusion there’s a couple of responses that vendors and developers can have in the face of that:
- Screw the users, we’re right and they’ll just have to figure it out and find workarounds themselves. Or…
- Poor users, we need to do something to help them make their different MIDI equipment work together in the face of this situation.
I think answer #2 is the right one unless it’s prohibitively expensive. To help users one of the things various manufacturers have done, is enable them to configure what middle-C means. Whether it’s C3, C4 or C5, and I think that’s what the VCV MIDI modules should do as well. Give users an option to define this so that the various MIDI software and hardware can work correctly together.