Three ways to export stems, and which one you want

Blog ·
Three ways to export stems, and which one you want

StemMaster has always exported stems. As of 1.1.54 it exports them three different ways, and the menu now asks you a question it did not ask before: Processed Only, Full Mix, or Mastered.

They are not three qualities of the same thing. They are three different points in the chain, and each one keeps one more layer of the engine's work than the last.

The one-sentence version

Processed Only — the cleanup, none of the judgement. Each stem carries its own EQ, compression, ducking and reverb, and arrives at unity gain, dead centre. No levels, no pans, no automation. Take this if you want the per-track work and intend to balance the record yourself.

Full Mix — the mix you heard, with nothing from the master bus. Everything above, plus levels, pans, the vocal rider and section automation. These add back up to exactly the mix that was mastered. Take this if you liked the mix and want to master it yourself, or hand it to someone who will.

Mastered — the finished record, taken apart. Each stem carries its share of the master bus, so adding them together reconstructs your master rather than approximating it. Take this if you are handing stems to a client or a label who may need to move something inside the finished master.

Picking the wrong one costs you an afternoon

The failure is quiet, which is what makes it worth writing down. Every mode produces a folder of plausible WAVs. You will not find out you took the wrong set until you are an hour into a session in another application.

Two mistakes account for most of it. The first is taking Mastered and then mastering it — the record has already been through a limiter, and putting it through another one is how a mix gets squashed by somebody being helpful. If you intend to do your own mastering, you want Full Mix.

The second is taking Processed Only and expecting it to sound like the app did. It will not, and that is the mode working correctly: every level and pan decision has deliberately been left out. It is a box of parts, not a mix.

“Sums to your master” is a measurable claim

The third mode makes a specific promise, so it is worth being exact about what is being promised and how you can check it yourself. Import the mastered stems into any DAW, set everything to unity with no pan, and sum them. Invert your master against that sum. What remains should disappear into the noise floor.

In StemMaster's own test suite that residual is required to sit below −60 dB or the build fails. It actually lands between −127 and −140 dB, measured across sessions with multiband compression, saturation, section automation, and a loud target that puts the soft clipper in the signal path. For scale: −60 dB is roughly a whisper next to a conversation, and −130 dB is below the noise floor of any medium you will ever play the record on.

Why re-running the chain per stem does not work

There is an obvious way to build mastered stems, and it produces files that do not add up.

Take each stem, run it through its own copy of the master chain, save the result. It sounds reasonable and it fails immediately, because a master bus responds to the sum. A compressor decides how hard to pull down based on the level hitting it. A limiter decides where to catch peaks the same way. Show it one stem alone and it sees a completely different signal from the one it was set up for: the quiet stem gets pushed up, the loud one gets squashed, and when you add them back together you have something louder and differently balanced from the master you approved.

So StemMaster does not re-run the bus. It measures it.

Three steps: master the song, record the per-sample gain the bus
  applied by dividing its output by its input, then multiply each stem by
  that gain. The sum of the stems times the gain equals the gain times
  the mix, which is the master.

While your master is being made, the app records how much the bus turned the signal up or down at every single sample — the output divided by the input. Then every stem is multiplied by that same figure. Because multiplication distributes over addition, the sum of the stems times the gain is the gain times the mix, which is your master. It comes back by construction rather than by luck.

The useful part of that trick is what it does not require. Nothing has to model what the limiter did, or the compressor, or the saturator. A stage with memory — a lookahead, a release curve — is no harder than a stage without one, because the measurement is taken from the outside.

One detail we could have got wrong quietly

There is a version of this that nulls perfectly and still sounds wrong, and it is worth admitting that it was the easier thing to build.

If you capture the whole bus as a single number per sample, the arithmetic above still works and the stems still sum to the master exactly. But the multiband compressor moves three frequency bands independently, and a single number cannot represent that. A stem with no low end in it would be turned down every time the kick hit, because the kick is what the low band was reacting to. Every stem would be pumped by a mix it cannot hear. The sum would be perfect and each file would be wrong.

So the multiband stage is measured as three separate band gains, and each stem is split on the same crossover before they are applied. The test suite checks the sum and checks that the three bands are genuinely different from one another, because a null test alone cannot tell the honest version from the shortcut.

The practical notes

All three modes write one 32-bit float WAV per stem, numbered to match the channel order so they land in a DAW already lined up — drop them all at position 0. Float rather than 24-bit for a reason specific to stems: a single stem can peak above 0 dBFS quite legitimately, since the stems cancel against each other and only their sum is bounded, and a fixed-point file would clip that on the way to disk.

Anything muted or unsoloed is left out rather than written as a silent file, and the files that remain keep their original numbers — so a gap in the numbering is a stem you switched off, not a missing export.

The filenames mark the mode, because all three write the same session, index and label. Exporting two modes into one folder without that would silently overwrite: same name, completely different audio, and no way to tell afterwards which one survived.

One thing to expect: Mastered takes noticeably longer before the first file appears. The app re-renders your master once to take the measurements described above. The alternative was making every render you ever do carry that data around in memory, on the chance that you might one day export mastered stems, and that seemed like the wrong tax to charge everybody.

StemMaster mixes and masters your song from its stems — and explains every decision it makes. One-time purchase, and the built-in analysis engine is the default and runs fully offline. Free demo.

See what it does