Yahoo Groups archive

Casio CZ/ VZ/ FZ - Pro Series

Index last updated: 2026-04-28 22:42 UTC

Message

Re: Speed of sysex transfer

2013-08-22 by bernard.escaillas

Hello,

I am just a reader most of the time. But now this is a subject I have dealt with on many synth and many programmable custom devices (Arduino, mbed, Panda,...etc). So it may be a good time to step in ;)

The midi protocol is just a subset of the serial protocol from "the gold old days".
The speed has been defined once for all @ 31250 bauds.
( The Midi association has been working on new "fast Midi" for two decades without beeing able to decide "what next"...So this won't change anytime soon :( )

You can always tweak this speed by a few percents in hardware because receiving device tend to sync to signal. So you may be fine using 32000 bauds for exemple if it is more convenient.

Now concerning the loss of long messages between a modern computer and a synth from the 80's, the problem lies in the CPU speed of the synth and its input buffer:
when the synth receive data on its midi port it has to read and analyse data present in the input buffer. For sysex, the analysis can take some time before the synth has consumed the data and freed the input buffer. If during this analysis the PC keeps pushing data (even at 31250 bauds) into the synth's input buffer, the later can become full and the serial chip refuses (or ignores) incomming data...
Then the sysex is incomplete.

To give the synth enough time to digest the new sysex information, the sending PC should do some pauses. This "pause" setting is available in a tool like MidiOx. There you can set the size of "packets" and the pause to do between packets.
It may take some testing to find the correct values for a given synth...

Old synth don't have more than 64, 128 or 256 bytes at best of input buffer ! Flash memory was very expensive at that time.
I don't know the CZ5000 specs...
Try to send packets of 128 bytes with 50ms in between.
If messages are still lost, either decrease packet size of increase pause duration.
If communication is fine you can try to increase packet and reduce pauses.

Bernard

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.