Machinedrum SysEx

Lasse Munk's icon

Hey everybody!

Any of you guys have knowledge about how to interpreter SysEx messages coming from the MachineDrum (SPS-1 UW+) ?

Machinedrum Manual (SysEx information begins at page C-1 in the bottom of the document)

in this patcher I want to retrieve the parameters settings in the a kit. But i can't interpreter the SysEX dump, and I'm not even sure I ask for the right thing to the MachineDrum.

This patcher asks (and gets) a Kit Sysex Dump (dump ID hex 52 (which is 82 decimal))

This patcher asks (and gets) a Kit Kit Request (dump ID hex 53 (which is 83 decimal))

I've tried to change some parameters in my kit, but i can't see the changes in the dump.

Max Patch
Copy patch and select New From Clipboard in Max.

Why suggestions?

dtr's icon

sorry can't help you with that. but i'm curious to what you're building. i totally love my machinedrum and extending its functionality through max sounds great.

Lasse Munk's icon

hey! yep i have some really cool ideas.. will share them once the patch is done.. i'm just stuck with some stupid stuff.. :)

Macciza's icon

Hi
You are mixed up in your thinking re the commands and also lacking some additional info . . .
You send the Kit Request to the MD and it sends the Kit Sysex Dump in return.

The 'Kit Sysex Dump' is just a brief synopsis of the data that get returned after sending the Kit Request.
But you will need the additional info re: the 'Kit Data Bytes' that gets returned - it's in md1_53-sysex-0_8.pdf

Also be aware that some of the returned data is 7-bit encoded and needs decoding to access the info

Cheers
MM

Lasse Munk's icon

Hi Macciza,
Thank you a lot for comment. It helped a lot.

I found the .pdf you mentioned.

I have a few questions that I still don't get (hex is new to me).

You write the "kit Sysex dump" is a brief synopsis - can you clarify this a little bit? Isn't all the parameter settings in this message?

Do you have an maxpatch example of how to decode the 7 bit returned data?

When you look at your kits in the machinedrum, the first kit (0) is a undo kit the first editable kit is in slot one.
If I want to request my first editable kit (1 in the machinedrum), should I then request kit 1 or kit 0 ?

Sorry for my many questions, i'm just very much in doubt of how to interpret the messages.

I really hope you have the time to help, thank you a lot!

Lasse

On page 4 of the md1_53-sysex-0_8.pdf it says "kit message". Is this the form the sysex data is dump from the machinedrum to max, or the other way around ? (or the same way both ;)?

Do you know if I should save a parameter change to a kit, before I can see the change in the sysex dump (i'm thinking yes?)

Macciza's icon

Hi
I just meant that the 'Kit Sysex Dump' mentioned as such in the C1 manual section did not provide all the info you needed and that you need the other document to get the actual info.

Yes the Kit Message on page 4 is what you get back from MD - what the other doc calls Kit Sysex Dump. It is also the format you would use to send data to the MD.

I don't have Max patch for 7bit encoding but could probably help if there is not something else available.

Some people at the Liine Lemur forum have developed a Lemur / MachineDrum project . . .
May be worth a look . . .

Cheers
MM

Lasse Munk's icon

Thank you so much. You really clarified some important information for me. thanks!

I will take a look around after other similar patches / ideas on how to get around it. Thanks man!

Lume's icon

Hi
Having similiar issues here. Can someone link me or upload the "md1_53-sysex-0_8.pdf" ?

Lasse Munk's icon

what's your email?

dtr's icon

hey guys, a little while ago i stumbled upon a page with a list of software tools for the machinedrum. one of them let you play it chromatically with a midi keyboard. i'd love to try it out but no matter how hard i try i can t seem to find that page anymore. would you happen to know it?

Lasse Munk's icon

Hey dtr,
I know that you are able to do it, but I havn't tried it my self, nor have a found other patches that do similar things.

I think you have to spend a little time tuning each machine individually, and as far as I know, you are able to do it with GND sn, TRX and FM machines.. (Any more?)

dtr's icon

indeed. it sounded like the tuning work was already done in that app, that's why i'd like to find it ;)

Lasse Munk's icon

please share a link when/if you find it!

11OLSEN's icon

@dtr what came to my mind when i read your question is this video http://chaosradio.ccc.de/25c3_m4v_2843.html watch at 22:00.

his site is http://ruinwesen.com/ but thats probably not the page with the tools you mean. he's programming his own microcontr. to use with hardware.
O.

dtr's icon

yeah that minicommand box is awesome! my hardware synth use is a bit too incidental right now to justify buying one but sooner or later i'll have to get my hands on it...

Lume's icon

Hey peeps.
I've decided to share my preset morpher. It's largely incomplete (because I still haven't figured out how to do kit dumps), but you might get some ideas for your own patchers.
Instructions are in the .zip as a .png and .jpg .

EDIT: Open MDCC11, lock and put in presentation mode. haha.

3592.MDCCtest5.zip
zip
Lasse Munk's icon

Lume! Thanks man. I'm not home at the moment, so I can't try it out. Did you figure out how to interpeter the Sysex string from the machinedrum?

Lasse Munk's icon

meaning - reading a kit-dump ?

Lume's icon

Nah, I haven't bothered with it, just cosmetic stuff for now.
I really want to do it in JavaScript. I'm not too sure that it can be done with standard objects.
Besides, I think once the kit string is read, you can send the params to the controls in the patcher via scripting name.

There's a thread on here about reading in a Yamaha DX7 (I think?) sysex string. But it's a little out of my league.

Lume's icon

Sorry, not a DX7, https://cycling74.com/forums/sysex-question
he made it for a Yamaha Motif XS.

Aaron Wharton's icon

Only somewhat related, as my inquiry is dealing with the Rytm and pattern data, but I wonder if anyone could give any pointers about how to go about setting up a decoder for (receiving and sending) using the following library:
https://github.com/bsp2/libanalogrytm

- and as for the specific Pattern-based information:
https://github.com/bsp2/libanalogrytm/blob/master/pattern.h
https://github.com/bsp2/libanalogrytm/commit/ac69166583d1dfea23004d7bba80c1db9db89fab