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

DG2 this is a sweet project!! Is there any chance of this or Elektroid! supporting management of presets/samples/kits/projects?

Overwitch is an attempt to send the Overbridge audio and MIDI data into JACK. It will never be as feature rich as the Electron software is.

But checkout https://www.elektronauts.com/t/elektroid-a-gnu-linux-sample-transfer-application-for-elektron-devices for device management. At the moment, there is only support for samples though.

3 Likes

Version 0.2 is not out yet because I had no reports of devices working other than the Digitakt and the Digitone. But, at the moment, the code already includes support for Analog Four MKII, Analog Rytm MKII and Analog Heat MKII.

Has anybody here run Overwitch successfully on any of these machines?

2 Likes

As I said Overwitch is only meant to support audio and MIDI but I plan to add support for projects to Elektroid the same way Transfer does.

BTW, Elektroid version 1.4 is almost ready and should be out in a couple of weeks. After this, I’ll start with project management.

3 Likes

I have managed to compile Overwitch using Manjaro; however, as I only have an Analog 4 Mk I, I cannot list or connect the device as yet. I’d be glad to try Overwitch out with the A4 Mk I though.

MKI are not supported yet, sorry.

The reason is that in these, the user needs to select the tracks they wants and I don’t know how this is done. But I have an idea so create an issue in GitHub if you want to give it a try.

However, this is not the case of Analog Heat MKI and I suspect it might work just now. In this case the device could be added as specified in the documentation.

1 Like

Although there is no official release yet because no other devices than Digitatk and Digitone have been reported to work, development has been going on.

These are the latest additions.

  • MIDI.
  • Multiple devices can be run at the same time by running a different process for each device.
  • Resampling quality is user selectable. 0 is the best quality and most computational expensive; 4 is otherwise.
  • Latency on the device side is configurable by selecting the amount of blocks transferred at once.
  • Udev configuration files (usb devices permissions and names) are installed automatically.
  • A little help is provided with the option -h.
$ overwitch -h
overwitch 0.2
Usage: overwitch [options]
Options:
  --use-device, -d value
  --resampling-quality, -q value
  --transfer-blocks, -b value
  --list-devices, -l
  --verbose, -v
  --help, -h

I hope you find this useful.

9 Likes

This is fecking glorious. Thank you @DG2! Running my bitwig output through my DT right now, and it’s brilliant! And recording 10 channels! So good. Now to go back through all my patterns and export them and arrange and publish them :blush:

There does seem to be a little bit of click now and then (xruns?), which may be because my laptop is a bit underpowered, not sure. I followed the chrt instructions, I guess I might be able to mess with those values a bit to minimse it?

Now I just need to figure out how to record the FX only… anyone know if that’s possible?

2 Likes

I’m gonna try this with an AK… not right now, cos I’m a Linux noob and I suspect it might take quite some time… but to clarify, it lets you use yr Elektron device as an audio interface?

I’m really happy it works for you. :slight_smile:

Regarding the possible xruns, check them in your instance of JACK running. However, here’s what I use. I have 0 xruns and latency under 5 ms.

  • RT Linux kernel (5.10).
  • No dummy cores and CPU governor in performance mode.
  • rtirq-init.
  • JACK configured with 128 frames and 3 periods and run with chrt -f -p 40.
  • Overwitch run with chrt -f -p 35 and overwitch -d Digitakt -b 8.
  • Ardour run with chrt -f -p 30.

This is not a very RT demanding configuration. Also, you could use --quality 4 to reduce the CPU usage even more. More info in the repository’s README.md.

2 Likes

It’s possible to not send the tracks output to the main output but keep the internal FX tracks (delay and reverb). You can find this on the audio routing page inside pattern menu (per pattern routing ) or inside the settings menu (global routing). These are on the pages 33 and 66 of the newest Digitakt manual.

But I’m not sure if I understood you well.

1 Like

I don’t know if Overbridge I devices will work with Overwitch but, if you want to give it a try, be sure to check out an issue about adding support to the A4 mk I. Post there or send me a PM in case of help. It’s not as difficult as it seems.

If possible, you would be able to record in your computer the 4 analog tracks and 2 inputs and play audio to the main AK output all thru USB.

1 Like

My Digitakt doesn’t show up in Overwitch:

