[linux-audio-user] RE: midi Sys Ex dumps

Frank Neumann beachnase at web.de
Sun Apr 13 19:55:01 EDT 2003


Hi list,
On Sat, 12 Apr 2003 13:20:09 -0500 Michal Seta <mis at creazone.32k.org> wrote:

[..]
 
> Anyways, at least the linux community knows now that cat x.mid >/dev/midi
> doesn't really work.  I would assume that editing the dump file (generated
> via cat /dev/midi >dump) into correct sequences of SySex messages and 
> sending them sequentially (via a script?) might still work.

I think noone here ever said that "cat x.mid >/dev/midi" works the way you 
expect it to work. You seem to be confusing raw SysEx files with MIDI
files - they are NOT the same.

Raw SysEx files start with 0xF0 and end with 0xF7 (with possibly more than one
F0..<data>..F7 sections inside).
MIDI files, on the other hand, are much more complex, contain tracks, notes,
possibly controller and/or SysEx information, timing data, maybe even text for
Karaoka sessions and so on. They start with the 4 ASCII bytes "MThd", and
whatever comes after that should be detailed in the MIDI file format spec.

A MIDI file _may_ contain SysEx data and this is sometimes used as a means
to distribute new OS versions for synthesizers (e.g., that's true for my
Novation Supernova II), but a simple "cat" command of such a file will send 
the entire MIDI file data to the device, which will most probably confuse it.

A "good" MIDI file player (pmidi?) might be able to send the SysEx data 
contained in a MIDI file to your external device, but I have not yet tried
this.

[..]

> This is still with a Roland GR-50.  I know that some of the D series models 
> had a bug with checksum calculations.  If anyone has any idea about this, 
> let me know.  But it's no rush.  I would have forgotten all about this if 
> it wasn't for this thread.  I guess I can blame Ron for reminding me of my 
> old problems :)

As Julien explained in another mail, at least my Roland D50 (and probably
also other Roland keyboards) normally require a Handshake protocol for
data transfers. However, I can turn this of like this:

- Normally I press "Data Transfer" and then e.g. "Bulk Dump" or "Bulk Load".
This will initiate a handshake-type communication.

- Instead, if I first press "Data Transfer" and then hold "Data Transfer" again
while pressing "Bulk Load" or "Bulk Dump", the display says "Bulk Dump.O" or
"Bulk Load.O" ("O" for One-shot). In this mode, no handshaking is required or
even expected, and the Roland will just either send (Bulk Dump) or receive 
(Bulk Load) all data that is supposed to come. Using this mode, I have 
successfully loaded a couple of new sound banks into the D50 and also backed
them up on the PC.

The Handshake-mode seems to be a bit exotic; all of my other synths do not
need it (Korg, Akai, Yamaha, Novation), and I can just start sending/receiving
without any handshake.

Hope that helps,
Frank




More information about the Linux-audio-user mailing list