The Official Sequential/DSI Forum

Anyone know how to unpackage the Tempest SYSEX MIDI?

Anyone know how to unpackage the Tempest SYSEX MIDI?
« on: January 30, 2021, 09:49:23 AM »
I'm trying to decode the patch name from the MIDI data when selecting "Export Sound over MIDI", in TypeScript.

The code I'm using to unpack the MIDI data is https://github.com/stuartkuentzel/sequential-utils/blob/master/src/index.ts, which is a TypeScript version of the great work by https://github.com/Chysn/sequential_lib/blob/main/sequential_packing.h#L84.

Once I have the unpackaged data, I'm running `String.fromCharCode(unpackaged)`, but I can never seen to be able to get a patch name from it.

Any pointers would be super appreciated!

chysn

  • ***
  • 1304
Re: Anyone know how to unpackage the Tempest SYSEX MIDI?
« Reply #1 on: January 30, 2021, 02:43:19 PM »
I don't think the traditional DSI/Sequential 7-into-8 packing scheme is used in the Tempest program data, at least not for the name. If it was, I would expect to see a 0x00 somewhere in the middle of packed ASCII data; since bit 7 is never set within ASCII data, there'd be a pack byte of all zeros. I never see that.

They are packed in some way, though. Every eight characters, the ASCII bit pattern is intact, but they seem to be pulled apart as the mod 8 of the index approaches 7. I'd need to see a lot of programs with short, and known, names with runs of adjacent characters and identical characters, like "ABC", "CBA", "AAA". I could probably then figure it out.

The way the spaces drift to the right, the format doesn’t care about byte boundaries like the DSI format does.

Maybe somebody already knows, though...  :)
« Last Edit: January 30, 2021, 02:58:40 PM by chysn »
Pro 3

Previous: Mopho Keyboard, Desktop Mopho, Evolver, DSM01, DSM03
Software: macOS, Ableton, MuseScore2, Serum, Pianoteq
GitHub: https://github.com/chysn

KoSv

Re: Anyone know how to unpackage the Tempest SYSEX MIDI?
« Reply #2 on: January 30, 2021, 06:40:56 PM »
yeah, I know.
since I wrote the sound randomizer (orig. in C/C++ then compiled to wasm) and I'm able to fully pack and unpack sound files from ram.
I looked in your code and my advise would be not wasting your time.
the tempest ram sound sysex format is really complicated and not trivial at all.
due to hardware limitations nearly every parameter has its own bit mask.
if I find some time I could extract a wasm file for you to only return the soundname.
whats your project all about?
greets!
Classical piano drilled.
Jazz disillusioned.
Technoid.

Re: Anyone know how to unpackage the Tempest SYSEX MIDI?
« Reply #3 on: January 30, 2021, 07:18:16 PM »
The Tempest Randomizer is new to me, very cool stuff! Out of curiosity, is it open source?
The project is a simple web interface for users to share Tempest sounds/kits using WebMidi. Was looking to abstract some of the functionality into an open source Sequential utils TypeScript library, since it seems like a few determined devs spend the time unpacking the sysex and mapping it to params.

But at the moment, the main thing I'm looking to do is get the patch name.
« Last Edit: January 30, 2021, 08:28:22 PM by tempest »