Overwitch, a JACK client for Overbridge devices, AKA Overbridge for Linux

:joy:

Ok ok, thank you Overwitch users and devs for your patience with me and my non-Overwitch-specific questions. I love this piece of software and I think now I’m all set!

1 Like

Hi!

thanks for the work you are putting in making Overbridge available to linux users!

I am not sure if my question is in the right place, but here it goes. How does one sync an Overbridge device and computer? I have a digitakt connected to my laptop via USB, and when I switch it to the Overbridge mode, it simply disappears from the list of devices in the Bitwig sync settings page. Are my only hopes of getting sync with the digitakt in OB mode is to send clock and transpont to a different device and then to the Digitakt via midi cable? is this how it is supposed to work?

1 Like

Welcome to Elektronauts, personnealienee.

Yeah, my preferred way is user, configuration and usability questions here; while technical issues and improvements in GitHub.

To make it work with Bitwig you’ll need to run Bitwig using JACK as the audio server (audio engine). I know it’s possible but don’t know how to accomplish this.

Or are you already doing this and the MIDI ports are not working? Did you manage to record or monitor audio from the audio tracks?

I am running Jack, yes, and Bitwig uses Jack as audio engine.
Overwitch works perfectly fine and I can hear and record each of the eight tracks. But I cannot sync Bitwig and Digitakt

Have you set up the Digitakt to receive MIDI clock and transport? Probably you have but…

Are you able to play the 8 sampler tracks via MIDI?

When the Digitakt is not in the Overbridge mode, I can send midi to it and it plays (and I can send clock and transport). But as as soon as I switch on the Overbridge mode in Digitakt’s settings, I do not see it as a midi device in Bitwig, and can’t send clock/transport.

I understand now. Sorry.

MIDI should be shown as JACK MIDI ports and not ALSA MIDI ports. There is an open issue to allow users to choose between these two options. But it should work.

This is my setup.
I have no JACK MIDI driver (no seq, no raw).
I run a2jmidid to redirect ALSA MIDI ports to JACK MIDI ones.
This is a picture of my connections.

In this case I’m running Calf with a monosynth plugin. As you can see in the top corner right, the MIDI ports in Calf are inside the plugin. What I want to know is if you can run other JACK plugins and see their MIDI ports. So, could you try to run Calf to check if you can see the ports? Can you run JACK from QjackCtl and share your connections graph here?

here is my graph when Overbridge on Digitakt is not enabled

and here is one when Overbridge on Digitakt is enabled and Overwitch is running

brown are Jack MIDI ports, green ALSA MIDI

(btw, note that in both pictures another hw synth I have, Analog Four, does not have any jack ports, but it receives clock and transport from bitwig)

Looks like those JACK MIDI ports are isolated and unreachable from the rest of the devices.

If you run a2jmidid, we should see the ALSA ports as JACK ports and we should be able to connect the Analog Four to the Digitakt. Could you try this? Not the best idea but should work.

Anyhow, I’ll give it a thought to implementing MIDI ALSA ports in Overwitch.

1 Like

This thread is quite useful to understand what’s going on, although you probably have seen it already.

They advice against using a2jmidid as it will “steal” the ALSA ports and make MIDI unusable by Bitwig. Or so I understood.

I think this should work.

The idea is to create a virtual MIDI device and, by using aj2midid, redirect the MIDI sent to this virtual device to other JACK MIDI applications.

Does this actually work for you?

wow, that’s glorious, it does actually work! thank you!

Bitwig can send sync to one of those virtual midi ports while Digitakt is in overbridge mode, and you can connect it with a JACK patch to Digitakt’s midi in.

1 Like

can someone please build it for fedora and put it to copr repo???

Sorry for the hyper late reply hahahha

Sadly I tried to make a jam session with my mates and bitwig hunged every time we pressed play, so, since I was a bit drunk, had to give up the dream and format windows again :rofl: :man_facepalming:

Will try again in the near future, you know, summer is for bikes, and winter for music :wink:

now that it is winter again I decided to update Overwitch. Nice to see that there is a GUI now! And it is running smoother than before! I don’t know if it is because last time with the old version I was using jack with 44.100kHz and changed that and the frames/period and I’ve been running Ardour7 with one or two insignificant Xruns in 5-6 hours! before it was unusable: after half hour i got like 40-60 per minute.

This and Ardour7 are changing my thought if I should move to ableton :wink:

4 Likes

Hi, I’m having a trouble initializing overwitch,

admin@pop-os:~$ overwitch-cli -n -v 0
ERROR:engine.c:690:(ow_engine_init): Error while initializing device: LIBUSB_TRANSFER_STALL
overwitch-cli: …/…/libusb/os/threads_posix.h:46: usbi_mutex_lock: Assertion `pthread_mutex_lock(mutex) == 0’ failed.
Aborted (core dumped)

admin@pop-os:~$ overwitch-cli -d Analog Rytm MKII -v -b 4
DEBUG:overwitch.c:195:(ow_get_devices): Found Analog Rytm MKII (bus 001, address 002, ID 1935:0010)

Prior to this I was receiving LIBUSB_ERROR_ACCESS so I wrote permission rules to udev and am now faced with this transfer stall.

Any ideas?
Thanks for such a great release by the way!

1 Like

So, it seems like it’s just CLI I’m having issues with.

I’m able to record into Ardour
But when i try to use terminal:

admin@pop-os:~$ overwitch-record -d Analog Rytm MKII -v
DEBUG:overwitch.c:195:(ow_get_devices): Found Analog Rytm MKII (bus 001, address 002, ID 1935:0010)

If it’s not working in the terminal but the GUI is, it might be the parameters you’re passing.

Not sure if this is the problem but you need to quote the device name like this.

$ overwitch-record -d "Analog Rytm MKII" -v

Does this fix it?

I’m having a problem with this but I don’t know if it’s just me missing something.

Basically, the Digitakt external inputs are coming through both Main L&R and Input L&R. How do I stop it coming through Main? I’m using that for the fx but currently the inputs are duplicated in both.

In the DT settings I have Route to Main as just the fx and Int to Main as OFF (this seems to make no difference).