Freeze Tracks to save CPU

Ability to freeze, i.e. bounce and unload, tracks with a single click.

What problem(s) would this feature resolve?

It can be necessary to bounce and unload tracks to reduce CPU load. Other DAWs offer a one click solution for it while Bitwigs workflow is more clumsy.

How does this feature fit in Bitwig as a product?

It fits in the streamlined workflow of Bitwig.

Is there already an alternative way to achieve this on Bitwig?

Yes.
One can right click on a clip and select bounce. This then creates a new Clip that gets placed on a new track as default. One can then deactivate the old track.
Functionality wise this is similar to a freeze function but has disadvantages workflow wise.

  • If placed on a new track one has an additional track, decoupled from the original track.
  • If placed in the clip launcher one has an additional clip.
    In both cases this can get messy easily when freezing and unfreezing multiple tracks multiple times.

Could it be implemented using Bitwig components or APIs, without Bitwig team’s support?

In theory an API script should be capable to do a clumsy workaround. Saving the original midi clips somewhere far out of sight on the timeline or in the clip launcher and deactivating the track.

Could it be provided by a VST or something else reasonably integrated with Bitwig?

Since this requires the permission to change clips on Bitwigs timeline, no.

Are there other products that offer this feature?

Most DAWs do. For example Cubase, Ableton or Logic.

1 Like

If the problem is CPU, does deactivating the track (in the inspector channel) help you? This way you free CPU immediately and then you can always go back to the track and keep working on it.

Basically, people should bounce clips and tracks whenever they feel they are done with then, not under pressure and in a rush.

Yes as described in the workaround this works.
Yeah in an ideal world, one would only bounce once ready to commit, but in reality CPU can be a problem. Forcing one to have a high Buffer Size and Latency. This is ok for most synth parts and sounddesign but not when recording and monitoring, where one would like to quickly freeze the track.

2 Likes

@JakeX Moved to #features. Sorry for the delay!

1 Like

Isn’t it more steps to bounce and deactivate a clip right now than doing the right click freeze like in Ableton? I think freeze would be cleaner (less tracks) and maybe be less clicks. Please correct me if I’m wrong.
I’m not saying bounce should be elimnated but that freeze would also be a nice feature, and faster / cleaner for people that are doing it for CPU purposes.

Here’s a strong example. What if you do a multitrack selection say 10 tracks. In ableton you could simple select them and click freeze tracks. In bitwig what would you even do? Would it bounce and create 10 new tracks, and then you would have to deactivate those previous tracks. Idk maybe you could deactivate with the multiselect? But still you have a lot of new tracks. This seems like a pretty cluttered workflow.

1 Like

Logic Pro is also providing the “freeze” feature and it’s not only free the CPU but the RAM too.
Very usefull when using big orchestra libraries that require a lot of RAM

A freeze function should also include hidden files that provide the data necessary for sidechains linked to devices that are to be deactivated so they continue to function once the track has been frozen.

The current workaround is to bounce to a new muted track of the output of the device before bouncing the entire track and selecting it manually in the sidechain source. Yet keeping track of all sidechain sources is prohibitively complicated during the creative process.

I actually prefer it bouncing to a new track ( bounce or bounce in place), however, there should be an option to hide the original track. When bouncing many tracks the project can become cluttered quite easily and hidden tracks resolves this beautifully ( It works great in Pro Tools, so I know it can work here). The thing I do not like about frozen tracks is that there is no way to tell, before un-freezing, whether or not the track is using an older incompatible or missing plugin. This has caused me much grief in the past when using Live because re-loading the project did not always re-load the frozen track.

100% agree, I have a couple of plugin which have an issue with Bitwig (Output Portal and Movement) and so every track I use them on needs to be bounced to Export properly, I export my tracks at least a dozen times during production (I maybe export 100 wavs a week from Bitwig) and this means that I need to stop, add some silence Clips to each clip to allow for reverb tails, bounce EACH clip on EACH track, deactivate all the original tracks then Export. Then revert back. 100 times.

My previous DAW Reaper has a Freeze function, one click and the entire track is Bounced In Place, but you can undo and revert to the original with another click.

1 Like

