JACK and Bitwig Midi Issue (possibly a bug)

Official support for: bitwig.com
Post Reply New Topic
RELATED
PRODUCTS

Post

This might be a question for a developer. It looks like a bug, but I am too new to bitwig to be sure.

Problem:
If jack is not running, then Bitwig can access the Akai Pad Controller and they work perfect together.
As soon as I start Jack and route Bitwig's output successfully through Jack there is no communication with the USB Controller anymore. This is seriously odd. Jack do not handle USB or interfere with it, so it can only be Bitwig and a big maybe alsa doing it. Alsa handles usb audio but was running anyway while the pad controller worked with Bitwig. It is only when I configure Bitwig to use Jack that I lose the Akau USB pad Controller


It seems to me that there is a problem in bitwig, that if the Jack audio option is selected in the preferences, then Bitwig forgets about USB Controller Pads.
It looks like a simple configuration Bug to me in the config.
There is no way I know Jack is going to cut off bitwig from USB controllers.

Thanks

System
$ cat /proc/version
Linux version 5.2.0-17.2-liquorix-amd64 (stevep@mxlinux.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)) #1 ZEN SMP PREEMPT liquorix 5.2-26~mx17+1 (2019-09-24)

$ cat /etc/*elease*
NAME="MX"
VERSION="18 (Continuum)"
ID="mx"
VERSION_ID="18"
PRETTY_NAME="MX 18 (Continuum)"
ANSI_COLOR="0;34"
HOME_URL="https://mxlinux.org"
BUG_REPORT_URL="https://mxlinux.org"
PRETTY_NAME="MX 18.3 Continuum"
DISTRIB_ID=MX
DISTRIB_RELEASE=18.3
DISTRIB_CODENAME=Continuum
DISTRIB_DESCRIPTION="MX 18.3 Continuum"
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

System:
Host: Kernel: 5.2.0-17.2-liquorix-amd64 x86_64 bits: 64
compiler: gcc v: 6.3.0 Desktop: Xfce 4.12.3
Distro: MX-18.3_x64 Continuum Dec 20 2018
base: Debian GNU/Linux 9 (stretch)
Machine:
Type: Server Mobo:
BIOS: American Megatrends v: 3.5c date: 03/18/2016
CPU:
Topology: 24-Core model: AMD Opteron 6234 bits: 64 type: MT MCP SMP
arch: Bulldozer rev: 2 L2 cache: 4096 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
bogomips: 115197
Speed: 2409 MHz min/max: N/A Core speeds (MHz): 1: 2409 2: 2438 3: 2404
4: 2420 5: 2420 6: 2448 7: 2409 8: 2426 9: 2430 10: 2425 11: 2400 12: 2410
13: 2404 14: 2429 15: 2407 16: 2401 17: 2403 18: 2435 19: 2414 20: 2435
21: 2403 22: 2418 23: 2420 24: 2408
Graphics:
Device-1: Matrox Systems MGA G200eW WPCM450 vendor:
driver: mgag200 v: kernel bus ID: 01:04.0
Device-2: AMD Baffin [Polaris11] vendor: Micro-Star MSI driver: amdgpu
v: kernel bus ID: 03:00.0
Display: x11 server: X.Org 1.19.2 driver: amdgpu,ati,modesetting
unloaded: fbdev,mga,radeon,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: Radeon RX 560 Series (POLARIS11 DRM 3.32.0
5.2.0-17.2-liquorix-amd64 LLVM 7.0.0)
v: 4.5 Mesa 18.3.6 direct render: Yes
Audio:
Device-1: AMD vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
bus ID: 03:00.1
Device-2: M-Audio M-Audio Uno type: USB driver: snd-usb-audio
bus ID: 1-1.3.1.1:11
Device-3: PreSonus Audio AudioBox 1818 VSL type: USB driver: snd-usb-audio
bus ID: 1-1.3.2.5:27
Device-4: M-Audio MidiSport 1x1 type: USB driver: snd-usb-audio
bus ID: 1-1.3.1.2:18
Device-5: AKAI Professional M.I. type: USB driver: snd-usb-audio
bus ID: 1-1.4:33
Sound Server: ALSA v: k5.2.0-17.2-liquorix-amd64
Network:
Device-1: Intel 82576 Gigabit Network vendor:
driver: igb v: 5.6.0-k port: d400 bus ID: 02:00.0
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-2: Intel 82576 Gigabit Network vendor:
driver: igb v: 5.6.0-k port: d800 bus ID: 02:00.1
IF: eth1 state: down mac: <filter>
IF-ID-1: eth2 state: down mac: <filter>
Drives:
Local Storage: total: 10.19 TiB used: 490.18 GiB (4.7%)
ID-1: /dev/sda vendor: Seagate model: ST4000DM000-1F2168 size: 3.64 TiB
ID-2: /dev/sdb vendor: Western Digital model: WD10JPVX-22JC3T0
size: 931.51 GiB
ID-3: /dev/sdc vendor: Maxtor model: 6Y200M0 size: 189.92 GiB
ID-4: /dev/sdd vendor: Western Digital model: WD60EZRZ-00GZ5B1
size: 5.46 TiB
ID-5: /dev/sde type: USB model: KlenTech Tools factory size: 4.0 MiB
Partition:
ID-1: / size: 95.62 GiB used: 36.28 GiB (37.9%) fs: ext4 dev: /dev/sda9
ID-2: /home size: 960.23 GiB used: 453.90 GiB (47.3%) fs: ext4
dev: /dev/sda10
ID-3: swap-1 size: 32.00 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda3
Sensors:
System Temperatures: cpu: 35.5 C mobo: N/A gpu: amdgpu temp: 34 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 1117
Info:
Processes: 485 Uptime: 3h 48m Memory: 31.41 GiB used: 9.10 GiB (29.0%)
Init: SysVinit runlevel: 2 Compilers: gcc: 6.3.0 clang: 3.8.1-24
Shell: bash v: 4.4.12 inxi: 3.0.33

Post

I've had a similar problem with my Nektar Impact controller. To get it working, in Jack, in settings, parameters tab, make sure midi driver is set to none. Bitwig uses ALSA midi and the other midi settings Seq and Raw are for other apps like Non Sequencer and Sequencer 64.

Post

Thanks a lot johnnyboy5000 I appreciate it:
It would be nice if you can remember which config that was.

To be accurate Which Settings are you talking about. Jack config files or Settings options in Bitwig ?
I could not find such a setting in Bitwig.

Can you be more specific which program for, and where
these settings you mention are. It will help me a LOT!

AFAIK, Jack doesnt handle any usb midi and that is something ALSA does. So are you meaning Alsa config or Bitwig Config.

I just want to be sure before I bork something just trying.

Thanks

Post

lots of liquorix today :) but anyway, make sure a2jmidid is installed, straight ALSA here only, li'll rusty :)
Bitwig's settings when using Jack, check input busses, it is not only audio inputs, more stuff then meats the eye if you check inputs there if, is all is setup good :)

Post

OMG, I meant to say in qjackctl make those changes. You could also do it Cadence if your using that.

Post

The real problem is that Bitwig *requires* that it is the *only* ALSA MIDI Connection to your Controllers. If there is any other connection to it, it might appear in Bitwig but it won't work at all. Tools like `aconnect -l` or `aseqdump -l` will show all the existing Connections.

In this case, the JACK MIDI Driver needs to be "none" and you should not be using the a2jmidid (which would make an ALSA MIDI Connection and "bridge" that into a JACK MIDI Connection).

Another recent issue on Linux is PipeWire: it immediately makes a connection to every type of device that it likes - in this case all the MIDI Controllers - and there doesn't seem to be a way to stop it from doing that aside from stopping the PipeWire Services.
Creator of Bitwiggers, the place to share Bitwig Presets.
Advocate for Bitwish, the place to vote on Feature Requests and discuss Bitwig.

Post

smajjL sth and johnnyboy5000
Thanks to all of your responses: I will dress them in combination as they overlap.

I dont use qjackctl as it never helped me and rather use cadence and needed jack strings and such from CLI. I have no problem trying it, but my system worked for more than 18 months starting Alsa Jack Pulseaudio by other means.

Trying qjackctl, I notice off the bat that ALSA midi driver was set to sequencer (seq)
(*Do you all mean ALSA MIDI when you speak about Jack MIDI ?*)
I hardly ever come accross Jack midi drivers that can be configured.
Where is that jack midi driver config ?

Second of all I get the following in Options in qjackctl.
Execute Script After Startup as /usr/bin/pajackconnect start && a2jmidid -e &

So clearly after the advice from sth, it should rather read
/usr/bin/pajackconnect start

I dont use qjackctl as it never gets things working and never need to execute pajackonnect.
I start jack with a string
/usr/bin/jackd --sync -P80 -ndefault -dalsa -dhw:VSL -r441
Taylored for my interface and it works fine and then start pulseaudio from CLI and then just press start in Cadence which creates the necessary Syncs in Pulseaudio and everything works flawless after that, except that tghe Akai apc controller pad controller goes missing and Bitwig cannot find it. Everything else down to the most complex routing works flawlessly.

As already mentioned, if I dont start Jack then Controller Pad works with Bitwig so there is nothing wrong with either Bitwig or the controller hardware. Trouble starts when Jack is started.

In Cadence I turned of Midi driver in ALSA to none, but there is no Jack Midi driver anywhere to be found that I can turn off in either qjackctl or cadence. What am I missing ?

Are you sure you dont mean Alsa Midi Driver ?

Post

Success !!

The controller lighted up but it took two plugs and replugs to get it recognized.

So what did it was to disable the alsa Midi driver as you wisely explained to do.
This might put the cat among the pigeons for my extensive midi system, which I disconnected just to get the Bitwig/Pad stuff to work with Jack.

I must remember not to start qujackctl for any reason as it might by default just start the alsa/Jack midi bridge again as I found was present in the startup- script. My command line startup procedure works great and I stick with it.

I will have to contact the USB subsystem developers to find out if there is a more fundamental way to restrict a certain USB device for an application uniquely. It must be possible to do this more fundamentaly at USB driver level than to completely give up your Alsa Midi driver.

I cant thank you guys enough. Now that I know what Bitwig requires it was easy to figure out the problem.
Next I move to add in the other midi controllers without using Alsa Midi Driver. I will take those problems up on the other relevant ugs if needed.

Bitwig is quite an addition to my system. I cannot be happier and it is worth every cent it costs.

Please just clear up the Jack midi issue I questioned above as there seems to be something I dont understand.

Thanks again.

Post

I also use Cadence, so I can clear things up there perhaps. In Configure > Driver > ALSA > Misc > MIDI Driver, that should be "none." That is the same thing you have been seeing elsewhere, and you're right that it's mostly an ALSA configuration. Also, in the main Cadence window, in JACK Bridges > ALSA MIDI, "Start with Jack" is unchecked and that Bridge is not running.

I don't use that manual startup command, nor do I have any other file-based configurations, meaning that it's entirely a Cadence-based configuration. In effect, I have the same thing as you, with just a different configuration method. When you had the a2jmidid in your startup command, you essentially were doing the same thing as the "Start with Jack" option, but manually.

Cadence and jackd start at login, and since neither JACK nor PipeWire are set to do anything with MIDI, the startup order of JACK, Cadence, or Bitwig do not matter; the MIDI Devices have no Connections until Bitwig.
Creator of Bitwiggers, the place to share Bitwig Presets.
Advocate for Bitwish, the place to vote on Feature Requests and discuss Bitwig.

Post

Thank you for clearing up the discrepancy and what i did not understand.
So it definitely is not a bug, just the way Bitwig works which is Understandable.

My problem is solved understanding why this happens. Unfortunately it seems all my other Midi connections now became inoperative so I will have to figure out how to make this work with Alsa/jack midi or a completely alternative midi routing option for the remainder of my midi gear.

Just some info:
After some testing it seems the situation is as such: a2jmidid if running will not interfere with the controller pad in bitwig IF the alsa midi driver is deactivated. In that case midi hardware will just not be sent through to jack. So you can use aj2midid although its function will be bogus without the driver. This understandable, but makes things easier not having tio shut down a2jmidid when Bitwig is started. Only alsa midi driver deactivation is necessary


To any developer reading this thread:

If any developer is reading this, maybe it is a good idea to inform the user if aj2midid is running passing through hardware midi when Bitwig starts, in order to avoid this problem on Linux that the controller pad is not recognized by Bitwig, or have a checkbox in settings allowing the shutdown of aj2midid/alsa midi driver as a config option as it is clearly fundamentally needed for operation of Bitwig. If you ever find a solution for bitwig to coexist with a2jmidid with midi alsa driver activated, please let me know. It is really quite a problem having to stop all your alsa to jack midi passthrough just because you want to use Bitwig with a controller pad. It is a pretty serious "either or" situation which is not really workable on Linux as you have to give up all your other midi devices routed through jack just to use Bitwig with a controller pad.

Post

Or: just implement jack midi already!
It's super annoying to have to create virtual midi ports just so I can interact with any other software and devices at the same time.

Lack of proper midi implementation in bitwig is one of the main reasons I don't use it (the audio stack isn't all to great either, but somewhat usable at least).

Post Reply

Return to “Bitwig”