Debleed Podcast is a free script for DaVinci Resolve Studio that removes mic bleed from podcast recordings with two or three speakers. It cuts each speaker's clip into pieces and mutes the pieces that only carry someone else's voice. Nothing gets rendered, and every muted piece can be switched back on with one key. You can download it from GitHub. It's MIT-licensed and free for commercial use too.
What mic bleed is and why it slows down editing
When three people sit around a table, each microphone picks up its own speaker and, at a lower level, the other two. Play one track solo and you hear the neighbours as a faint, roomy echo. Mixed together, those echoes stack up: the sound gets hollow, and every phrase arrives a few milliseconds late on the other mics.
Usually you fix this by hand. You go through the timeline, find each piece where a track carries only someone else's voice, cut it out and disable it. On a 45-minute episode with three speakers that's a lot of cuts. Gates and expanders help a bit, but they react to loudness, and a loud neighbour on your mic can be just as loud as a quiet "uh-huh" from your own speaker.
I record and edit podcasts and video interviews in Barcelona, and that manual pass comes up on every multi-mic episode. So I wrote a script that does it for me.
What Debleed Podcast does
Debleed Podcast works right on the Resolve timeline:
It cuts each speaker's clip into pieces and disables the ones with echo only.
It doesn't render or export anything. Every piece still points to your original audio file.
It colours the pieces so you can check the result at a glance: green for the speaker's own voice, yellow for short replies over someone else's speech, pink where people talk at the same time. Muted echo shows up grey.
By default it duplicates the timeline first, so the untouched version stays in your Media Pool.
A 45-minute recording with three people takes about 3–4 minutes to process. Resolve doesn't respond while it runs, so let it finish.
How it tells a voice from its echo
The echo of voice A on microphone B is a copy of voice A, filtered by the room. So its spectrum can be predicted from track A. Every 10 ms the script compares the tracks and keeps a piece on track B only when B has sound that voice A and room noise can't explain: a different pitch, different formants.
That's why it can separate a quiet "uh-huh" from echo even when both are equally loud, which a simple gate can't do. The echo level is estimated separately for every minute of the recording, so people leaning back or moving in their chairs don't break the result.
Requirements
DaVinci Resolve Studio. Tested on Resolve Studio 21 for Windows. The free version won't work: since 19.1, Blackmagic has disabled script windows (UIManager) in the free edition. macOS should work the same way but hasn't been tested yet.
Python 3, 64-bit. Resolve uses the Python installed on your computer. Tested with Python 3.13.
numpy and soundfile. The script won't start without them.
How to install it
Install the libraries into the same Python that Resolve uses: pip install numpy soundfile. If you have several Python versions, check which one Resolve sees in Workspace → Console → Py3.
Copy Debleed Podcast.py into the Resolve scripts folder. On Windows that's %APPDATA%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts\Utility\.
Restart Resolve. The script appears under Workspace → Scripts → Debleed Podcast.
How to use it
Sync the speaker tracks first. It works best right after syncing, when each speaker has one long clip on their own track.
Open the script, choose 2 or 3 speakers and pick each speaker's track.
Choose where the pieces go: cut in place, move them to a new track, or use an existing one.
Press Cut. If you just want to see what it would do, press Analyze only.
If the result isn't quite right, change the settings and press Cut again. The script joins its previous pieces back together and cuts from scratch.
The settings that matter most
Echo strictness (11 dB by default): how much louder than the expected echo a sound must be to count as the speaker's own voice. Raise it to remove more echo.
Sensitivity (5 by default): raise it to 7 or higher if quiet replies matter more to you than a little leftover echo.
Tail after a phrase (250 ms): keeps word endings and breaths from being chopped off.
Don't mute pieces shorter than (300 ms): stops the track from flickering on short pauses.
The interface comes in ten languages, including English, Spanish, Russian, French, German and Chinese.
Limitations
Each speaker needs their own microphone and their own track, and the clips have to overlap in time. A very quiet "uh-huh" sitting exactly at echo level can get muted at the default sensitivity. The script only processes clips that come from the same file as the longest clip on a track and leaves the rest alone.
Why I'm giving it away
I built Debleed Podcast for our own podcast edits at Visual Harmony. It seemed wasteful to keep it to myself, so it's on GitHub under the MIT license: use it, change it, ship it in paid work. If it saves you editing time, a star on GitHub or a tag on Instagram @visualharmony.pro is the best thank-you. Bug reports with the debug log are welcome in the repo's issues.
FAQ
Does Debleed Podcast work in the free version of DaVinci Resolve?
No. Since version 19.1 the free edition doesn't run script windows, so you need Resolve Studio.
Does it change my audio files?
No. It only cuts and disables clips on the timeline. The original files stay as they are, and the timeline is duplicated before cutting by default.
How many speakers does it support?
Two or three, each on their own microphone and track.
Is it free for commercial projects?
Yes. It's released under the MIT license.
Need a podcast recorded and edited in Barcelona?
We record video podcasts with separate mics, clean sound and multicam, and edit them for YouTube and social media. Tell me about your show or see how we work on expert interviews and video podcasts.