If bitwig did implement this, to one up Ableton they could allow the freezing of groups. I see dozens of people asking for this all over the internet. For me personally this would be amazing since I mostly operate in groups and to very quickly pause CPU usage and stability issues from a bunch of plugins in groups would make projects so light while I work in other groups.

Also this could be used to identify what group problem plugins are in potentially if you have big projects.

1 Like

The Bitwig steps for freezing a full track (to save CPU, e.g. when you start miging) is:

  1. Zoom out and select the whole track length in the timeline
  2. Use Bounce, pre fader
  3. Copy Volume and FX send settings to the second track
  4. Fix color and name
  5. Check all sidecain sources (!) in the whole project (!) if it is using the track that’s going to be deleted
  6. Fix that sidechain sources to the bounced one
  7. Delete the original track
    → Now the CPU is free

That’s ok, except step 5. It is very error prone. It leads to a situation, where I avoid using the tool “dynamic”, despite it’s so great to volume sidechain any stem to another stem.

With the potential of becoming the best DAW some day, if not today allready, I highly suggest adding a freeze feature. If you want to top Ableton, allow to add FX on top of the frozen track. That would be awesome.

The important feature requests are:
1) Freeze a whole stem (incl. FX chain) with one click of a button
2) Preserve FX sends and sidechain routings that go out of the track main output (e.g. when other tracks’ instances of DYNAMIC source the track main output. I use it all over the place. It’s a key asset of Bitwig).

**The use case is: **
- Save CPU and also DSP (UAD). When I start mixing, I don’t touch anything anymore, I want to have a bounced environment.

We don’t need another Fluffer+, and at least I don’t use Bitwig as an instrument. The DAW functions have highest priority for me (KANO model). The basic DAW features (like using arrows after pressing ctrl+d, freezing tracks etc.) are the entry ticket to win and hold me as a user. When this is tidy, you can still create Fluffer+ (which I might not use, but I do use the DAW basic functions. These have to be solid.)

Thanks in advance.


Implementation ideation:

Within the current philosophy:

  • Allow “bounce in place” by right-clicking at any + junction and at the end of the chain. (The default now is after the first synth or after the sample, flexibilize this)
  • Grey out all devices after bouncing
  • Allow adding further devices after the greyed ones (OMG feature)
  • If the project sucks data from any of the junctions that get lost (grey): Either just list the junctions somewhere (not only a pop-up, I need to look it up and work through it). Or even have more than one bounced tracks. One for each junction.

Or what the customers are asking for afaik:

  • Just one freeze button or context menu, that has the name “freeze”.
  • It freezes the whole track.
  • Sources (like DYNAMIC) that are linked to the track, which is the case in 99% of the user actions (at least for me), will still be working fine
  • In the rare event, that somebody joined something into the chain, see above

For simplicity, intuitiveness and usabiliy, I’d add the freeze thing (idea 2), and not the bounce anywhere (idea 1). Call it “freeze” and everybody knows what it is. Support the 99% case where sends (FX sends, or sidechains like DYNAMIC) are taken from the track, and not from somewhere in beween. Ignore the 1% case for now (maybe warn/list). And, for a WOW, allow adding more FX behind the frozen stuff. People will melt away, believe me.

Just stating that this is subjective. Other Bitwig users will welcome new effects devices and not care about freezing tracks, and that’s ok too. :slightly_smiling_face:

New Bitwig user here, and I’m giving this my vote. Coming from Reaper where I tend to use a lot of tracks using complex sample-based library plugins, so there I often freeze and un-freeze tracks to free up memory + CPU, by simply clicking on a button. Reaper remembers all data of the plugin and MIDI on the track. I’m baffled that this feature doesn’t exist here, and I agree it’s a must-have.

most bitwig users seem to think bouncing and then selecting all plugins on a track then disabling them is the same thing.

It’s more cluttered because it creates new (extra) track lanes causes the user to do more organization tasks. Then if wanting to modify the processing you have to delete the bounce track and do the whole 4 steps again.

Where as with freeze you just right click freeze, no extra tracks, you can then unfreeze make changes and freeze again without all the extra steps each time.

To most bitwig users: It’s not the same as bounce, bounce + disabling devices is slower by a lot, and if you have to do this more than once in a project the entire process gets exponentially longer.

I hope that is clear

1 Like