How to fix quiet podcast audio with ebu r128 normalisation
- Step 1Drop the quiet episode — Drop the recorded episode (WAV from your recorder, or an MP3/M4A export). FFmpeg reads it in-browser. A WAV source gives the cleanest boost; an already-compressed MP3 will re-encode.
- Step 2Select Apple Podcasts (-16 LUFS) — In the Loudness target dropdown choose Apple Podcasts (-16 LUFS) — the podcast standard, mapping to
loudnorm=I=-16:TP=-1:LRA=11. (Spotify/YouTube -14, Amazon -14/-2 TP and EBU -23 are the other presets.) - Step 3Pick an output format — MP3 (192 kbps) is the usual podcast deliverable; choose WAV or FLAC if you'll do further editing afterward. There is no separate bitrate control — MP3/M4A export at 192 kbps.
- Step 4Run the two-pass boost — Click run. Pass one measures how quiet the episode actually is; pass two applies the exact gain to reach -16 plus the -1 dBTP limit. A one-hour episode processes in seconds to tens of seconds depending on CPU.
- Step 5Read how quiet it was — The report shows the source Integrated LUFS (e.g. -27), Range, True peak and Threshold — confirming the under-recording and how much lift was applied to reach -16.
- Step 6Check the noise floor, then publish — A big boost also lifts hiss. Listen to the quiet sections; if hum or hiss is now audible, denoise first with ai-noise-reducer and re-normalise. Then download and upload to your host.
Preset choice for quiet podcast audio
Pick by where the episode will be published. Apple Podcasts -16 is the safe default for spoken-word feeds. Filters are from lib/audio/audio-engine.ts.
| Preset (UI label) | Target | True peak | When to pick it |
|---|---|---|---|
| Apple Podcasts (-16 LUFS) | -16 LUFS | -1 dBTP | Default for podcasts / spoken word |
| Spotify / YouTube (-14 LUFS) | -14 LUFS | -1 dBTP | If your feed is music-heavy or video-first |
| Amazon Music (-14 LUFS, -2 TP) | -14 LUFS | -2 dBTP | Amazon distribution with a stricter ceiling |
| EBU R128 broadcast (-23 LUFS) | -23 LUFS | -1 dBTP | Radio / broadcast syndication only |
How quiet is your episode? Reading the source report
Rough interpretation of the source Integrated LUFS the tool reports. The boost to reach -16 is the difference between your reading and -16.
| Source Integrated | Verdict | Approx boost to -16 | Watch for |
|---|---|---|---|
| -16 LUFS | On target | ~0 dB | Already fine; re-encode is the only change |
| -20 LUFS | A bit quiet | +4 dB | Usually clean |
| -24 LUFS | Quiet | +8 dB | Noise floor starts to rise |
| -30 LUFS or below | Very under-recorded | +14 dB or more | Hiss/hum likely audible — denoise first |
Output formats for podcast delivery
Encoder chosen automatically from the output extension. MP3 192 kbps is the common podcast deliverable.
| Format | Encoder | Bitrate | Use for |
|---|---|---|---|
| MP3 | libmp3lame | 192 kbps | Direct upload to your podcast host |
| M4A (AAC) | aac | 192 kbps | Apple-ecosystem / AAC feeds |
| WAV | pcm_s16le | uncompressed | Further editing before publish |
| FLAC | flac | lossless | Lossless archive of the master |
Cookbook
Quiet-episode rescues. Report figures shown are the SOURCE loudness the tool reports after the run (i.e. how the file came in).
Guest mic recorded 12 dB too low
A remote guest's track came in around -28 LUFS while the host sat at -16. Normalising the mixed episode to -16 lifts the whole thing; if the guest is still buried, level the tracks separately before mixing.
Source report after run: Integrated : -27.6 LUFS Range : 8.4 LU True peak : -9.1 dBTP Threshold : -37.8 LUFS Preset: Apple Podcasts (-16 LUFS) Result: ~+11.6 dB applied, peaks limited to <= -1 dBTP.
Whole episode quiet but clean
A solo episode recorded with the interface gain too low: -22 LUFS but a low noise floor. A clean +6 dB boost to -16 with no audible downside.
Source report after run: Integrated : -22.1 LUFS Range : 6.0 LU True peak : -7.8 dBTP Preset: Apple Podcasts (-16 LUFS) -> +6.1 dB Noise floor inaudible after boost. MP3 192k exported.
Big boost reveals air-conditioner hum — denoise first
A -30 LUFS recording needs +14 dB, which also lifts AC hum from inaudible to obvious. Denoise before normalising so the boost doesn't amplify the noise.
Step 1: ai-noise-reducer (RNNoise) removes steady hum
/audio-tools/ai-noise-reducer
Step 2: loudness-normalizer, Apple Podcasts (-16)
Source report (post-denoise run):
Integrated : -29.8 LUFS -> +13.8 dB to -16
Now the lifted signal is clean.Consistent loudness across a back-catalogue
Older episodes were mastered by ear at varying levels. Re-run each through the same -16 preset so a binge-listener never has to touch the volume.
For each episode file: preset = Apple Podcasts (-16 LUFS) output = MP3 192k Episode 1 source: -19 LUFS -> +3 dB Episode 2 source: -14 LUFS -> -2 dB Episode 3 source: -23 LUFS -> +7 dB All land at -16 -> uniform feed.
Uneven volume within one episode — level before normalise
If quiet and loud passages swing wildly (wide LRA), normalisation alone may trigger dynamic mode. Compress/level first so the -16 pass is a clean linear gain.
Source report: Range = 15.2 LU (> target LRA 11)
-> expect a Dynamic-mode notice.
Step 1: speech-leveler / compressor to tame swings
/audio-tools/speech-leveler
Step 2: loudness-normalizer at -16 -> clean linear pass.Edge cases and what actually happens
Big boost lifts the noise floor
ExpectedLoudness normalisation is gain-based: boosting a -30 LUFS episode by +14 dB also raises any hiss, hum, or room tone by +14 dB. Normalisation can't separate signal from noise. For under-recorded audio, run ai-noise-reducer (RNNoise speech model) first, then normalise the cleaned file.
Wide loudness range triggers dynamic mode
By designIf quiet and loud passages swing wider than the target LRA (11 LU), FFmpeg switches to per-window dynamic correction and a yellow Dynamic mode notice appears; output LUFS may sit slightly off -16. Level the episode first with the speech-leveler so the normalise pass is a clean linear gain.
Expected the report to confirm -16 output
ExpectedThe report shows the source loudness (e.g. -27), not the output. That confirms how quiet the episode was, not where it ended up. Re-drop the normalised file to verify it now reads ~-16 LUFS.
Episode longer than your tier's duration limit
RejectedAudio duration limits are 30 min (Free), 120 min (Pro), unlimited (Pro + Media / Developer). A 3-hour live podcast rejects on Free and Pro for duration even if the file size is fine. loudness-normalizer is a Pro + Media tool; split long shows with audio-splitter or upgrade.
MP3 source re-encoded to MP3
Quality lossNormalising an MP3 and exporting MP3 adds a second lossy generation. Acceptable for spoken word at 192 kbps, but if you still have the WAV from your recorder, normalise that instead and export MP3 once.
Clipping already baked into the recording
Cannot fixIf the original was recorded so hot it clipped (flat-topped waveform), normalising can change its level but cannot restore the destroyed peaks — the distortion is permanent. Re-record at a lower input gain. Normalisation prevents clipping on the boost; it can't undo clipping that already happened.
Video file dropped for a video podcast
Audio onlyThe tool accepts video input but outputs audio only. For a video podcast, extract the audio with video-to-wav, normalise to -16, then re-mux into the video in your editor. The normalised audio file alone won't carry the picture.
Custom target between -16 and -14 wanted
Not availableOnly the four presets exist; there's no free-text LUFS field. For podcasts -16 (Apple Podcasts preset) is the right standard, so the preset covers the real need.
Pass-1 analysis fails on a corrupt file
ErrorIf pass-1 can't emit a parseable loudness JSON block (truncated upload, non-audio file renamed to .mp3), the run throws 'Loudness analysis (pass 1) did not return a parseable JSON block.' Re-export the episode from your recorder/editor and try again.
Frequently asked questions
My podcast is too quiet — how do I make it louder safely?
Normalise to a fixed loudness target rather than pushing the fader. Pick the Apple Podcasts (-16 LUFS) preset: pass one measures how quiet the episode is, pass two applies exactly the gain needed to reach -16 with a -1 dBTP limiter so the boost can't clip. Consistent and clip-safe, every episode.
What loudness should a podcast be?
The widely used target for spoken-word podcasts is -16 LUFS integrated with a -1 dBTP true-peak ceiling — that's the Apple Podcasts preset here. -16 LUFS plays back consistently across Apple Podcasts, Spotify and most apps without aggressive app-side normalisation.
Will boosting a quiet episode add noise?
Boosting raises everything by the same amount, including hiss, hum and room tone. Normalisation can't tell signal from noise. For very quiet recordings, run ai-noise-reducer first to remove steady background noise, then normalise the cleaned file so the boost lifts only the voice.
Why does the report show -27 instead of -16?
The report shows the source loudness — how the file came in before correction. -27 means the episode was very under-recorded. To confirm it reached -16, re-drop the normalised file and check its new source reading.
Is my raw interview audio uploaded?
No. Everything runs in your browser via FFmpeg 8.1 WebAssembly — the file is processed on your CPU and offered as a download. Nothing is sent to a server, which matters for confidential interviews and unreleased episodes.
How do I make all my episodes the same loudness?
Run every episode through the same preset (Apple Podcasts -16). Because the target is fixed, a -19 LUFS episode and a -23 LUFS episode both end up at -16, so listeners never have to adjust the volume between episodes in your feed.
What's the Dynamic-mode warning?
If the episode's loudness range (LRA) is wider than 11 LU — big swings between quiet and loud — FFmpeg switches loudnorm to per-window correction and shows a warning. Output is normalised but may sit slightly off -16. Level the episode first with the speech-leveler for a clean linear pass.
Can I fix a clipped recording by normalising it?
No. If the original clipped during recording, the peaks are already destroyed and normalising only changes the level, not the distortion. Re-record at lower input gain. Normalisation prevents clipping when boosting, but can't undo damage already in the file.
Should I export MP3 or WAV for my podcast host?
Most hosts accept MP3 — this tool exports MP3 at 192 kbps, fine for spoken word. If you'll do more editing (chapters, ads) after normalising, export WAV or FLAC and encode to MP3 at the very end to avoid stacking lossy generations.
How long an episode can I normalise?
Duration limits are 30 minutes (Free), 120 minutes (Pro), and unlimited (Pro + Media / Developer). loudness-normalizer requires the Pro + Media tier. For very long shows, split with audio-splitter first if you're under a duration cap.
Can I normalise a video podcast's audio?
Yes — drop the video, but the output is audio only. Extract with video-to-wav, normalise to -16, then re-mux into the video in your editor to keep the picture.
Does this also even out loud and quiet parts within the episode?
No — normalisation sets the overall loudness, it doesn't smooth dynamics within the file. For that you want compression/levelling. Run the speech-leveler or audio-compressor first to even out within-episode swings, then normalise to -16.
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.