Live performance setups, problems and possible solutions

If you ever wanted to perform live, then you may have wondered, how to go about it when you have different projects and you want to play them in specific or improvised order, and even blend between them. regular solutions involve either cramming content of each project into one, then figuring out what to use to switch between different contents of different projects, maybe de-activating and activating stuff. Or more realistically most people just bounce their stuff to loopable stem, leave few non resource-intensive FX and play with mostly audio clips from different projects.
But what if you do need to load entire project for each song, currently you would have to activate audio engine on different project, that you would probably load beforehand, before the whole set. still it can take considerable time. How would you envision a solution for this problem? Snapshot system could certainly improve approach with giant hybrid project, but what else could be missing? I haven’t really seen any elegant solution so far. Closest thing was Usine where it has workspace A and B, which can work simultaneously, so you could theoretically load 2 at a time, blend, then swap out A while playing just B, etc, but still there are some caveats and entire UI would freeze when loading another project, or even crash in worst case.

1 Like

Just sharing some thoughts about this

I think there’s no easy solution for this. I don’t know any other daw that has a good approach for this type of live setting. And I think bitwig gets it (mostly) right

Multiple projects vs one big projects where ‘songs’ are groups

At a glance having one big project for a live set doesn’t seem that bad IMO.
Bitwig allows to load an entire project from the side browser as a group (so the master channel would act as the group master when dragging a project from the browser to the current project).
This, in combination with being able to deactivate and activate groups allows saving CPU so one can have a pretty intense (in terms of number of devices and tracks) set, but if one group (or two if you mix between songs) are manageable by the computer, one should be good to go.
With this, one can work on individual projects (songs) and when the moment comes, you can create a new project for the live set, and drag all of the songs to that; activate the first group and as the set progresses activate following songs and de-activate. This manual management of group activation/deactivation is not super ergonomic and one could think a way of automating this (through extensions for example); but it depends on the type of set one is building.

BPM and time signature automation

Parallel to this issue is setting individual bpm and time signature for each song in a live set. Bitwig only allows setting this through the master channel (inside clips automation or in automation lane in the arranger). I understand the reasoning for this limitation. If bitwig allows setting bpm from any clip, this would allow for undefined behaviour difficult to solve with the UI (for example, what happens if you launch two clips that set different BPMS at the same time? what the actual bpm would be?).

Possible solutions

Since bitwig is extensible, there are already solutions to this bpm automation issue. I recommend exploring Bitx (I dunno why can’t link to github, but its easy searchable), which allows automating some actions through clip names (which become ‘commands’). There’s a lot of stuff that one can do (I haven’t explored the extension itself personally), including setting the BPM from any arbitrary clip.

Small feature (but niche) request

When activating a new group, this can cause glitches on already played audio, so transitioning between ‘songs’ is not flawless. Having an option for ‘slow activation’ that prioritizes audio stability over speed (basically, bitwig could take like 10 seconds to load a group/track but avoid any audio glitch, and can be toggled with an option)

2 Likes

now that’s what I’m thinking too, but at the same time I think Bitwig’s browser already works like that with patch live previews

My simple proposal for this topic, that might solve some troubles I have, is to simply let to specify a list of projects on command-line, so that one can prepare a shell script to run a show and load all specified projects, activating only the first one in the list. Then, Bitwig has a nice shortcut to “activate next/previous project”. This would be a simple and fast solution to implement, I believe. More advanced solution might prepare the project list using a GUI, but in the mean time an elegant “a la Bitwig” solution gets prepared, would allow to solve the problem, that is real for live players. My 2c.
Fabrizio

expensive solution for ability to smooth transition between loaded projects is to.. have 2 PC’s. even with that, idk what caveats may be with using Link or plain midi sync over network.
but either way, I think having a project load cue list file would be a good thing to start with

Yeah, I the command line solution seems neat. I use linux, so the possibility of automating stuff through the command line seems cool. I’m personally waiting to be able to run bitwig “headless” (so, without a gui, through the command line and just calling api methods to do stuff). This kinda already exists (try running bitwig-studio --headless in the command line), but there’s no documented way of using it (probably is used to test the audio engine separately).
I think a more possible feature request that would solve your issue would be being able to load a project through the API (this is not doable atm). That way you could have an extension that can load a file that describes the list of projects you want to load. I think this is a less niche thing than the CLI (which mostly linux people and some mac people are only familiar with)

1 Like

Ok… The magnificent @Sternenherz has given a valid solution for the project chaining:
running bitwig-studio from command-line as a background process, doesn’t start multiple instances of Bitwig: instead, if run with a project file as a parameter, it will load that project file in a new tab!!!
That’s just fantastic!
So, everybody thanks Sternenherz!!!

Fabrizio

Wondering the linux equivalent (and/or mac) for this. I did a quick test using xdg-open bitwig-project.bwproject and open the browser xD. But didn’t try harder. I don’t need that feature but if someone has a solution for other platforms it would be nice to share it here.

Glad that you got that worked out!