Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
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). |
Thanks Malte.
It's slowly coming back. Also, after posting that message I found the source code for a Xpander sysex decoder in the Files section of this mail list.??It has a lot of comments which explain the patch size. It was written by Greg Baumont- author of Xplorer (Graphical patch editor for the Xpander & M12).? Looking at a bank file that is 39,900 bytes (exactly 100 single patches), I do see the Sysex command for each patch, along with the trailing F7 byte. This makes is easy to visually search with a hex editor, and for any sysex program. Since the commands are in the bank file, any sysex program can be used to send the patches back to the Xpander/M12 without the need for a dedicated program. May I ask which company(s) you worked for - or which program you worked on? I'm looking for a sysex program for the Mac. thanks |
Hello;
I also found the documentation afterwards. It looks as if the "bank request" simply results in 100 individual dumps being sent. Oh well. We have to keep in mind that this was pretty much at the beginning of the MIDI era and everyone was trying to figure this out. There was occasionally some really weird stuff - like certain Casio synths not directly accepting their own sysex dumps (the formats for sent and received dumps were for some reason different). Until they were bought by Apple I was part of the SoundDiver team at Emagic. Good times, but in a sense the writing was on the wall. The transition from hardware to software (plugins) also meant that the market for SysEx librarians/editors would be getting smaller and smaller. Right now MIDIQuest seems to be the last player on that field. As a program that can just send and receive SysEx (without any editing) on the Mac I would recommend Snoize's SysEx Librarian. (Snoize's MIDI Monitor has also served me very well in complex setups.) |
¿ªÔÆÌåÓýfor Windows.Am 20.09.2023 um 12:56 schrieb Malte
Rogacki:
As a program that can just send and receive SysEx (without any editing) on the Mac I would recommend Snoize's SysEx Librarian. (Snoize's MIDI Monitor has also served me very well in complex setups.) |
Thanks. Hi PeWe, long time no hear. How are you? On Wed, Sep 20, 2023 at 4:12?AM PeWe <ha-pewe@...> wrote: |
Hello,
I'm the guy who wrote Xplorer, and I just had a look into the source code how I did implement the "backup/restore all data" more than a decade ago :) Xplorer sends an "All data dump request" to the Xpander, which behavior is described into the Xpander rewritten MIDI spec: "Receipt of this message causes the entire contents of the Xpander or Matrix-12 to be dumped in a series of Program Data Dump Follows messages. The patches are dumped in sequential ascending order, first single patches, then multi patches. Each patch is sent as a separate complete SysEx message bracketed by F0H-F7H. The contents of the edit buffer are not affected." Since Xplorer was not aimed to manage Multi patches, it only takes the 100 single patches and store them into a single file, and ignores the received Multi patches data. So basically the resulting sysex file is a set of the 100 single patches ordered in ascending order and not the verbatim of what the Xpander sends as an answer to the "All data dump request". Regards, |
to navigate to use esc to dismiss