Closed dpwe closed 1 month ago
Thanks for looking into this, I'll be looking forward to a release with the fix - or taking a look at the code myself.
@Speccery please let us know if the latest Tulip (use tulip.upgrade()
or Tulip Desktop build) works for you with your setup. We believe we've implemented support for running status and sense bytes.
@bwhitman I recently built a DIN to jack cable, and tried before and after the last update: it seems to work. There are still problems intermixing notes with CC messages, but I'm not sure if its related.
Hey @Speccery I've got my SH-4D wired up to Tulip over MIDI DIN, and sync is on MIDI and the sequences are playing in sync and with no dropped notes. Do you have a reduced test case we can try to show your error?
According to the MIDI description at http://midi.teragonaudio.com/tech/midispec/run.htm,
This could explain the various reports of missing note-on/note-offs we've seen when receiving input from external MIDI gear. This is specifically to reduce bandwidth and latency on serial-line MIDI, so it may be selectively employed with MIDI hardware but not pure software busses.
The effect is that "extra" data bytes without a Status byte (i.e., a byte with its top bit set) are implicitly assumed to have the same Status byte as the preceding command. So a sequence like:
can be sent equivalently without the repeated note-on Status bytes as:
Currently, the Tulip midi parser doesn't understand this.
Many thanks to @Speccery for tracking this down!