This thread is only about feature/functionality requests regarding workflow in massive projects that cannot be kept in RAM or even played back in realtime without extensive workflow optimizations/adjustments.
Some background: I generally work with projects that require 60-200 tracks. These tracks usually contain: 40% EWQL diamond grade patches (I’m forced to stay away from the Powerful System patches due to the workflow becoming insanely slow when constantly loading and unloading 2-4GB patches), 40% synths (mostly Komplete and U-He) and 20% percussive tracks. I employ a great deal of effects, usually numbering around 200-600 in any given project. About half of the effects are CPU-heavy (Ozone).
My specs are pretty okay for a home system - 24 GB RAM, i7 960 (4 cores, 8 threads) and 500 GB of SSDs + another TB or so worth of HDDs. I think this is a relatively realistic system for a single-workstation setup on a moderate budget that people can be expected to have. However, this computer is nowhere near enough to being able to handle the projects I work on in realtime.
As such, I’ve painstakingly developed (and continue to do so) a workflow that would allow me to:
A) minimize the number of tracks in a project by using a relatively high number of send busses and fx-branching
B) keep things running without audio drops as best as possible (lots of bouncing and working on single instrument groups at a time, much of the time in two or more passes)
C) optimize CPU load distribution (a single instrument with 8 effects loaded can make a difference between playable and not playable when all effects are active - overload one core and the track won’t play)
As such, I have a very genuine list of feature requests that for the most part seem relatively easy to implement. These would simplify workflow on all large projects (I will add reasoning where required to really show how these adversely affect workflow):
Add a bypass switch to most tracks
- add BYPASS switches to all tracks on the editor instrument bars (these would bypass all instruments and effects entirely - much of the time effects trails aren’t needed and a single-click solution would simplify load leveraging A LOT). This should also apply to group/folder tracks. While bypassed, the track can remain silent, even if frozen (otherwise this would double as an insert bypass switch)
Separable output routing for instrument channels
- add separable output channel routing to instruments (this exists for instruments loaded into the VST rack, but not for instruments loaded directly into instrument tracks). Many patches nowadays include 4 (or more!) mic positions that could be treated separately (I’m not even talking about multi-instruments, which are performance killers to start with due to limited CPU load leveraging). Working with the VST rack is a pain and does not outweigh the effort in terms of versatility.
A more comprehensive and dynamic freeze system
- allow freezing send targets, eg GROUP and FX tracks that consolidate everything down the chain (for me - I usually route most instruments to 2-4 FX tracks EACH, which combine different effects to optimize CPU load, which are then routed to a group track that possibly adds some final touch-ups; these routings generally apply to instrument groups, eg legato strings, each layered synth, each percussive group, etc). Being able to freeze/unfreeze a group of instruments using a single click would speed everything up IMMENSELY
Allow exporting complex presets with routing data
- allow exporting large presets for components that include fx (!) and group tracks. Multi-track preset export is fine as long as the tracks are self-contained, but becomes useless if the audio is routed in any way. Templates are a way around this, but working with a master template is painstaking and takes a lot of time to set up and maintain. Being able to export presets for instrument groups with respective fx, folder and group channels would allow a far more modularized and dynamic workflow. For this to work even better, presets should optionally not load sample data automatically for instrument channels, but rather start in a disabled state so the composer has full control over what and when to load. For instance a group of light legato string patches can easily be 15 GB across 10+ tracks. If each of these contained effects, only a few of the tracks would be playable at once - by deferring most of the effects to 3-4 fx channels, this can be eased quite a bit, but becomes a nightmare to port from one project to another.
Indicate whether instrument is loaded into memory or not
- indicate in some way on the UI if a frozen instrument is loaded into memory or not. The reasoning behind this is quite simple: while getting SSD-s is increasingly more affordable, some mass storage still needs to be in the form of regular HDD-s, which net really slow loading times. Disk load balancing suggests separating large libraries on multiple disks anyway and as such there are always patches that are played off of slow disks and as such take a lot of time to load (mind you - I don’t have an issue with playback, which is up to individual disk setup, but initial load times, which can take up several minutes for large patches and amount to a LOT of lost work time when having to constantly throttle them in large projects!). Hence it’s more efficient to keep select patches loaded in memory even when the tracks are frozen. However, when the RAM runs out and you start working on entirely different parts of the piece, it’s good to see at a glance which frozen tracks can further be unloaded memory. Being able to load/unload instruments that are frozen would be nice as well as it would avoid having to re-freeze the track.
Tempo stretching for forzen tracks
- the lack of AUTOMATIC tempo stretching for frozen tracks is a seriously annoying issue that really rears its ugly head when you’re done with most of the track and you start fine-tuning tempo changes only to discover that ALL of the 100 or so tracks you have need to be constantly re-rendered or manually bounced and re-imported, doubling the number of tracks. Cubase already contains spotless interpolation algorithms - as such it’s confusing to see why time stretching isn’t applied to frozed tracks. After all, these are essentially audio tracks, which do benefit from this feature. A UI indicator would be nice to see which tracks are out-of-date and need re-rendering. To cap things off, the re-freezing process should be batchable and not require user interaction.
Copy MIDI blocks from frozen channels
- enable copying MIDI blocks from frozen channels. I cannot see the logic behind disallowing this. I think the reasons for wanting to do this are self-explanatory.
Manually control pre- and post-fader
- a small gripe I’ve encountered a few times: manually assign pre- and post-fader insert modes. The fixed 6+2 format isn’t always flexible enough (for me personally, in most such cases I’d prefer to make all eight pre-fader).
Batch freezing
- a standard request and really a must for large projects: allow batch freezing for ALL track types. Batch bouncing is there. Freezing isn’t too different and in fact doesn’t even require a separate export dialog.
Selective freezing
- allow selected freeze on individual midi blocks with adjustable trail (eg “selective freezing” within a track that freezes only a user-selected portion of it). While the frozen block is played, the track should switch to bypass mode. This is often necessary for heavy passages where instrument and note polyphonies get high. Examples: heavy percussive passages or full chord marcato strings, which often have a note polyphony of several hundred (due to crossfading within the patch). This would allow continued working on different parts of the same track while preserving the ability to play back the entire piece.
Group automation editing
- another standard request: as many have requested, group automation editing would help things out a LOT. When working on orchestral patches, you 90% of the time tamper with expression and modulation, but to get really smooth transitions, oftentimes volume needs to be automated as well. When you have 8 patches that double each other, this amounts to 24 automation lanes that need to be adjusted. After a while manual copying gets really old.
Extended macro capabilities
- add even more control to macros! A simple for instance - I get this strange echo sometimes that records double notes when recording MIDI. I spent a lot of time scratching my head over this, but eventually I figured out a workaround : select the notes and run “MIDI - Delete Overlaps (mono)” (reduces one of the copies to zero (or maybe 1/64) length) + “MIDI - Delete Notes” with a really small threshold value, which deletes the shortened notes. This still opens up a dialog, but is pretty effcient. What is not efficient is the inability to bind stuff like Logic Editor presets to keys cobinations or insert them inside macros. A fully recordable click-anything macro system would go a long way towards streamlining workflow. Visual Studio has this. Word has this. Excel has this. And it’s wonderful.
A more visual routing system
- a clearer/more visceral routing system would actually be nice. While Cubase’s routing capabilities are commendable, it lacks the clarity of, say Reason, in large projects. While I don’t personally prioritize this, getting a bird’s-eye view of routing within a project is pretty darn essential when you need to revisit and old piece.
Allow me to use my computer while patches are loading
- THIS IS SUPER-IMPORTANT: remove system-wide modality from the sample load progress dialog, which renders the rest of the computer inoperable while a patch is being loaded. Even if the dialog is opened by an instrument, Cubase has the ability to make this modal within Cubase, NOT system-wide. Loading a large project often takes 5-10 minutes (and I only have 24 GB of RAM while large studio projects can easily go up to 50-70 GB). However, what is even more annoying, is the fact that I can’t use my computer when I throttle frozen instruments, which need to be constantly unloaded and re-loaded from disk to preserve RAM.
Simultaneous instrument loading
I understand the volatility behind this, since Cubase has zero control over where sample data is kept. However, when you do have 4 dedicated drives for samples, loading from just one of them at a time seems just silly. SSD-s have great parallel access times, so do allow me to at least suggest to Cubase how many instruments might be okay to load simultaneously. For synths this is even sillier, since these require more CPU time than disk time, which can be really easily sourced to different cores. Luckily synths load fast at least.
THE ÜBER-FANTASTIC BONUS IDEA
Most professional suites in other fields have their own modding environments (3DS Max, AutoCAD, VS, etc). Add modding capabilities for Steinberg products and the community will take care of 80% of the things you don’t see a reason to address or don’t have time for. You won’t lose a dime. People will instead see increased reason to use your product and commit to it even further by investing in third party peripherals.
To recap, I’ve spent a lot of time optimizing my Cubase workflow, customizing my key commands, building macros and overall finding ways to efficiently edit projects that are way too large for my computer. I think I have a fair amount of experience, but if anyone can chip in any tips or ideas, I’d really appreciate it! Other than that, feel free to throw in your own ideas/requests - however, do also provide some reasoning or an example to put them in perspective!