I’ve recently moved away from a DAWless set-up (I got sick of long standing bugs on Akai gear I now don’t have any faith will ever be fixed) and am attempting to use Bitwig on Linux along side my hardware. Linux Bitwig only has support for Raw MIDI so I can’t even route something from both Bitwig and an external controller to the same device, as each port can only accept a single connection in this mode.
What would be absolutely amazing would be something like your MidiHub software with a configurable amount of virtual MIDI inputs and outputs (or maybe even a fixed 16 could be good) which runs as a Linux program. Obviously it would only deal in virtual ports, being software only.
I have the MidiHub and I’m going to be able to work around some of it with that, but with only four USB ins and outs in going to run out of ports rather quickly and being via USB latency and jitter are likely to be far worse than it is was local software.
It’s this something you would ever even consider? About the only decent solution that seems to exist for Linux is mididings and that has no GUI and requires learning python to use.
You can use Bome Network to change routes to different ports. The routes are just not controllable by MIDI, they are part of the Bome Network interface.
Yes, like I said you can’t do anything except the MOST BASIC of the configuration stuff if you’re on Linux! I don’t know why you are basically rewriting this in argumentative language that implies I’m wrong or haven’t already said this myself?!?!
And I also don’t know why you are ignoring the fact that I’ve said twice I DON’T WANT A HARDWARE SOLUTION, I want to software to solve this. Latency and jitter from doing this over USB is terrible!!! Not to mention the unneeded expenditure!
Plus I could get a 100x more flexible option by simply buying a USB MIDI device for a fraction of the price, connecting that MIDI Out to an input of the Blokas MidiHub. Having to use the ethernet port for one of the MIDI ports really doesn’t make it any of a better solution than any other workaround, doesn’t solve the latency and jitter issue at all, and certainly is not a cost effective way to make this worse.
The best you could do right now is to send USB MIDI directly to Midihub and receive it back out immediately, without involving DIN-5 MIDI:
[FROM USB A] → … something something … → [TO USB A]
The USB MIDI timing of Midihub is pretty tight, and kind of at the limit of what USB can offer. For processing feats it should be good enough. Where jitter would matter is sending out synchronization messages like Clock, but you can keep those software-side only and use Midihub to route & process MIDI notes and CCs, etc… which are not strictly that timing critical.
Anyway, thank you for sharing your interest in a software only solution, it gives something for us to consider, however, at the moment we can’t promise anything software only any time soon, we have some mountains of work ahead of us already.
The issue with this is Bitwig on Linux only supports RawMIDI, which means a device can only connect to one piece of software and Bitwig would hog all four ports once connected, not allowing me to do the merge from other devices/software on the other ports.
Yes it’s Bitwig having only fairly single Linux support which is the real issue (and I don’t really blame them and give them massive respect for thinking about us at all.) There’s workarounds I can do within Bitwig, it requires manually mapping each CC I would have just merged otherwise, but I guess creating and saving some device chains for this is what I’m going to have to do.
I think there’s a solution for such cases using a virtual rawmidi device (virmidi kernel module), some info:
This module makes it possible to route midi data from apps that insist on using hw midi ports only. The virmidi module creates a virtual soundcard which only has 4 seq devices.
At a glance, this seems to enable rawmidi-based software to interface with the ALSA Sequencer and all of its software & hardware capabilities.
So you’d set up one virtual raw MIDI device for Bitwig, and then you should be able to connect to to Midihub ports through ALSA sequencer (aconnect or use amidiminder), or possibly use other Linux MIDI ALSA sequencer software if there’s anything suitable for you.
Thanks. That’s something I’ve been meaning to look into too. Read a lot of people have issues with stability and disconnecting on any change and kinda forgot to even try it for myself.
When MIDI devices get disconnected and reconnected, you have to aconnect them again, but amidiminder solves that as it monitors for changes and applies all the connections defined in its rules config file automatically, so for best stability, pair virmidi with amidiminder.
So anyway, I think virmidi + amidiminder combo should work out well. Let us know if you hit any issues, I’m pretty sure we can figure it out.
I’m not a MIDHUB developer. I’m just making alternate suggestions based on what I know that is out there and exists today. If you are not interested that is fine.