This information is almost a year old. Some changes have happened since in my setup. I’ve cleaned up scripts and the install process on a fresh install of KDE neon. Soon there will be a series of youtube videos on how all this works and how to put it together. Installing the repos, configuring jack with the pulseaudio bridges, and a simple tutorial on using carla to connect all your audio apps together.
All the fancy bits with non-mixer and mididings will be separate. I’ve also started using TouchOSC with my smart phone to control non-mixer. So much content to make.
This is the start of documenting the bits and bobs of my Linux audio setup. Just a teaser.
Audio Interface = Behringer UMC404HD
MidiInput = KorgNanoKontrol2 ( You will need a windows box/VM to do some basic config on the midi controller. )
OS - KDE Neon (Ubuntu 16.04 base) Default Kernel. https://neon.kde.org/
cadence ( Jack setup )
carla-git ( Patchbay and FX racks )
non-mixer + mididings ( For using NanoKontrol2 to adjust software audio levels )
…and 2 handy scripts for loading all the things in order and setting up the midi - OSC server specifics for Non-mix with mididings.
So heres the how to. Not for linux noobs, nor is this a 1 click solution. This is my system built on these sofware tools.
Get your Ubuntu 16.04 based install of choice. I think most of these packages are available in the AUR for those on arch I prefer Neon Your miles may vary when adding these repos.
Add the kxstudio repos - http://kxstudio.linuxaudio.org/Repositories
Install the software.
$ sudo apt install cadence carla-git non-mixer mididings pulseaudio-module-jack guitarix -y
Configure Jack in cadence.
USB interfaces should use ALSA.
Make sure you use realtime priority and set that number to 90+ to make sure jack audio server gets those CPU cycles it needs.
Server Synchronous Mode helps prevent xruns.
Select the highest sample rate possible. This will give you the best audio quality possible and give lower latency. The buffer size will effect latency most. Xruns happen when the buffer runs out or over-flows. Adding extra periods per buffer will add stability ( reduce xruns ) at the cost of latency.
Configure Carla and pulse jack bridges for application iO. ( mumble as an example )
Open carla and a terminal. Use these commands to create bridges with the pulse audio. Look at the screen shot above to see the different bridges I have created.
$ pacmd load-module module-jack-source channels=2 source_name=mumble client_name=Mumble-IN connect=false
$ pacmd load-module module-jack-sink channels=2 sink_name=mumble client_name=Mumble-Out connect=false
You can also unload modules if you need to clear things out. I use this in my startup script for tidiness.
$ pacmd unload-module module-jack-sink
$ pacmd unload-module module-jack-source
These will show up in your pulse audio settings menu as new audio devices for playback and recording.
They will also be available in mumble for selection…
non-mixer & mididings setup. http://non.tuxfamily.org/wiki/UsingMidiWithNon
This is optional but is handy because non-mixer allows you to use its interface as a mixing console. The only trick is that it does not accept midi. You have to use mididings to convert midi to OSC. This is pretty easy ( but time consuming ) once you get the hang of how mididings works. Uses a python script and listens on a high number. When you add faders on non-mix it will automatically show up in the carla patchbay.
My script. http://pastebin.com/T1RdAaBW
Putting it all together. http://pastebin.com/7s3QqrK2
Save your carla and non-mix configurations and the scripts in a single directory of choice. Save and save often. Some times carla and non-mix can freeze or crash when starting and stopping the jack server. I recommend closing them and killing mididings when restarting jack. Look at my scripts and notice that everything has an order and place to be brought up. Comments and feedback appreciated.