Yahoo Groups archive

Emu XL-7 & MP-7 User's Group

Archive for xl7.

Index last updated: 2026-03-30 01:19 UTC

Message

Re: [xl7] Re: Transferring patterns

2014-01-16 by Przemysław Węgrzyn

Hi!

I don't follow the explanation of blocks. For me, the next data value after the byte pair 00 7F is 01 00.

Indeed, but here we are talking about sending a stream of bytes (e.g. MIDI file) through the File Dump - not pairs! Bytes themselves don't have the 7F limitation - in fact, in the MIDI file you can find the bytes with the highest bit set (Variable Length Values - check the bottom of this page: http://www.ccarh.org/courses/253/handout/smf/). Also, File Dump is not only used to send MIDI files, but also samples, which are binary data not limited by MIDI standard in any way, thus they can be full of FFs.

So, to overcome the SysEx limitation, one have to get rid of the highest bits - in case they were set. Bytes are grouped by seven, and the highest bits of every byte are grouped to form the eight byte. That way we can guarantee that no byte will ever be bigger than 7F.

Just in case you want to know more about it, here's a nice description: http://www.slaveksamal.com/files/midispec.htm#nusx_fd

This is exactly the format used by XL7 to dump the patterns (and not only that). The only tricky part is the "file" name sent in "File Dump Request" message (sent towards XL7), which appears to be the only EMu-specific part here.

(BTW, I'm the guy helping Bruno to figure all that out, just joined the XL7 list :)

--
Przemek



Attachments