Album Mastering Loop
Turn a folder of raw WAVs into a loudness-matched, diagnosed, cleanly-named album that streams right.
Anyone who has finished tracks (or pulled a Suno playlist) and needs them streaming-ready and consistent before they go up for distribution.
You finished the songs. Now they have to behave like an *album* — same perceived loudness track to track, no surprise clipping, clean endings, and filenames a distributor won't choke on. This loop runs the `album-streaming-master` skill, which takes a folder of raw WAVs and writes a sibling folder of mastered, properly-formatted, properly-named WAVs ready to upload. It never touches your originals: every pass reads from the source folder and writes to a new `(mastered)` folder, so you can re-run it as many times as you want without stacking quality loss.
The heart of it is loudness normalization done in *album mode*. Streaming platforms play everything at a roughly even volume (around -14 LUFS — 'LUFS' just means 'how loud it actually sounds to a human', not the raw peak). Instead of slamming every track to the same number and flattening your dynamics, this loop finds your loudest track, anchors it at -14 LUFS exactly, and shifts every other track by the *same* amount. The quiet intimate song stays quieter than the banger — the way you intended — but the whole record sits at the right level as a unit. A -1 dBTP ('true-peak') ceiling guarantees nothing clips when a platform re-encodes it to MP3 or AAC.
It is deliberately *not* a creative mastering chain. No EQ, no compression, no stereo widening — that's coloration, and a polished AI-generated master usually doesn't need it. This is a precise volume knob plus a safety limiter, applied as pure linear gain. The value the loop adds beyond volume is the *diagnostic suite*: it inspects every track for clipping, phase problems, weird fade-ins/outs, tail artifacts, and jarring volume jumps between consecutive tracks — then hands you a report and asks what to fix, rather than silently 'correcting' something that was intentional.
Run it after your create loop produces finished audio, and before your distribute loop uploads. The output is a clean folder, a diagnostics report, and a one-line summary — the exact input the `distrokid-upload-album` step expects.
Skills & actions it uses
The concrete, reusable skills this loop calls to actually do the work.
album-streaming-masterThe engine of the loop — runs the analysis pass, album-mode loudness normalization, the diagnostic suite, approved fade/trim fixes, and the clean-title rename, writing a streaming-ready `(mastered)` folder.suno-playlist-downloadChained at the front only when you start from a Suno playlist link — downloads every track as WAV into a folder so the mastering pass has files to work on.distrokid-upload-albumThe downstream distribute step — consumes this loop's clean `(mastered)` folder and clean filenames as its upload input.
The loop
- 1
Resolve the source folder
Point the loop at a folder of WAVs. If you only have a Suno playlist link, the loop chains the `suno-playlist-download` skill first to produce the WAV folder, then takes over. It derives the album name from the folder, and always writes results to a separate `(mastered)` folder so originals stay untouched.
- Accepts a local folder of numbered WAVs (e.g. `01 - Title.wav`) or a Suno playlist URL
- If given a URL, runs `suno-playlist-download` (format=wav) first, then continues
- Never overwrites source — output goes to a sibling `(mastered)` folder so re-runs are safe
- 2
Run the analysis pass
Measure every track before changing anything: integrated loudness (LUFS), true peak, loudness range (how dynamic the song is), plus sample rate and bit depth. The loop presents this as a table so you can see the whole album's shape at a glance.
- Per track: LUFS, true peak (dBTP), loudness range (LRA), sample rate, bit depth
- Bolds the **loudest** track — that's your album anchor
- Bolds **outliers** sitting more than ~1.5 dB below the anchor
- Bolds **clipping risks** where true peak is already near full scale (≥ -0.5 dBTP)
- 3
Decide the targets and judge the outliers
This is the human-in-the-loop moment. The anchor goes to -14 LUFS and everything shifts by the same delta — but tracks that landed much quieter get surfaced, not auto-fixed. You decide which quiet tracks are *intentionally* soft (an intimate ballad in the flow) versus which just came out too quiet by accident.
- Default with no overrides: apply the uniform album-mode shift only — preserves intended dynamics
- Outliers get a one-line description and a question: intentionally quiet, or just too quiet?
- Accidentally-quiet tracks get nudged up into the cluster (around -14.5 LUFS)
- 'Soft but not *that* soft' tracks get a gentler lift (around -15 LUFS)
- Genuinely intimate tracks are left at their shifted target, untouched
- 4
Apply the master from source
For each track, a two-pass loudnorm: pass one measures the real loudness, pass two applies pure linear gain to the chosen target, limits true peak to -1 dBTP, and resamples to the streaming-standard format. One clean pass from the original file — never a master-of-a-master.
- Linear gain only — zero dynamic processing, so the audio's character is untouched
- True-peak ceiling: -1 dBTP (survives platform re-encoding without clipping)
- Format: 44.1 kHz, 16-bit PCM, stereo — the distribution standard
- Watches for the `linear=true` fallback trap: very dynamic tracks (long quiet intros) can silently land off-target, so it widens the loudness-range setting per track to keep linear gain engaged
- 5
Run the post-master diagnostic suite
Re-measure to confirm every track hit its target within a tenth of a dB, then run a battery of structural checks and output two tables — one for per-track endings and artifacts, one for transitions between consecutive tracks.
- Landing check: every track within ±0.1 dB of its target LUFS
- Clipping scan: counts any samples pinned at full scale
- Phase / mono check: correlation between left and right channels (should stay positive, not phase-inverted)
- Fade classification: labels each ending hard cut / quick tail / short fade / gentle fade
- Tail artifact scan: silence-then-sound gaps, late spikes, end-of-file clicks/pops, DC offset
- Transition analysis: flags volume jumps over ~12 dB between one track's tail and the next track's head
- 6
Flag what deserves a human ear
The loop never auto-applies cosmetic fixes. It calls out the specific tracks worth listening to and asks you per track, so nothing intentional gets 'fixed' by mistake.
- Hard cuts and quick tails — often fine, but a short fade sometimes helps
- Unusually long fade-ins (> 5s) — genuine atmospheric build, or a problem?
- Trailing digital silence — real music ends, then seconds of dead air; almost always worth trimming
- Any tail-artifact flag is surfaced for manual review before it's treated as real (some heuristics have false positives)
- 7
Apply only the fixes you approve
If you ask for a fade or a silence trim, the loop re-runs from the *source* file with the trim/fade folded into the same filter chain — never reprocessing the already-mastered file. Defaults are conservative: keep about a 1-second buffer after the real audio end rather than cutting flush, and extend a short ending with a 1–1.5 second fade.
- Detects the true audio end first, then trims — so a fade never runs uselessly through dead air
- Silence trim keeps a ~1s natural buffer instead of cutting tight
- Every correction goes through source to avoid stacking processing generations
- 8
Rename to clean, consistent titles
The `album-streaming-master` skill closes by renaming everything to `NN - Title (Two-Word Style).wav` — stripping the junk prefixes AI generators add, fixing capitalization, and tagging each track with a specific two-word style. Renames happen in two phases (temp names first) so nothing collides.
- Strips leading `*`, `-`, `!` prefixes that generators leave on titles
- Title-cases properly: small words like `to`, `a`, `the`, `of` stay lowercase except at the start
- Appends a *specific* two-word style — `(Cinematic Hip-Hop)`, `(Country Two-Step)`, `(Dreamy Electronic)` — not just `(Pop)`
- Derives the style from the song's description where available, otherwise infers from the audio or asks
- Ends with a one-line summary: tracks mastered, anchor track, outliers corrected, fades/trims applied, clean output path
Then run it again for the next song, chapter, or track.
You end with
- A sibling `(mastered)` folder of WAVs at 44.1 kHz / 16-bit, album-anchored at -14 LUFS with a -1 dBTP ceiling
- Your original files left completely untouched — every pass reads source and writes new
- A pre-master analysis table: per-track LUFS, true peak, loudness range, sample rate, bit depth
- A diagnostic report: clipping, phase/mono, fade classifications, tail-artifact flags, and track-to-track transition jumps
- Cleanly renamed `NN - Title (Two-Word Style).wav` files and a one-line run summary, ready to hand to the distribute loop
Skip this loop if…
- You want creative mastering — EQ, compression, stereo widening, vibe shaping. This loop is loudness + safety only, by design.
- Your tracks aren't finished yet — run a create loop first; this loop only prepares done audio.
- You need a single song polished in isolation rather than a whole album leveled as one consistent unit.
How it connects
Requires
Each slot needs one loop — pick whichever fits. The recommended pick is starred.
Alternatives
A competing loop for the same job — different tool, taste, or depth. Pick whichever fits you.
Normalize a track or album to a streaming-ready loudness — and touch nothing else.
Scan your tracks for the problems that wreck a release — and change nothing until you say so.
Apply clean fades and trim dead air or tail artifacts from the ends of your tracks.
Pairs with
Commonly run just before or after this one in the pipeline.