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.
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)
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)
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!