Send/receive SysEx using Jack?

What other apps and distros do you use to round out your studio?

Moderators: MattKingUSA, khz

Post Reply
martibs
Established Member
Posts: 123
Joined: Mon Oct 15, 2018 7:06 pm
Location: Oslo, Norway
Has thanked: 34 times
Been thanked: 15 times

Send/receive SysEx using Jack?

Post by martibs »

I'm using MIDI SysEx as an interface to a couple of Elektron synths (Digitone and Digitakt). It's possible to backup and restore patterns and sounds using SysEx. This works fine simply using amidi and dumping to file. However, I use Jack, and when Jack is running, amidi cannot connect to the Elektron devices.

Is there any way I can keep Jack running AND connect amidi to the devices, or is there perhaps some tool in the Jack suite that can be used for the same purpose? I tried using jack_midi_dump, but the output to the file looks different than that from amidi.

Also, the SysEx transfer is quite slow (over USB). Is that simply a limitation of SysEx, or is it possible to speed it up?
tux99
Established Member
Posts: 346
Joined: Fri Sep 28, 2012 10:42 am
Contact:

Re: Send/receive SysEx using Jack?

Post by tux99 »

I vaguely remember reading some years ago that Jack does not support sysex dumps (not sure if this has changed).
Using Jack rather than ALSA for hardware MIDI synths is useless anyway, it's just an additional layer that could cause latency, I always use ALSA MIDI directly with my hardware synths.
Jack MIDI is geared towards softsynths.

With regards to the speed, MIDI works at 31250 baud, which means 3125 bytes per second, if you know how large your sysex files are, you can figure out how long the transfer should take.
ctballentine
Posts: 1
Joined: Sat Feb 27, 2021 8:22 am

Re: Send/receive SysEx using Jack?

Post by ctballentine »

I have this same problem. I have an old unitor8 midi patchbay and the only way I know to edit its internal routing is through qjackctl and if i connect a keyboard or sequencer program to my sound module then amidi will say the port is busy.

My solution has been to use pure data. It can send sysex with only a little more hassle than amidi and it connects to the qjackctl...works fine for me.

Also would note that if i connect my controller keyboard to the unitor8's internal broadcast port then I can use amidi to address the specific port my sound module is connected to and it won't be busy and my keyboard can still send to the sound module, but the keyboard also sends to all 8 midi outs, which isn't always ideal...but if I only have one sound module connected then this is a nice workaround...in case anyone reading this has a similar setup


Finally, I don't have any trouble with my sysex messages transmitting slowly over usb, but I will say that my sound module takes a couple of seconds to process the sysex message and as far as I know there's no way to speed that up...unless you're sending huge sysex messages that's probably the case for you as well...if it's really going slow over the usb port then I'd imagine you'd be noticing some major latency while playing notes as well...
I wish that weren't the case so I could tweak parameters in real time, but it seems to be the way it is. Still, the sysex is helpful for editing patches.

Hope this helps, good luck!
Post Reply