Live Keyboard rig - Carla and Jack_Mixer

Support & discussion regarding DAWs and MIDI sequencers.

Moderators: MattKingUSA, khz

Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

Hi all,

I've learned so much from this board. This is my first time posting. Hope you can help.

I'm trying to setup a keyboard rig for live use running AV Linux 2017 on a Lenovo Thinkpad X230.

I have a MIDI keyboard where I can send on up to 8 MIDI channels simultaneously and have 8 sliders for MIDI CC messages. This works well for setting up layers and keyboard splits. I can also set values for various CC parameters.

Output is to a NI Komplete Audio 6 Interface.

I have a bunch of SFZ, SF2 and GIG files hosted in Carla. All this is working great.

I set up the Calf reverb plugin, and used Jack_Mixer to set send levels and route the signals.

Jack_Mixer also allows the option of assigning MIDI CC numbers to control volume of the FX sends. This is great, as I need different reverb settings depending on which patch I'm playing within the SF2 instrument .

Here's my problem; those CC settings are saved in the Jack_Mixer XML file, but they don't load. When I close everything down and then load it all up again all volume and balance controls for the sends revert to CC0. And I can't edit them manually; I have to go through each one and have Jack_Mixer relearn them by moving a slider.

If I launch Jack_Mixer from terminal I get;
"Cannot load LASH python bindings, you want them unless you enjoy manual jack plumbing each time you use this app
Cannot load Python bindings for GConf, your preferences will not be preserved across jack_mixer invocations"

Can anyone help? Is there an easier way to do this?

Many thanks

Breezy
User avatar
bluebell
Established Member
Posts: 1910
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by bluebell »

I learned that jack-mixer doesn't restore everything, e.g. the Monitor-buttons. Maybe you have bad luck and have to do the programming by your own or ask the author.

Maybe you can use simple LADSPA amp-plugins (mono and stereo available) within Carla instead of jack-mixer.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

Hi bluebell

I see from your other posts that you've been looking at ways of doing something similar, so thanks for taking the time to reply.

I can't find a way to do what I need with LADSPA plugins. Maybe I've misunderstood you. The issue is being able to control the FX send level via MIDI.

I was looking at using non-mixer together with the suggestion in the documentation to remap MIDI to OSC to control fader levels. But that will take me some time to investigate.

Any other suggestions welcome in the meantime.

Thanks
User avatar
noedig
Established Member
Posts: 233
Joined: Wed Feb 12, 2014 4:39 am
Location: South Africa
Has thanked: 9 times
Been thanked: 52 times

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by noedig »

You could replace jack_mixer with Ardour with a track per instrument and all track outputs sending to Calf Reverb, then learn MIDI CC to the Ardour track volumes.
You'll have to connect your MIDI CC output to the Ardour MIDI Control input, and enable generic MIDI control surface in Ardour preferences. You might also want to set "smoothing" to 127 in the control surface settings in order to prevent Ardour from ignoring big/fast CC movements.
Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

Thanks for the detailed instructions. That's an interesting idea.

I did a gig last month where I used Ardour to do something similar to this. I ran a stereo audio track plus a click so the band could sync with it. Then 4 midi tracks for 4 sf2 instruments that I played from a basic midi keyboard. I couldn't switch midi channels on that keyboard so I automated the mute states of those tracks so only the instruments I needed were audible at any time.

So it wasn't as refined as your suggestion, but it worked at the level it had to. It was a bit fiddly to set up, but I could work with that.

That experiment was actually the thing that made me look at moving from my rack of ageing Roland & Kurzweil synths and Akai samplers to a software based solution.

There were 2 reasons I was exploring Carla as an alternative to Ardour.
1) because we were working with a click there was some noticeable latency, at least to me. Although maybe that's a problem with my settings.
2) I'd like to use some Gig and Sfz instruments as well as sf2. So I'd need to either use Linuxsampler or Carla as a plugin in Ardour anyway.

I didn't have any stability problems with the Ardour system once I'd set it up, and I know my way around it reasonably well having previously used it successfully to record. But my aim in moving to Carla as the host was to make the setup less complicated, not more. I've also felt that latency in the Carla setup is considerably less than I experienced previously.

Anyway thanks for the suggestion. It absolutely makes sense, much more so than trying to get my head around OSC controllers... I'll give it a go at the weekend when I'll hopefully have some time to set it up.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by milkii »

The error messages advise the "LASH python bindings" and "python bindings for GConf" are missing. You might want to install those. There should be a package available.

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

