Updated October 14, 2026. Written for SoundCraft 0.6.1 (what changed since).
That split is how version 0.6.1 works. The engine measures loudness on every mix bounce, but the Bounce Mix dialog doesn't display the result, and the stem command has no menu entry yet. The command line gets you both, from the same session file the app saves.
Before you bounce
- Save the session with ⌘S or Ctrl+S. SoundCraft saves a
.scraftfile next to anAudio Filesfolder; the command-line tool opens that.scraftfile. - Check what is muted. Muted and inactive tracks are left out of the stems, not just silenced in the mix.
- Look at the master fader's inserts. A limiter or maximizer there shapes the mix bounce, and it also acts on every stem (more on that below).
- Clear the selection if you want the whole song. With nothing selected, a bounce runs from the session start to the end of the last clip.
Bounce the stereo mix from the menu
File > Bounce Mix opens a dialog with four controls: the file path, Format (WAV, AIFF or FLAC), Bit Depth (16, 24 or 32-bit float) and a "Normalize to -0.1 dBFS" box. It bounces the edit selection, or the whole session when nothing is selected. Dither is on by default.
| Choose | When |
|---|---|
| WAV, 24-bit | The default, and what most mastering engineers and collaborators expect |
| WAV, 32-bit float | When the mix may peak above 0 dBFS and you want the receiver to keep the overs instead of clipping them |
| WAV, 16-bit | A final master for CD-style 16-bit delivery |
| FLAC | Lossless and smaller, for archiving or sharing over a slow link |
| AIFF | When the receiving system asks for it |
SoundCraft doesn't write MP3 or AAC (it reads both). For a preview copy, bounce a WAV and encode it with another tool.
Bounce stems with soundcraft-cli
soundcraft-cli is included in the Windows installer and portable zip, every Linux package and the FreeBSD tarball; on macOS it is a separate download on the download page. The examples use a session saved as My Song/My Song.scraft and a macOS or Linux shell:
soundcraft-cli run --in "My Song/My Song.scraft" \
--cmd 'file.bounce_stems={"dir":"My Song/Stems","bit_depth":"24"}'You get one file per audio, instrument and MIDI track in My Song/Stems, named after the session and the track (My Song - Bass.wav, My Song - Lead.wav), all starting at the session start so they line up when imported anywhere. Add "format":"flac" or "aiff" for other formats, "bit_depth":"32f" for float, and "start" and "end" to limit the range.
How each stem is made matters. SoundCraft solos the track and renders the whole mix, so the stem carries the track's own reverb from its send: the snare stem has the snare's share of the plate reverb in it. That is usually what a mix engineer or remixer wants, because the stems add back up to the mix. The catch is the master bus. Its inserts process every stem on its own, so a limiter on the master squeezes each stem separately and the stems no longer add up to the same loudness. For stems going to mastering or a remix, bypass the master inserts (right-click the insert, Bypass), save, and run the command again.
Need a group instead of single tracks, say all the drums? Route them to a bus in the app, then bounce that bus by name:
soundcraft-cli run --in "My Song/My Song.scraft" \
--cmd 'file.bounce_mix={"path":"My Song/Drums.wav","source":"Drums"}'Check LUFS and true peak
Bounce the mix from the command line and the result comes back as one line of JSON:
soundcraft-cli run --in "My Song/My Song.scraft" --bounce "My Song/My Song mix.wav"| Field | What it is |
|---|---|
lufs | Integrated loudness of the bounced range, ITU-R BS.1770 with the EBU R128 gates (absolute -70 LUFS, relative -10 LU) |
true_peak_db | Highest true peak in dBTP, measured with 4x oversampling |
peak_db | Highest sample peak in dBFS |
seconds, bytes | Length of the bounce and size of the file |
The file is a normal 24-bit WAV with dither, so this one command gives you the deliverable and its numbers. Integrated loudness covers the whole bounced range; to check only a chorus, add --start and --end.
Hitting a loudness target
| Destination | Loudness | True peak |
|---|---|---|
| Spotify (default setting) | Normalizes playback to -14 LUFS | Keep masters below -1 dBTP |
| Apple Podcasts | About -16 LKFS, plus or minus 1 dB | Not above -1 dB |
Spotify turns a louder master down to its target, so a mix finished at -9 LUFS simply plays 5 dB quieter there, with whatever dynamics the limiting took away still gone. A podcast is different: Apple asks for -16, so a spoken-word mix at -20 LUFS needs 4 dB more level.
To change the reading, work on the master fader in the app. Raising the fader raises loudness and peaks together; the Maximizer (Threshold and Ceiling, each -30 to 0 dB) raises loudness while holding peaks down. Set its Ceiling to -1 dB, lower the Threshold until the LUFS figure is where you want it, then bounce again and check that true_peak_db stayed at or below -1.
Leave the Normalize box off for these deliveries. It scales the mix so the highest sample lands at -0.1 dBFS, and the true peak between samples can then sit above that, well over the -1 dB both services ask for.
A delivery checklist
- Session saved; muted tracks are the ones you meant to leave out.
- Mix: 24-bit WAV, Normalize off,
lufson target,true_peak_dbat -1 or below. - Stems: master inserts bypassed, one folder, 24-bit WAV (or 32-bit float if anything clips).
- Open one stem and the mix in another player to confirm they start together.
Still learning what the master Maximizer does? The demo song has one on its master fader, and you can try it in the browser with the mixing exercises. For the full list of command options, run soundcraft-cli describe file.bounce_stems, or let an AI agent drive the same commands through the MCP server.