How to master a podcast episode in one click — full chain, free
- Step 1Drop your edited episode — Drag your finished episode onto the tool. It accepts audio (WAV, MP3, FLAC, M4A, OGG, Opus, AIFF) or video (MP4, MOV, MKV, WebM) — the chain extracts the audio track automatically. Master one episode at a time per file; batch is supported on paid tiers.
- Step 2Pick a loudness target — Choose Apple Podcasts (-16 LUFS), Spotify / YouTube (-14 LUFS), Amazon Music (-14 LUFS, -2 dBTP) or EBU R128 broadcast (-23 LUFS). If you publish to several apps, -16 LUFS is the safe universal master (Apple passes it through, Spotify nudges it up slightly).
- Step 3Pick an output container — MP3, WAV, FLAC or M4A (AAC). For a podcast host that re-encodes for you, master to WAV or FLAC to give the host's encoder the cleanest source. Pick MP3 only if you self-host or your host demands it. The internal working bitrate for lossy output is 192 kbps.
- Step 4Let the chain run — Click Master. JAD runs stage 1 (RNNoise denoise, resampled to 48 kHz mono), stage 2 (silence strip at -40 dB / 0.5 s minimum), then stage 3 (2-pass loudnorm to your target with a -1 dBTP ceiling). No progress decisions needed between stages.
- Step 5Check the loudness report — The result panel shows the measured integrated LUFS, loudness range (LRA) and true peak from the analysis pass. If
Normalization Typereads dynamic, the source's dynamic range exceeded the target LRA and FFmpeg switched modes — compress first with the speech-leveler if you want a tighter, more predictable level. - Step 6Download the finished episode — Download the mastered mono file. It is publish-ready for the platform you targeted. If you need a separate ID3 title/artwork pass before upload, run it through the id3-editor afterward — the master chain does not write episode tags.
What the one-click chain does, stage by stage
The three stages run in this fixed order. Each is the same engine as the standalone tool linked, but Podcast Master wires them together with fixed inter-stage settings.
| Stage | Engine / FFmpeg filter | Fixed settings inside the chain | Standalone equivalent |
|---|---|---|---|
| 1. AI denoise | RNNoise speech neural net (decode → 48 kHz mono 32-bit float → RNNoise → 16-bit WAV) | Resamples to 48 kHz mono — this is why the master is mono. No threshold to tune; the model decides. | ai-noise-reducer |
| 2. Silence strip | FFmpeg silenceremove (detection=peak) | threshold = -40 dB, min silence = 0.5 s, leading + trailing + internal gaps removed | silence-stripper |
| 3. Normalise + limit | FFmpeg loudnorm 2-pass, linear=true | I / TP / LRA from your chosen preset; true-peak ceiling applied in the same pass — no separate limiter | loudness-normalizer |
Loudness target presets
Each preset sets the integrated loudness (I), true-peak ceiling (TP) and loudness-range target (LRA) for the EBU R128 pass. Values are read straight from the engine.
| Preset (UI label) | Integrated (I) | True peak (TP) | LRA target | Best for |
|---|---|---|---|---|
| Apple Podcasts | -16 LUFS | -1 dBTP | 11 LU | Default; safe universal podcast master |
| Spotify / YouTube | -14 LUFS | -1 dBTP | 11 LU | Music-forward shows, YouTube uploads |
| Amazon Music | -14 LUFS | -2 dBTP | 11 LU | Amazon Music delivery (stricter peak ceiling) |
| EBU R128 broadcast | -23 LUFS | -1 dBTP | 7 LU | Radio / broadcast handoff, tighter range |
Output containers offered for the master
The four containers the tool exposes for a podcast master, and when to pick each. Lossy formats encode at a 192 kbps working bitrate.
| Container | Codec | When to choose it |
|---|---|---|
| MP3 | MP3 (LAME) | Self-hosting, or a host that ingests MP3 directly |
| WAV | 16-bit PCM | Hand the cleanest source to a host that re-encodes for you |
| FLAC | FLAC (lossless) | Lossless archive of the master at a smaller size than WAV |
| M4A | AAC | Apple-friendly delivery, good quality-per-byte |
Cookbook
Concrete one-click runs from real episode workflows. Each shows the inputs you set and the result you should expect from the chain.
Standard solo episode, Apple-safe master
The everyday case: a finished solo-host edit that needs noise cleanup, dead-air removal and a correct level. Defaults handle it.
Input : episode-42.wav (29:50, light fan hum, a few long pauses) Target : Apple Podcasts (-16 LUFS) Format : MP3 Chain : RNNoise denoise -> silence strip (-40 dB / 0.5 s) -> loudnorm -16 / -1 TP Result : episode-42-normalized.mp3 (mono, ~26:10 after gaps removed) Report : Integrated -16.0 LUFS | True Peak -1.1 dBTP | LRA 9.4 LU Verdict : Apple passes it through unchanged; Spotify nudges +2 LU on playback.
Master straight from a video recording
You recorded the episode as a screen capture or camera file. Drop the video directly — the chain extracts and masters the audio track.
Input : interview.mp4 (1080p, 44:12)
Target : Spotify / YouTube (-14 LUFS)
Format : M4A (AAC)
Chain : audio track extracted -> denoise -> silence strip -> loudnorm -14 / -1 TP
Result : interview-normalized.m4a (mono audio, video discarded)
Note : Output is audio only. For a video deliverable, keep the original
and use the mastered audio as the replacement track in your editor.Loudnorm switches to dynamic mode (wide dynamic range)
A whisper-to-shout episode whose loudness range is wider than the 11 LU target. FFmpeg falls back to dynamic mode and the final LUFS may drift from the request.
Input : storytelling-ep.wav (very quiet passages + loud reactions)
Target : Apple Podcasts (-16 LUFS), LRA target 11 LU
Report : Normalization Type: DYNAMIC <-- watch for this
Measured source LRA 16.8 LU (> 11 LU target)
Why : Source range exceeds the target, so loudnorm compresses dynamically.
Fix : Pre-compress with speech-leveler, then re-run the master for a
clean LINEAR pass that lands on -16.0 LUFS.Broadcast handoff at -23 LUFS
An episode that also airs on radio needs the EBU R128 broadcast target, which uses a tighter 7 LU range.
Input : segment-for-radio.wav (12:30)
Target : EBU R128 broadcast (-23 LUFS)
Format : WAV
Result : segment-for-radio-normalized.wav (mono, -23.0 LUFS, -1.0 dBTP)
Use : Deliver the WAV to the station; keep a separate -16 LUFS MP3
master for the podcast feed (run the chain twice, two targets).When NOT to use the all-in-one chain
The chain forces mono and runs a fixed denoise. If you need a stereo master, or want to keep room ambience, use the standalone stages so you control each step.
Goal : Stereo music-bed episode, no aggressive denoise Problem: Podcast Master outputs MONO and always denoises. Do instead (stereo-preserving manual chain): 1. silence-stripper (optional) 2. loudness-normalizer -> keeps source channel count + your target LUFS 3. true-peak-limiter -> only if you skipped loudnorm's ceiling Skip the AI denoise stage entirely to preserve stereo + ambience.
Edge cases and what actually happens
Master output is mono even from a stereo source
By designThe RNNoise denoise stage resamples every input to 48 kHz mono before processing, so the finished master is always single-channel. For a talking-head/solo-voice episode this is correct and saves file size. If you need a stereo master (music show, binaural, stereo field effects), do not use the one-click chain — run loudness-normalizer directly, which preserves the source channel count.
Loudnorm reports 'dynamic' normalization type
ExpectedWhen the source's loudness range exceeds the preset's LRA target (11 LU for podcast presets, 7 LU for EBU), FFmpeg's loudnorm switches from linear to dynamic mode and the achieved integrated LUFS can drift from the requested value. The report surfaces this. To force a clean linear pass, compress the dynamics first with speech-leveler, then re-run the master.
Silence strip removed a deliberate dramatic pause
By designStage 2 removes any gap quieter than -40 dB lasting 0.5 s or longer, including intentional beats. The chain uses fixed thresholds you can't tune here. If your show relies on long pauses, skip the all-in-one tool and run silence-stripper standalone with a longer minimum-silence value, then normalise separately.
Episode longer than your tier's duration cap
Tier limitFree preview allows up to 30 minutes / 10 MB per file; Pro allows 200 MB / 120 minutes; Pro+Media and Developer remove the duration cap entirely (100 GB streamed). A two-hour episode needs Pro+Media. The file-size cap and the duration cap are checked separately — a short but huge WAV can hit the size cap first.
Music or non-speech audio sounds worse after the master
Limited effectRNNoise is trained on human speech. Run on music, room tone, or sound effects it can introduce artefacts because it tries to suppress everything that doesn't look like a voice. The one-click chain is built for spoken-word podcasts. For music, skip denoise and normalise with loudness-normalizer only.
Output has no ID3 tags or chapter markers
Out of scopeThe master chain produces a clean audio file but does not write episode title, artwork, or chapter metadata. Add tags afterward with the id3-editor. Chapter markers are added by most podcast hosts at upload time.
Browser tab ran out of memory on a very long episode
ExpectedWASM processing holds the working audio in browser memory. Multi-hour uncompressed inputs can exhaust the tab, especially on 32-bit browsers or low-RAM devices. Split the episode with audio-splitter, master each part, then concatenate with audio-merger — or pair the local runner on a paid tier for native-speed processing.
True peak measured slightly above -1 dBTP after MP3 encode
SupportedThe loudnorm pass targets -1 dBTP, but lossy MP3/AAC encoding can re-introduce tiny inter-sample peaks. Choosing the Amazon Music preset (-2 dBTP) buys extra headroom, or master to WAV/FLAC where no re-encode occurs. The verification metric is shown in the report so you can confirm the result.
Dropped an unsupported or corrupt file
RejectedIf FFmpeg cannot demux the container, the run fails with a processing error rather than producing a half-master. Re-export from your editor to a standard WAV or MP3 and retry. Variable-frame-rate screen recordings occasionally fail to demux cleanly — remux to a constant-rate MP4 first.
Frequently asked questions
What exactly does 'one click' do?
It runs three stages in a fixed, correct order: (1) RNNoise AI denoise, (2) FFmpeg silence removal at -40 dB / 0.5 s, (3) a 2-pass EBU R128 loudness normalisation that also applies a -1 dBTP true-peak ceiling. You only choose the loudness target and the output container; everything between the stages is wired up for you.
Why is my mastered file mono when I dropped a stereo recording?
The denoise stage resamples to 48 kHz mono before processing, so the master is always mono. That is ideal for a solo-voice or interview podcast and halves the file size. If you need stereo, skip the one-click tool and use loudness-normalizer, which keeps the source channel count.
Which loudness target should I pick?
Apple Podcasts (-16 LUFS) is the safe universal choice — Apple plays it back unchanged and Spotify only raises it slightly. Pick Spotify / YouTube (-14 LUFS) for music-heavy or YouTube content, Amazon Music (-14 LUFS, -2 dBTP) for Amazon delivery, or EBU R128 (-23 LUFS) for radio/broadcast handoff.
Does it really run without uploading my audio?
Yes. The decode, denoise, silence strip, normalisation and re-encode all happen in your browser via FFmpeg 8.1 compiled to WebAssembly plus the RNNoise model. The audio bytes never leave the tab, so unreleased episodes and guest content stay on your machine.
How long does a 30-minute episode take?
Typically 30-60 seconds on a modern laptop. Time scales with episode length and your CPU. On paid tiers you can pair the local runner to process at native FFmpeg speed instead of WASM, which is noticeably faster for long files.
Can I master several episodes at once?
The tool accepts multiple files on paid tiers — Pro batches up to 10, Pro+Media up to 100. Each file is mastered independently with the same target. The free daily preview is one file at a time.
What happens to a video file if I drop one in?
The chain extracts the audio track, masters it, and returns an audio-only file (MP3/WAV/FLAC/M4A). The video itself is discarded. If you need the mastered audio back in a video, export it here and swap the audio track in your video editor.
Why did the report say 'dynamic' normalization?
FFmpeg's loudnorm uses linear normalisation when it can hit the target with a single gain change. If the source's loudness range is wider than the preset's LRA target, it switches to dynamic mode and the final LUFS may not land exactly on target. Pre-compress with speech-leveler for a clean linear result.
Does it add intro/outro music or remove ums?
No. It is a technical master — denoise, de-silence, normalise. It does not edit content, add music, or do filler-word removal. Assemble your intro/outro and do content edits in your DAW first, then run the finished edit through the master.
Can I tune the denoise strength or silence threshold?
Not in the one-click chain — those settings are fixed (RNNoise is automatic; silence is -40 dB / 0.5 s). For control, use the standalone ai-noise-reducer and silence-stripper and chain them manually.
Will the output clip on loud platforms?
The loudnorm pass enforces a -1 dBTP ceiling (-2 dBTP on the Amazon preset), so it stays below digital full scale. Lossy encoding can nudge inter-sample peaks slightly; master to WAV/FLAC or use the Amazon preset's extra headroom if you need a hard guarantee.
Do I need an account or subscription?
There is a free daily preview (one master per day, up to 10 MB, mono output). Unlimited mastering is included in Pro (£7/mo) and Pro+Media (£19/mo), which also lifts the file-size and duration caps. See the master-without-subscription guide for the full breakdown.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.