run 5-6 channels of soft synths for every song (all controlled by MIDI controllers, no need for any MIDI or audio on Ardour tracks)
run my voice and guitar through two tracks in Ardour, with different setting for each song.
MIXING:
run each of the channels (synths, voice, guitar) through another, separate track with EQ, volume and reverb send. I would control this “mixer” with a small midi controller that looks like a traditional mixer with faders and pots.
The problem that I am facing is that the soft synths and guitar/voice processing need to change from song to song, while the “mixer” settings need to remain the same. Let’s say, I am playing the first song, during which I tweak the EQ and reverb send on my voice. I want those settings to be kept for the remainder of the live act.
I am thinking of two possible solutions:
Running two instances of Ardour, where one runs the sound sources, while the other runs the “mixer”. I guess they would be multi-channel connected through Jack. Then I can keep switching projects in the “source” Ardour instance, while keeping the “mixer” instance intact.
Having it all in one Ardour project, and then using Lua scripts per song that will delete any “source” tracks present, and load the required ones (as track templates), all the while keeping the “mixer” tracks intact. This solution allows me to run Ardour directly on ALSA.
BTW, I am planning to run Ardour-lua headless, so I will use scripting anyway, whether to load different projects or tracks.
Do you think any of these solutions would work, what are some Pros and Cons, and do you have another suggestion?
Thank you!
PS. I know I could achieve this by simply going out of a multi-channel sound card into a small analog mixer, and I am also considering that solution, which has a ton of pros, but I would like to try and keep everything minimal in terms of hardware bulk, cables, and setup-time.
None of my suggestions would involve Ardour at all.
Using BespokeSynth: It’s easy to setup a live MIDI/OSC controlled setup with it and you can also load plugins, beside the available internal modules. For different “songs” you can switch, manually, with MIDI/OSC messages, or even python scripting, your audio and MIDI routing as needed, by creating different prefabs (sort of container of modules/plugin) with your different processings and route them into your central “Mixer” prefab.
Using RaySession and Carla. With Raysession you can setup the MIDI and audio routing in a session and save your song setups in different Carla instances and switch between them, manually or by scripting/OSC. You can then route everything to a central Carla “Mixer” instance. Carla instance’s state and JACK connections are saved with the session.
Funny thing is - those two solutions are exactly how I started the process I spent months trying to make Raysession+Carla and then Bespoke run headless.
Raysession+Carla - Even though it seems like this combo was made to do exactly what I need, there are some hurdles that I couldn’t get through. There is a little window that Carla wants to open for a split second every time it is loading a session, and if the X is not running, it gets stuck trying to open it. I tried asking on forums if this is fixable, to no avail. There was one other issue, I don’t remember any more… Something with reliability of loading sessions.
Bespoke - I found a way to run it headless (with a dummy X server), and, when the virtual display resolition was set to 1x1 pixel, it actually ran much smoother than it runs with graphics. But it was still giving me a lot of drops with small (low latency) buffers on my machine - a strong desktop CPU from 2015.
It didn’t even occur to me to try Ardour, until one day I found out it has a headless lua version. I tried it, and instantly, it run way smoother than anything I tried before. Even the GUI version runs the audio smooth, but the headless version really excells on my computer.
Bespoke has a coolness factor though, and I’ll definitely keep an eye on it - its interface might be a great background if projected on a big screen
For headless there is also Bipscript, but since you’re already good with headless Ardour I’m not sure it would be more convenient to setup compared to your solutions.