Get Started

Turn a messy podcast recording into a clean, subtitled episode with one script, then sell it

A rough recording goes in at -27 LUFS with the guest buried under the host, and one script later it comes out levelled at -16 LUFS, pauses cut, with subtitles and a transcript. Do that first, on your own PC. Then turn it into a service: who pays, three packages, about an hour of hands-on work per 30-minute episode once you're practised, and clients won within UK marketing rules.

165 minIntermediateTools: Free tools. Your time: about 6 to 8 hours a week while you get goingStep 1 free
An offer you can sellthree packages with example prices, your real hourly rate and a "not included" list
A repeatable routine for every episodecleaned audio, pauses cut, loudness checked at -16 LUFS, subtitles and clips, in one script (PowerShell on Windows, bash on a Mac or Linux)
Every message you needUK-rules outreach, follow-ups, proposal, onboarding, delivery and revisions
  • A kit to download: checklist with timings, intake form, terms outline, pricing calculator, weekly scoreboard and a 30-day plan
Before you start
01/08Clean, cut and finish every episode the same way0 done
STEP 01 of 08~30 min

Clean, cut and finish every episode the same way

One routine, in the same order every time, is how a 30-minute episode becomes an hour's work instead of an evening.

  1. The technical skills come from four lessons. Do them first, then come back:

  2. The order matters:

    • 1. Marked mistakes first. The client's timestamps refer to the raw recording, and every later step moves them. Open the raw file in a free audio editor such as Audacity ↗, drag across each mistake, press Delete, and export as WAV. For video, cut them in a video editor such as Shotcut.
    • 2. Clean: cut low rumble, reduce steady hiss, and even out the loud and quiet voices.
    • 3. Cut pauses with auto-editor. Cleaner audio makes the silences easier for it to find.
    • 4. Finish: add the intro and outro, set the loudness, export.
    • 5. Check the finished file with a meter, then listen.
  3. Why -16 LUFS?LUFS measures how loud something sounds across a whole episode. Apple's podcast audio requirements ↗ recommend about -16 LKFS, plus or minus 1 (LKFS and LUFS are the same thing), with the true peak no higher than -1 dBFS. UK studios such as Music Radio Creative ↗ deliver -16 LUFS "for all major platforms", and it's the safe level to deliver everywhere.

  4. Here's a deliberately rough 81-second test episode: two text-to-speech voices, the guest 11dB quieter than the host, with hiss and 50Hz mains hum added. Run these commands from the episode's folder (they're shown for PowerShell; on a Mac or Linux, use / instead of \ in the paths). First, clean:

    1. Clean
    ffmpeg -i work\ep012-edit.wav -af "highpass=f=80,afftdn=nf=-50:tn=1,dynaudnorm=f=250:g=15" work\ep012-clean.wav
    • highpass=f=80 removes rumble below 80Hz: traffic, desk knocks, some mains hum.
    • afftdn is FFmpeg's noise reducer, for steady hiss. On the test episode the hiss in pauses was 5dB quieter with it than without.
    • dynaudnorm evens out loud and quiet stretches, so the guest isn't buried.
  5. Then cut the pauses with auto-editor, using the options from its lesson. A conversation needs more breathing room than a solo video, so start with 0.3 seconds before and 0.5 seconds after speech. Check with --preview first, as the lesson shows:

    2. Cut pauses
    & "$HOME\auto-editor\auto-editor.exe" work\ep012-clean.wav --margin 0.3s,0.5s -o work\ep012-cut.wav
  6. Then join the client's intro and outro, set the loudness and make the MP3. The intro and outro can be any format (mono 22kHz files work fine) and FFmpeg matches them up:

    3. Finish
    ffmpeg -i ..\01-assets\intro.mp3 -i work\ep012-cut.wav -i ..\01-assets\outro.mp3 -filter_complex "[0:a][1:a][2:a]concat=n=3:v=0:a=1,aformat=channel_layouts=stereo,loudnorm=I=-16:TP=-1.5:LRA=11" -ar 44100 -c:a libmp3lame -b:a 128k deliver\smallshop-ep012.mp3
  7. TP=-1.5 aims a little under Apple's -1 limit, to leave room for the MP3 encoding. Now measure what you made:

    4. Check
    ffmpeg -hide_banner -nostats -i deliver\smallshop-ep012.mp3 -vn -af ebur128=peak=true:framelog=quiet -f null -
  8. Read the Summary at the bottom. The raw test file, then the finished one:

    Output
    Raw recording          I: -27.3 LUFS    LRA: 16.8 LU    Peak: -9.1 dBFS
    Finished episode       I: -15.8 LUFS    LRA:  9.6 LU    Peak: -1.9 dBFS
  9. PassI between -17 and -15, and Peak at -1.0 or lower. The guest went from 12.5 LU quieter than the host to 3.2 LU quieter. Skip the clean step and only set loudness, and the same file comes out at -17.2 LUFS, just outside Apple's range, with the guest still 6.5 LU quieter. Evening out the voices is what makes the difference.

    CarefulA meter measures volume, not quality. Always listen to the result on headphones. Noise reduction can make voices sound watery or robotic, especially on very noisy files. If it does, take afftdn=nf=-50:tn=1, out of the clean command, or use Audacity's Effect > Noise Removal and Repair > Noise Reduction, where you can hear the result before you apply it. Audacity also has Effect > Volume and Compression > Loudness Normalization (manual ↗) if you prefer clicking to typing.
  10. Video podcasts use the same steps, but keep the picture untouched (-c:v copy) and only rework the sound. auto-editor cuts the video too (the lesson explains the jump cuts and its 4K limit). Clean and finish for video:

    1. Clean (video)
    ffmpeg -i work\ep012-edit.mp4 -c:v copy -af "highpass=f=80,afftdn=nf=-50:tn=1,dynaudnorm=f=250:g=15" -c:a aac -b:a 256k work\ep012-clean.mp4
    3. Finish (video), after auto-editor has made ep012-cut.mp4
    ffmpeg -i work\ep012-cut.mp4 -c:v copy -af "aformat=channel_layouts=stereo,loudnorm=I=-16:TP=-1.5:LRA=11" -ar 48000 -c:a aac -b:a 192k -movflags +faststart deliver\smallshop-ep012.mp4
  11. A video test episode comes out at -15.9 LUFS, true peak -1.8 dBFS, with the picture copied across untouched.

  12. Or run the whole thing with one scriptThe kit's finish-episode.ps1 (or finish-episode.sh on a Mac or Linux) does all five steps plus the Whisper transcript, and says PASS or CHECK. Save it in your Clients folder once, then run it from inside each episode folder:

    Windows PowerShell
    cd $HOME\Clients\SmallShop\ep012
    powershell -ExecutionPolicy Bypass -File ..\..\finish-episode.ps1 -In work\ep012-edit.wav -Name smallshop-ep012 -Intro ..\01-assets\intro.mp3 -Outro ..\01-assets\outro.mp3
    Mac / Linux (save finish-episode.sh in your Clients folder)
    cd ~/Clients/SmallShop/ep012
    bash ../../finish-episode.sh --in work/ep012-edit.wav --name smallshop-ep012 --intro ../01-assets/intro.mp3 --outro ../01-assets/outro.mp3
    Output
    == 4/5 Measuring the finished file
       Loudness -15.8 LUFS (target -16, Apple allows +/-1), true peak -1.9 dBFS (must be -1 or lower): PASS
  13. It looks for auto-editor where the auto-editor lesson puts it ($HOME\auto-editor). If it's somewhere else, add -AutoEditor and its full path. If it can't find it, it says so and carries on without cutting. Add -NoDenoise if voices sound watery, and -SkipCaptions for the Clean package. The Mac and Linux script works the same way: it finds auto-editor on your PATH (or use --auto-editor and the full path), and takes --no-denoise and --skip-captions.

✓
CheckpointA practice recording of your own goes in, and a finished MP3 comes out with a loudness line that says PASS. You've timed yourself.
If it breaksThe check says CHECK, for example -17.2 LUFS + 3 more
The check says CHECK, for example -17.2 LUFS
Add a small gain at the very end of the filter, after the loudnorm part, for example ...LRA=11,volume=0.5dB. Use the gap to -16: at -16.5, add 0.5dB. The peak goes up by the same amount, so check it stays at -1.0 or lower. For example, that takes -16.4 to -15.9, with the peak at -1.8. Putting the gain before loudnorm does nothing, because it measures again and undoes it.
"running scripts is disabled on this system"
Use the exact command above. -ExecutionPolicy Bypass lets this one script run without changing any settings on your PC.
The voices pump or breathe (the background swells up between words)
That's the levelling working too hard. Change g=15 to g=31 (FFmpeg's default, which is smoother). That leaves the guest slightly quieter (3.6 LU instead of 2.8), which is still fine.
The guest is still much quieter
If they recorded on a phone across the room, no filter fully fixes it. Ask the client to record each person on a separate track, or to send the guest's own recording. That's a recording tip worth putting in your onboarding message.
Still stuck? Ask the community
Next mission · Services you can sellGet a plumber into the Google map pack, legally: their profile, reviews and website details
→