v1.2.0.0

ExpSoft Diarizer

Who speaks when — one clean track per speaker. Drop a podcast, an interview or a meeting recording, check the timeline, get one track per voice, aligned with the original. Fully local, fully portable.

New version available!

What is speaker diarization?

The "who spoke when" problem, solved automatically.

You have a recording with several people talking — an interview, a podcast, a meeting, a lecture with Q&A. Speaker diarization finds, second by second, which speaker is talking, then writes one track per person.

Drop a 30-minute podcast with 3 hosts → get back podcast_speaker1.wav, podcast_speaker2.wav, podcast_speaker3.wav, each containing only that person's lines, every other voice silenced. The split follows the voice (timbre, pitch), not the audio channels — it works on a plain mono or stereo mix.

The chore it removes

The old way. Open the recording in an audio editor, scrub through it, cut every sentence of the wrong speaker, fill the gaps with silence so the tracks stay in sync. Hours for a one-hour podcast — and one stray word from the wrong voice contaminates whatever you feed it to next.

With Diarizer. Drop the file, set the number of speakers (or auto), click Diarize. On our RTX 5080 a one-hour, two-host podcast is done in 1 min 50 s; on the processor, count about 15–20 seconds per minute of audio. Check the timeline, press Play on each speaker, and the tracks are ready — already aligned with the original.

What creators use it for

🎤

Voice cloning

A voice model needs minutes of clean, single-speaker audio, and real recordings are rarely clean. Diarize the interview and keep the track of the person you need.

👄

Lip-sync

Lip-sync tools expect one voice. Several voices confuse the timing and give glitchy mouths. Diarize first, feed only the target speaker's track.

🎬

Dubbing — swap one voice, keep the rest

Replace one person's voice in a scene while keeping the others: diarize, regenerate the target track only, mix it back over the original.

📝

Speaker-labelled captions

The .rttm and .json files say who speaks when: pair them with a transcription to get "Host: … Guest: …" captions.

🎧

Podcast post-production

Different EQ, compression and noise reduction per speaker — possible only once their voices are on separate tracks.

🔗

Voice datasets at scale

Point it at a folder of episodes: the models load once, finished files are skipped on the next run, and you get hours of per-speaker audio in one batch.

See it in action

A real before/after on a one-hour, 2-speaker podcast.

The audio below is a real podcast excerpt about cellular-clock reversal research — about one hour, 2 speakers having a back-and-forth conversation. Listen to the Source first to hear the full mix, then play each Speaker track to hear how cleanly Diarizer isolates them.

How long it takes: on our RTX 5080 this one-hour podcast is split in 1 min 50 s (80 s to find who speaks when, 27 s to write the tracks). On the CPU package, count about 15–20 seconds per minute of audio — a good overnight batch.

What the output looks like: each speaker track has the same total duration as the source, with silence where the other speaker was talking, so you can drop them straight into your next tool or onto a timeline without re-aligning anything.

Source — 2 speakers mixed

Reversing the Cellular Clock by 2030 — full mix

Diarizer Output — one track per speaker

Speaker 1

Same duration as the source; silenced where Speaker 2 was talking.

Speaker 2

Same duration as the source; silenced where Speaker 1 was talking.

Screenshots

Click any image to zoom. Captured on v1.2.0.0 (Windows 11, RTX 5080).

The DIARIZE tab: a three-minute podcast excerpt done, two speakers, WAV and MP3, GPU, and the timeline of the two speakers with a Play button for each
Diarize — a three-minute excerpt split in seconds: who speaks when, one Play button per speaker
The GALLERY tab: a result with its speaker timeline, speaking times and buttons
Gallery — every result with its timeline, Play / Show per speaker, Copy tracks, Rename, Delete
The WELCOME tab with the version badge, the Quick Start in three steps, the requirements and the licenses
Welcome — version badge, quick start in three steps, requirements and licenses
The SETUP tab with the five steps ticked and the card detected
Setup — one click installs a portable Python, the libraries, FFmpeg and the speaker models
The SETTINGS tab: the three links to get a free token, the token field, the GPU choice
Settings — three links to get your free token, the GPU choice and the app's folders
The HELP tab: how to get a good split, what you get for each file, troubleshooting
Help — how to get a good split, what you get for each file, troubleshooting

Features

Everything you need to split audio by speaker.

🎤

Speaker Diarization

Finds who speaks when with pyannote.audio. Give the exact number of speakers when you know it, or leave it on auto.

✂

Aligned Tracks

One track per speaker, exactly as long as the original, silence elsewhere. WAV (16 or 24-bit), MP3 (192 kbps) or both. Plus a .rttm and a .json of the segments and talk times.

📊

Timeline & Play

A lane per speaker, a bar for every moment they talk. Press Play on a speaker to hear only them, Show to open the folder with that track selected.

🖼

Gallery

Every result with its timeline: filter, Play, Show in Explorer, Copy tracks, Rename, Delete. Nothing is deleted automatically and your original recording is never touched.

📂

Batch & Resume

