I understand that reactivating a thread 16 years after its creation is not a very good idea... but I still hope that someone can help me.
I have exactly the same problem described here with unpacking midi sysex data transmitted by Alesis. I have seen and tested the code shown in the thread and as the author says, the code does not work correctly although it can serve as a basis for further debugging.
I have the Alesis S4+ and I have followed the Alesis instructions listed at:
https://www.midiworld.com/quadrasynth/qs_swlib/qs678r.pdf
which are exactly the same for the Quadrasynth/S4
********************************* ALESIS INSTRUCTIONS DOCUMENT
<data> is in a packed format in order to optimize data transfer. Eight MIDI bytes are used to transmit
each block of 7 Quadrasynth data bytes. If the 7 data bytes are looked at as one 56-bit word, the format
for transmission is eight 7-bit words beginning with the most significant bit of the first byte, as follows:
SEVEN QUADRASYNTH BYTES:
0: A7 A6 A5 A4 A3 A2 A1 A0
1: B7 B6 B5 B4 B3 B2 B1 B0
2: C7 C6 C5 C4 C3 C2 C1 C0
3: D7 D6 D5 D4 D3 D2 D1 D0
4: E7 E6 E5 E4 E3 E2 E1 E0
5: F7 F6 F5 F4 F3 F2 F1 F0
6: G7 G6 G5 G4 G3 G2 G1 G0
TRANSMITTED AS:
0: 0 A6 A5 A4 A3 A2 A1 A0
1: 0 B5 B4 B3 B2 B1 B0 A7
2: 0 C4 C3 C2 C1 C0 B7 B6
3: 0 D3 D2 D1 D0 C7 C6 C5
4: 0 E2 E1 E0 D7 D6 D5 D4
5: 0 F1 F0 E7 E6 E5 E4 E3
6: 0 G0 F7 F6 F5 F4 F3 F2
7: 0 G7 G6 G5 G4 G3 G2 G1
********************************* ALESIS INSTRUCTIONS DOCUMENT
I have tried a lot of things (even with the help of Ai) but I am unable to fix the problem, I always get unreadable garbage. I have also tried with the decoding table indicated for the Quadraverb, which is slightly different, but the results are still frustrating. It's as if the conversion table Alesis provides is wrong or there is some added layer of encryption (which I highly doubt).
I understand that after so many years it's like shouting in the wilderness, but I have to try.
Has anyone been able to properly unpack and interpret an Alesis data dump?
Can anyone give me instructions or any ideas I've missed?