Stem batch export for music mixes

I often get requests to export around 8-10 stems (Drums, Guitars, Synths etc.) for the music I mix and master. I remember this working flawlessly in Nuendo a few months back. I previously worked in Logic and used to solo each track stack and export individually which was very time consuming but worked reliably.

In Nuendo, I usually set up Groups for each Stem I need to export. So I’ll have a Group for Drums, Bass, Guitars etc. I also have FX Tracks for sends such as Parallel Compression, Reverbs, Delays etc. All of these are then sent to a MASTER Group track, where I usually have my mastering plugins. And this finally goes to the Stereo Out.

When the client requests for stems, I would then use Batch Export to select these Groups and it would render out in one go with all the correct FX Tracks assigned/sent to each Group/Stem.

I’m on the latest version of Nuendo and for the past two songs, this method doesn’t seem to work correctly. The levels are all out of place. When I solo the Group track, it doesn’t seem to solo the compression or reverb sends assigned to the individual tracks. They stay muted. Individually hitting solo on the track/folder seems to work. I don’t know if this is how it’s always worked.

I’m not sure if I’ve messed up the routing somehow or if this is a bug? Since I had no choice, I Solo’d each group of tracks separately and rendered the stems individually. But, here’s the issue, when I compare the sum of all the stems against the stereo master file, it seems to be louder by a couple of dB. Almost as if the final limiter isn’t being applied.

Any thoughts on what I could be doing wrong or how to improve the batch export workflow?

Are your group and FX folders folded closed or open?
There are some weird issues that happen when the folders are closed that sounds very similar to what you explain.

I could be wrong here but I think there’s a preference for this.

Also, I think that in order to hear any FX channels they need to go into that group and not to the master directly. So if you have one reverb preset you like for several of the types of instruments, i.e. for both drums and guitars, then you can’t just use one FX channel for both and route that to the master, you’d need to use two of them and make sure that the drum stem only gets the drum reverb even though it’s the same preset as for the guitars.

Note that you can also solo-defeat channels by alt-clicking solo. When you do that they won’t turn off when you solo another channel.

It’s a bit unclear, but to me what you wrote looks like you are using the batch export function and selecting the group-stems as sources. Since those group-stems are before the master where you have your final limiter the effect of the limiter won’t be applied to any of your stems. In order to get a limiting function applied you would need to place one limiter on each group instead and get rid of the processing on the master. That’s really the only way you’ll get a 100% identical sum of your group-stems - by not processing the sum of the stems for your full mix.

If I misunderstood any of what you wrote I apologize… I’m only on the day’s first cup of coffee, so I’m dumber than what I am on average… so far…

When I initially exported, they were closed I believe. But, the second time around, I had the Group & FX track folders expanded. I’ll check what Mattias has suggested as well regarding the preference.

Regarding the signal flow, I understand how this could be a problem and it makes sense what you wrote and I was afraid of that. But, I assumed it somehow magically worked just like solo’ing a selection of tracks and rendering one at a time. Maybe the previous songs I exported had this issue as well and the surround engineer just didn’t notice.

In Logic, I would sit and manually export each track stack after solo’ing them. Reaper had a brilliant batch export function when I used it 6 years back and I assumed Nuendo worked similarly.

So, on to my next question, how do you guys export Dialogue, Music & Effects stems in post, especially if I’m using a limiter to boost gain? I usually mix the short-films I work on around -23LKFS, but often get requests from production that they need a louder version for streaming at around -14 to -16LKFS. The 2 methods I’ve tried is using a limiter on the Stereo Output to boost gain or using Nuendo’s normalise function. Both of these don’t work when exporting individual stems with batch export/normalise. :cry:

Any workflows you guys can suggest? Thank you!

The way I see it it’s really two questions.

Regarding exporting stems I simply have all sources routed so they first go to group channels according to their function, and then end up in appropriate output channels (without a connection to a physical output) according to deliverables. I then batch-export using the output channels a sources. Generally all output channels are untouched, but I do place a limiter set to brick-wall on the full mix outputs, but it’s really almost never doing any actual limiting because I’m careful with levels before then, and when it does limit it’s very minor. It’s basically just a safety so anyone summing my stems together would get the same sound and level (with the exception of a stray peak sample or two, but probably not).

