[LAD] Weird USB MIDI sysex problem

Gordon JC Pearce gordonjcp at gjcp.net
Fri Aug 30 22:35:59 UTC 2013

Hi folks,
I'm having some really odd behaviour trying to send sysex to a synth where I can only send (using snd_rawmidi_write) in three-byte blocks.  The only exception is if I send something not a multiple of three bytes but terminate the transfer with 0xf7, it will send everything including the 0xf7 - but this kills the sysex transfer.

The synth I'm trying to send MIDI to - a Casio CZ1000 - expects seven bytes of data to start a patch dump, at which point it will send a handshake back to the computer.  Now if I pad the output with zeros the synth *will* handshake, but then not respond to the handshake acknowledge presumably because of the extraneous zeros.

I can't figure out what I'm doing wrong with this.  Example code here:


This is tested with the MIDI out of my Emu 1x1 cable plugged into the MIDI in of a sound module and MIDI in on the interface plugged into the MIDI through on the module - so there is no "processing" of the MIDI messages.

Is it really impossible to just send raw bytes over a USB MIDI cable?

Gordonjcp MM0YEQ

More information about the Linux-audio-dev mailing list