JACK2? Sorry my ignorance, it's been a while I abandoned Linux audio for Ableton on Windows with a focusrite Scarlet. Did they solve that JACK/alsa problem? Without running a2j in the background?
Which problem are you referring to? a2jmidi should work fine as long as you have access to the device. But in any case that should not be necessary anymore if you use pipewire, which should be able to manage all the devices at once.
The problem was that extra a2jmidi hoop adding a lot of friction to my creative process. Also I wanted to keep it on indefinitely to use it as an instrument, and a2jmidi would crash after a few days.
Also there was the night spent recompiling the right version of bison in the middle of Qsampler's dependency hell, so that I could have a piano sound. That was all in 2017.
I'm not sure what you mean extra hoop? You just start a2jmidi and then connect the device. Crashes would indeed be an issue, generally if you want to mitigate those, you would want to:
- Auto restart any important services (with systemd or similar)
- Use JACK/Pipewire session management
- Report the crash to the developers (of a2jmidi in this case, but it could be anything)
I honestly have never used LinuxSampler so I can't comment on that, I believe they have some strange licensing thing going on.
I have switched to Pipewire but last time I tried JACK2 there were tools that would auto-start a2jmidi for all available midi ports. This is trivial to do. If hotplug was a concern then someone could just write it to run based on udev triggers.
I don't run a2j or even have it installed so in my case it doesn't seem to be a problem. My audio production setup isn't highly complex FWIW but with the following configuration I have had no issues with audio or MIDI input and output. All of my devices are just plug-and-play for both Bitwig and qjackctl:
- Distro: Arch Linux
- Audio backend: JACK2 and PipeWire
- USB Audio Interface: Behringer U-Phoria UMC404HD
- USB controllers: Akai APC 40 mkii, Casio CTK-6200
- Microphone: Zoom H6
I run this exact setup on my Ryzen desktop and a Thinkpad T480 with no problems. I've also tried routing the audio output of various software directly into my DAW using qjackctl, works perfectly fine.
I kind of dropped out of Linux audiosome time ago. Can I ask why both pipewire and jack? I thought pipewire was supposed to implement most (all?) the stuff that jackd does.
Sorry, looking back at my wording I can see how that's confusing. You are correct. PipeWire replaces the standard JACK libraries with its own ABI-compatible implementations. This allows any JACK-compatible application to support audio through PipeWire using the same APIs it would normally use for JACK. This is also how PipeWire handles support for PulseAudio, ALSA and other multimedia libraries; it kinda reminds me of Wine for Linux audio protocols, if my understanding is correct anyway.
To use PipeWire in place of JACK, you have to install a specific package (`pipewire-jack` on Arch Linux) and run all of your audio applications using a wrapper command called `pw-jack`. You can update the `.desktop` entries for audio software on your system to automatically run this command; I've done that and everything I use launches correctly, tbh I forget that PipeWire is there. I just use Bitwig, qjackctl, Catia, etc. and they all think they're using JACK but really everything is being handled by PipeWire. Pretty kewl and it's been working perfectly for me for quite some time. :)