$ lsusb | grep -i digitakt
Bus 001 Device 004: ID 1935:000d Elektron Music Machines Digitakt MIDI
$ jack_control status
— status
started
$ overwitch -l
$

What could I be doing wrong? I tried with the ALSA MIDI bridge both enabled and disabled.

EDIT: Never mind, there is something called Overbridge mode on the Digitakt itself! :smiley:

1 Like

Yeah, I’ve never mentioned this so it’s a good moment to say that Overbridge mode for the USB port must be activated on the devices before using Overwitch, or the Elektron’s Overbridge software itself.

@martibs, I haven’t got much feedback so I hope you don’t mind if I ask a couple of things. Did you manage to run Overwitch? Is it running nicely enough to be useful for you? Did you need any special configuration on your system? I’m just curious about this.

TIA.

2 Likes

I’ve only gotten around to do the most basic of testing so far:

  • Set up jack with the suggested buffer settings (128/3)
  • Run jack, Ardour and Overwitch with real time priority
  • Route the main outs from Digitakt to the system playback device

Which works, ie. I get the sound from the main out via jack to my speakers, nice and clean. I didn’t get around to routing it into Ardour yet.

This could definately be a game changer for me, as it would free up 2 stereo pairs (I’ve got a Digitone as well) of inputs on my 8 input channel audio interface, and make multitracking much easier. I would need to restructure my workflow though, such as switching from direct monitoring to monitoring through the DAW, so it could take some time until I’m able to provide more detailed feedback.

But a big thanks to you and everyone else who makes this possible!

4 Likes

This seems really neat. Two questions which might already have been answered, but I’m not really sure about the answers:

  1. Can you use two (or even more) devices at the same time?
  2. Is it possible to record the multitrack output somehow? dtdump hasn’t really been updated to support the whole suite of Overbridge II devices, and I’m not sure if they would work in conjunction anyway.

Basically, I have two devices (AR mkII and A4 mkII) hooked up to my Raspberry Pi and I would like to both output the sound to my speakers and be able to record files for later export to a different computer. Would this be feasible at all?

It’s funny because I’ve just pushed some code to include support for all Overbridge 2 devices.

Yes. You just have to run as many instances of Overwitch as you need.

Of course, that’s exactly the purpose of Overwitch: multitrack recording of Overbridge 2 devices thru JACK.

Overwitch, shares some code with dtdump BTW. In fact, it’s based on all the reverse engineering done by @droelf and he’s acknowledged as an author of some parts of Overwitch. I’m telling you all this because I’m afraid dtdump development is in hiatus. Perhaps, he could throw some light on this.

Yes, it would be feasible but it depends on how you route the audio tracks thru JACK and on the application that you want to use to record and play such audio.

I use Ardour but it’s a fully fledged DAW and I don’t know know exactly what you have on mind but sounds like you’re after a smaller setup.

Please, let me know if you manage to make it work or if you have other questions.

Edit: Typo.

3 Likes

Nice! I’ll try it out and report back how it went. Basically, I would just like to record via the terminal (as is the case for dtdump) . The less fancy, the better :slight_smile:

Okay, I’ve managed to install Overwitch and list my devices as so:

$ overwitch -l
Bus 001 Port 001:003 Device 057: ID 1935:0010 Analog Rytm MKII
Bus 001 Port 001:002 Device 056: ID 1935:000e Analog Four MKII

However, when I try to actually use one of them, I get and error.

$ chrt -f 35 overwitch -d Analog Rytm MKII
ERROR:jclient.c:599:(jclient_run): USB error: can't open device

I notice that this is the same error that I get if I just put some random letters after the -d option, so I don’t know if this simply is me not being able to specify the device name correctly since it contains spaces. I’ve tried several different workarounds without any luck, for example:

$ chrt -f 35 overwitch -d Analog\ Rytm\ MKII

and

$ chrt -f 35 overwitch -d "Analog Rytm MKII"

so maybe that isn’t the problem.

Definitely, you need either the quotes or the backslashes. But there is something else.

The code returns the same error when the device can’t be opened and when the provided device name is not found, so perhaps it’s a permission issue.

But I think that there is a huge bug in the code. Actually, I’m sure but can’t believe it.

Line 524 should be continue and not break.

Can not test this now, sorry. Change that and let me know if it works.

BTW, you can use the -v option to see what’s going on.

2 Likes