Announcing an unofficial SDK for Analog Rytm MKII running firmware 1.70 written in Rust

You don’t need to know Rust for this but dip your toes into Rust anyway it is lovely :slight_smile:

This SDK is only for Rytm. Because it is the only Elektron device I have and use extensively and without the device in your hands it will not be possible to reverse engineer sysex properly.

For model:samples, if anyone didn’t do it before here is how to approach it.

Step 1
Study https://github.com/bsp2/libanalogrytm/blob/master/sysex.c and https://github.com/bsp2/libanalogrytm/blob/master/sysex.h.
Here you’ll find the query formats which might be portable across devices and sysex encoding and decoding helpers.
You can either write a node.js native module to encapsulate libanalogrytm or rewrite the useful parts of it in node again which is not a huge task.

Step 2
Try queries with the manufacturer id and device id of your device and analyze responses. That is where the reverse engineering starts. Reverse engineer the parts you’re interested and then test them with the device. If everything goes well write a nice interface over it for your use cases.

It should be possible but needs some work from someone who owns that device. If you have the time and interest and if you think it worths your time go for it. :sparkles:

5 Likes