Why are 1024 bytes sent before transmission of large Sysex file?


2016-07-18 16:06:20

Before sending a very large Sysex file for example (522,243 bytes), there appears to be a random 1024 bytes sent before the transmission of the larger Sysex file. Are these bytes reflecting the (Sending MIDI out data...) function? Does any one know why this happens?

(Edit) My setup is like this

1. MIDI Sport 2x2 A out 5 pin MIDI DIN > MIDI Sport 2x2 A in > USB out to PC

2. Sending (522,243 bytes) from MIDI Sport 2x2 A out to MIDI sport 2x2 A in

3. Random 1024 bytes are sent before transmission of larger (522,243 bytes) Sysex file

[img]Capture1.PNG[/img] (may need to open image in new tab)
Capture1.PNG (173.08 KiB) Viewed 5230 times


2016-07-21 20:36:14

Hi, have you verified that it actually receives 1024 + 522,243 bytes? it might be that just the log says "receives 1024 bytes" before going into bulk dump mode, where it includes the initially received 1024 bytes.
Otherwise, could you attach the bulk dump file?

Note that for such extreme Sys Ex files, some MIDI interfaces don't behave well. MIDISport usually is fine, but who knows. Send SX's settings allow for some tweaks if indeed you find that the MIDI wire carries wrong MIDI bytes (e.g. enable/disable splitting, enable/disable throttling, make it slower, etc.).



2016-07-21 20:50:27

Hello thanks for the reply, my theory is that it is not receiving 1024 + 522243, but rather it is receiving 522243 and that extra 1024 bytes out front are simply reflecting Send SX preparing for the bulk dump, not the actual bulk dump because why would it receive the appropriate amount of bytes after? I really don't know though :oops::|

I know if you just send 1024 bytes alone, there is no extra bytes sent before.

I have included a link to the Send SX file in this google doc let me know if you have any trouble opening it up.

https://drive.google.com/open?id=0B1ynu ... lRZYnR3Yzg



2016-07-21 23:10:23

Hi, you're misreading the SendSX log output. SendSX always receives sys ex in chunks of maximum 1024 bytes. When it receives the first chunk of 1024 bytes from the bulk dump, it displays "Received 1024 bytes successfully.". Then it receives another 1024 bytes from the bulk dump, and detects that it is indeed a bulk dump and displays the bulk dump receive window. The first 1024 bytes are part of the bulk dump. When it does not receive any data for a second or so, it assumes the bulk dump is complete and displays the data and the number of received bytes, including the initial 1024 bytes.

You can verify this behavior by
  • saving the received data as a separate .syx file, and loading it back. When sending, you'll see the number of contained bytes.
  • turning off bulk dump detection in Send SX's settings: all data is received in a series of 1024 bytes.


2016-07-21 23:14:31

OK cool thanks, so the 1024 bytes are not extra but simply included in the 522,243 bytes after bulk dump.

Thank you for your help.