¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Xpander sysex patch format


 

Hello Tony;

a couple of quick observations:

The words "packed/unpacked" are not ideal to describe what happens here.
Internally all Synths of that era naturally used 8 bit for storage and parameter resolution. However SysEx can only transfer 7 bit per byte meaning that the internal data needs to be encoded for transfers. There are various schemes for doing this; and it appears to me that the Xpander uses something like 7 bits followed by the remaining highest bit (I'd have to doublecheck if this is ineed the case).
This would explain why you see 16 bytes for the name instead of 8 bytes: the byte containing the character itself followed by the byte containing the missing highest bit (which if of course empty). This would also have consequences for the other (data) bytes. In general an editor would decode the dump back to its native 8 bit format because then all the values become clearly visible.

The difference in bank files sizes is indeed most likely due to the dumps containing multis and/or globals.

The difference in calculated size between 100 single patches and a whole bank is likely due to the fact that the SysEx header and EOX byte are only used once for the bank dump instead of 100 times.

I'd have to look all this up in detail; but about 25 years ago I also spoke SysEx fluently (I was part of a team that wrote lots of SysEx librarians/editors).

Join [email protected] to automatically receive all group messages.