Sending Sysex to Volca FM/DX7


#1

Hi, I've been experimenting with sending Sysex messages to update patches on my Volca FM. I am using Dexed for this, but haven't been able to figure out how to get the two to communicate. I did find @chaocrator's object, but haven't been able to decipher how this would be patched to work with the Volca FM.

I have been able to send ordinary CC messages using factory Midi In/Out objects, to the Volca FM, but I noticed that the Midithru (I noticed in the descprition it says it doesn't support sysex/clock) object doesn't pass CC notes in the way it does to other gear (Norns, mono-synths)

Has anyone successfully transfer sysex patches to Vocal FM/DX7? Any advice appreciated!


#2

I checked @chaocrator's object and it seems fairly simple, actually.

If you look in the documentation of Voca FM you can probably get the format of Korg sysex and create your own string.

Since the Volca series doesnt support midi out, by default, you are kind of dependant on looking into a manual to understand the format. If it had midi out, you could simply just record a sysex message from the Volca into for example sysex librarian and use that as a starting point. Or maybe look at some of the dx7 sysex patches around? That could probably give you the right information too.

I am going to see if I can get it working with Waldorf Blofeld today, once my eyes are open. I got it working in Pure Data and with Blofeld, so I think I can get this working too.

But overall for the Volca, it would just be soooooo much easier if it had midi out, so one could just record the sysex message and use that.

Also you says "send patches" to Volca. I think sending a patch message is a bit more complicated, than just editing a single sysex parameter. When I record a patch dump from Blofeld, it's a lot longer sysex message than a simple sysex parameter change.


#3

SysEx messages are model-specific.
so, to use the object with VolcaFM, the very first thing to do is rewrite the code for VolcaFM-specific messages. (actually, make your own object.)

in theory, sending patches should work the same, just harder to handle due to message length.
but in practice, quite many machines have quirks — e.g. how many bytes can be sent at once, at what time intervals, etc etc etc.


#4

Yeah, just changing the array numbers, to match the specific sysex format of Korg will probably be enough.

I just edited the object to work with Blofeld :slight_smile: I tested sending value from Axo editor to Blofeld, I didn't use incoming midi, though, but a single parameter works :slight_smile:

And now I am trying with a sound dump :slight_smile:


#5

@chaocrator

Just tried a sound dump that I have used in Pure Data, which worked, but didn't work from Axoloti, neither via midi cable or USB:

{
240, 62, 19, 0, 16, 127, 0, 1, 64, 64, 64, 66, 96, 0, 0, 24, 127, 1, 64, 0, 0, 0, 0, 0,
64, 64, 64, 66, 96, 0, 0, 0, 127, 3, 64, 0, 0, 0, 0, 0, 52, 64, 64, 66, 96, 0, 0, 0, 127, 5,
64, 0, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 20, 0, 0, 0, 76, 59, 127, 127, 127, 0, 0, 0, 64,
0, 0, 0, 0, 1, 0, 0, 0, 107, 64, 31, 0, 0, 0, 0, 0, 64, 64, 64, 1, 64, 0, 0, 64, 1, 64, 0, 2,
40, 64, 55, 0, 0, 0, 0, 0, 64, 64, 64, 0, 64, 0, 0, 64, 3, 64, 0, 0, 3, 0, 0, 127, 64, 5, 64,
0, 0, 0, 1, 0, 20, 64, 64, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 8, 0, 53, 64,
100, 0, 64, 100, 0, 100, 110, 0, 15, 64, 127, 127, 0, 127, 64, 0, 0, 0, 0, 64, 0, 0, 64, 0, 0,
0, 64, 0, 0, 0, 0, 64, 0, 0, 64, 0, 0, 101, 64, 0, 0, 0, 0, 64, 0, 0, 64, 1, 0, 64, 0, 0, 127,
37, 5, 0, 127, 0, 0, 0, 0, 64, 0, 10, 127, 60, 9, 0, 127, 0, 0, 0, 0, 64, 0, 0, 64, 127, 61,
64, 64, 64, 0, 0, 0, 64, 0, 0, 64, 64, 64, 64, 64, 64, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 64, 0,
0, 0, 64, 0, 0, 0, 64, 6, 1, 114, 8, 0, 90, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64,
0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 0, 0, 64, 16,
100, 0, 0, 15, 8, 5, 0, 0, 0, 1, 12, 0, 0, 15, 0, 0, 55, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 75,
105, 99, 107, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 21, 247
}

Anyway, so didn't work in first try, as it did with a parameter value. Maybe its because it's a lot more data send at once, as you mentioned. Do you have a suggestion for sending it slower or in chunks, maybe?

I know blofeld can handle it, as I have been using it with PD for a while.

Going to see if there is something I can tweak in the axo editor.

Thank you for the object, btwm it was a great starting point :slight_smile:


#6

no :frowning: no ideas for now.