Thanks milk.

The GConf error was an easy fix. But it doesn't solve the problem; jack_mixer settings still don't load.

As I understand it LASH is no longer in use. Maybe that's the issue; elements of jack_mixer no longer supported. But it's not audio or MIDI connections that cause jack_mixer not to load internal settings. It might explain another issue though; that aj-snapshot won't load the session. Although that's probably caused by the jack_mixer settings not loading too.

Thanks anyway.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by milkii »

So I thought I'd try myself. I'm on Arch. The jack_mixer in AUR is out of date as gna.org has gone offline, so I cloned https://github.com/relascope/jack_mixer, ran the fixes from the AUR PKGBUILD and installed (and manually fixed the malformed hashbang in jack_mixer.py..).

On Arch, the lash bindings come in the lash package (usr/lib/python2.7/site-packages/lash.py), which I already had installed.

I started jack_mixer, changed the meter scale preference, quit, reloaded, and no change, so I installed python2-gconf, retried and the preference had saved.

I then patched vmpk into jack_mixer in catia, used the jack_mixer MIDI learn function, saved the mixer, quit, reopened, loaded the mixer, and the MIDI CC bindings were those that were learned.

Or is that different to what you're trying to achieve?

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

No, that sounds exactly like what I'm aiming for!

I can't find a way to install the lash bindings on Debian. liblash-compat is installed but I still get the error message.

Thanks for the walkthrough. I'll have another go at the weekend.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by milkii »

is the file /usr/lib/python2.7/site-packages/lash.py provided by that package? you may wish to try out apt-file.

http://archive.debian.org/debian/pool/main/l/lash/ - python-lash i guess (?)

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

I've no background in software development or system admin. So while I'm happy following instructions using CLI, tracking down and enabling repositories etc I have minimal actual knowledge. Consequently your suggestions and providing the link were just about the right level for me.

So I searched with apt-file, failed to find the relevant package and so attempted to install python-lash from the deb file. In short, I'm not experienced enough to fix the problems that throws up. I think your first post was probably on the money; fixing those 2 errors is key to solving my jack_mixer issue. I can't do that on my system, so I'll try to find another solution. Thanks for your help.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by milkii »

I could troubleshoot the error it throws up. Possibly the package is available in another repository.

Actually, looking at https://wiki.debian.org/DebianMultimedi ... .28LASH.29

"LASH is deprecated as well as ladcca, please use ladish. liblash-compat-dev provides a dummy support for LASH, it is only for backward compatibility."

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

I'd already tried liblash-compat-dev. Still get the same error.

When you did your trial did you edit the bindings on an input channel or an output? The inputs are fine. It's the outputs that default to 0 even though the changes are saved in the XML file. Which is pretty much what bluebell said in the first response.

I'll work through noedig's Ardour suggestion today and report back. The CPU load when using Carla as a plugin seems worryingly high for live use though.
Breezy
Established Member
Posts: 21
Joined: Mon Apr 09, 2018 8:57 am

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by Breezy »

I've had a go implementing noedig's suggestions. I just followed the instructions to the letter and it seems to do everything I need. I can control FX sends with a slider and the sf2 patch change messages seem to do what they should. Excellent!

My worries about the CPU load were unfounded. Things do get maxed out on my system when I have the Carla Rack open for editing, but in playback mode it seems to work well.

I tend to use cc7 to set instrument volumes, particularly when balancing layers/splits, and then use cc11 to control overall volume. The only current issue is that while sf2 plays nice with this my sfz files don't recognise that message. Not sure about the gig files yet. It might be editable within the sfz text file. If not I could map the Ardour master volume slider to be controlled by cc11 instead.

I'll try it out over the next few weeks and report back re stability. Thanks to all for the input.
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Re: Live Keyboard rig - Carla and Jack_Mixer

Post by milkii »

Hah, yes, same problem here.

Luckily it appears to be fixable with a copy paste hack.

File in question is channel.py (in /usr/share/jack_mixer )

The input and output channel classes have methods to realise/instantiate the settings.

Only the output realize method is missing the lines that set the midi details.

For the input channel class, those lines are 295-298. I copy pasted those to line 527, now jack_mixer recalls the details for both in an out on savefile load, and further, the test output channel GUI then actually moved on midi CC.

But if something else works, as you posted whilst I was typing this, yay :)

Edit: Note Ardour doesn't yet handle live jack transport tempo changes well (I went down the path of trying Ardour as a mixer/host).

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

Post Reply