The other question is really how we create two mixes, and there seems to be a couple of ways of going about it:

  1. You literally mix twice.

Obviously you’re not going to redo all the work, but you’ll finish one mix for one target and then save-as and run another pass or three to adjust for the second target. I think people prefer to mix for the wider dynamic range first and then the ‘louder’ one. I’m not sure about that though. If memory serves me the traditional workflow was finishing the theatrical wide-range release first and then adapt down to TV mixes, mixes for airplanes and so on. So same thing, wide range first and then more narrow.

If your room is decently calibrated and you have more than one set of monitors this can really be as easy as switching references - i.e. lower output levels in Control Room and playing back on a smaller set of monitors - and remixing (adjusting) by ear.

  1. You mix once and just adjust the level accordingly.

If you do this then of course you’ll need the required range to perform the level adjustment. So if your first mix is the “wider” one then you’ll have to make sure your true peak values aren’t a problem. If your -23LFKS allows for a -2dBFS True Peak then you would actually have to make that about -10dBFS TP instead, assuming you want the same peak after you raise levels for streaming. So you could simply mix so that your integrated level is -23LKFS and TP is -10dBFS, then boost levels by 8dB and then you end up with -15LFKS and -2dBFS TP. Or do it the other way around.

Of course the possible problem with this is that you’re now not really controlling the dynamic range of most of the content. It’s a fairly low range between your average and your true peak in both mixes and that might be fine for streaming on a phone but not on TV.

But anyway, you can adjust levels wherever necessary except it’ll preferably be before you sum to the final mix. So you can adjust levels going into your groups as long as you don’t have dynamic processing that will react differently on those groups (which is likely), or you can adjust the level leaving the groups which retains the “sound” of everything through that path and just boosts the level. Or a combination of both.

Just for the sake of clarity…;

I mix mostly for TV, but regardless I always keep an eye on at least the full mix levels and dialog/narration levels. So I have at least two instances of iZotope Insight open, and I try to be mindful of not just integrated and true peak levels but also “loudness range”. I find that it actually provides a good guide for how things can be perceived as well as offers me a guide for how to proceed if I need to remix for a different medium. If my dialog loudness range is wide, i.e. it was mixed for theatrical, then I know I most likely have to go in and ride those levels again, and / or possibly compress on the dialog group to get the range narrow enough to fit for streaming for example.

So, point being that I do monitor more than just the final mix, and that it’s quite valuable information.

Thanks for your insight Mattias, appreciate it.

Are these outputs set up in ‘Audio Connections’ and then routed from the Groups via Sends?
I’m looking for a way to cut down time doing stem exports since almost all my projects require it and I either need to modify my workflow or find an efficient way to do this.

I mostly work with short/indie-films so level requirements are a bit all over the place. The few TV shows I worked on had strict specs to follow and those were a lot easier.

Set up in connections in the “outputs” tab. I use “Direct Outs” to get the signals to their destinations. I feel it effectively eliminates the possibility of some mistakes since I can’t adjust the level by mistake on a send.

I just make sure they’re not connected to anything.

Well one great things with DAWs and Nuendo in particular is that ‘channels are cheap’, so there’s no harm in setting up templates that are very ‘wide’ in channel counts, and in addition to that it’s easy in Nuendo to hide channels by type. On top of that you have four different views of the mixer. So in my case I can have outputs for a full mix, mix minus, med, m&e dipped, m&e undipped, fx, music dipped, music undipped and on and on. I only render stems for what I need but regardless I don’t have to see that stuff because it’s all hidden almost all the time. I dedicated mixer 4 for viewing groups and outputs only and pull that up whenever I want to double check that routing is correct. Otherwise I never look at the outputs.

It’s also easy enough to make sure your processing on groups (and maybe tracks) is set up in your templates according to whether you’re mixing for film or TV. And you can always save presets and chains of plugins etc.

But anyway, I don’t think there are any shortcuts when providing stuff for both TV (-23LFKS) and film and internet (YouTube -17ishLKFS) as you either compromise or you spend the time adapting for each.

Awesome, thanks. I’ll check this out and try to incorporate it into my workflow.