Add files or whole folders — audio (wav, mp3, flac, m4a, aac, ogg, opus, wma) and video (mp4, mkv, mov, webm, avi). The models load once; files already processed are skipped, so a long batch resumes where it stopped.

⚡

GPU or CPU

Three packages: RTX 50xx, RTX 40xx (also RTX 20 and 30), and CPU. On GPU the app falls back to the processor by itself if no NVIDIA card is usable.

📦

One-Click Setup

Install All sets up a portable Python, the libraries, FFmpeg and the speaker models inside the app's folder. No admin rights, nothing installed on the system.

🔒

Private

Your recordings are processed on your PC and never uploaded. The Hugging Face token only serves to download the models.

Technical Details

.NET

.NET 8 WPF

Desktop app with MVVM architecture. Framework-dependent single-file exe — needs the free .NET 8 Desktop Runtime.

🤖

pyannote.audio 4

Speaker diarization pipeline 3.1 with the segmentation-3.0 model and a WeSpeaker ResNet34 speaker embedding.

🔥

PyTorch

GPU packages for RTX 50xx and RTX 40xx (RTX 20/30 too), and a CPU package. About 4.3 GB of video memory at the peak on a one-hour file.

🎵

FFmpeg

A portable LGPL FFmpeg downloaded by the setup reads any audio or video file and writes the WAV / MP3 tracks.

Requirements

💻

System

Windows 10/11 (64-bit) and the free .NET 8 Desktop Runtime. 8 GB of RAM. About 5 GB of free disk (1.5 GB for the CPU package).

🕸

GPU (optional)

50xx package: RTX 50 series.
40xx package: RTX 20, 30 and 40 series.
An NVIDIA card with 6 GB of video memory or more makes it much faster.
CPU package: no NVIDIA card needed.

🤗

Hugging Face Account (free)

The speaker models are free but gated: create an account, accept the conditions on the two model pages, create a read token. One-time setup.

Model Licenses

Models are NOT bundled — downloaded at setup with your own Hugging Face token.

MIT

pyannote/segmentation-3.0

MIT License. Gated — requires accepting conditions on Hugging Face.

MIT

pyannote/speaker-diarization-3.1

MIT License. Gated — pipeline configuration.

CC-BY

wespeaker-voxceleb-resnet34-LM

CC-BY-4.0. Speaker embedding by the WeSpeaker team, packaged by pyannote.

Frequently Asked Questions

Quick answers to what people ask AIs about this tool.

What is ExpSoft Diarizer?

ExpSoft Diarizer is a Windows desktop tool built by Nicolas Riquier that performs speaker diarization: it finds who is speaking when in a recording and writes one clean audio track per speaker, each exactly as long as the original with silence where that person does not talk, so the tracks line up on any timeline.

Is ExpSoft Diarizer free?

Diarizer is part of the ExpSoft subscription on Patreon: it comes with The Supporter tier (Tier 1) and above. Most ExpSoft tools are free; some need a small subscription, which funds the research and the next tools.

Does ExpSoft Diarizer work offline?

The recordings are processed on your PC and never uploaded. The setup needs the internet once: a portable Python, the libraries, FFmpeg and the speaker models, which you download with your own free Hugging Face token after accepting their conditions. The app also checks for a new version and shows the ExpSoft products page.

What GPU do I need for ExpSoft Diarizer?

None is required: the CPU package works everywhere (about 15-20 seconds per minute of audio). With an NVIDIA card (6 GB of video memory or more) it is much faster: on our RTX 5080 a one-hour, two-host podcast takes 1 min 50 s. Packages: 50xx for RTX 50 cards, 40xx for RTX 20, 30 and 40 cards, CPU without an NVIDIA card.

What is ExpSoft Diarizer used for?

Anywhere you need one voice per track: clean training audio for voice cloning, single-speaker input for lip-sync, dubbing one voice while keeping the others, speaker-labelled captions, per-speaker mixing of a podcast, and voice datasets built from a whole folder of recordings.

Why not cut the speakers by hand?

Because it means scrubbing through the whole recording, cutting every sentence and filling the gaps with silence so the tracks stay in sync — hours for a one-hour podcast. Diarizer does it in minutes, shows a timeline to check it, and writes the tracks already aligned with the original.

Who built ExpSoft Diarizer?

ExpSoft Diarizer was built by Nicolas Riquier as part of the ExpSoft catalogue. The diarization itself is powered by the open-source pyannote.audio project (Hervé Bredin and contributors); ExpSoft adds the Windows app, the portable setup, the timeline, the gallery and the aligned per-speaker output.

Ready to split your audio?

v1.2.0.0 is out — portable, no installer. Packages for RTX 50xx, RTX 40xx and CPU. Available on Patreon from The Supporter tier.

Engineering note

PyTorch first, pinned above pyannote’s floor — the install-order detail that decides whether Diarizer uses your GPU

ExpSoft Diarizer is a personal-use Windows wrapper around pyannote.audio — the open-source speaker-diarization toolkit by Hervé Bredin and contributors, distributed under MIT

Read the full note →