ExpSoft›Diarizer›Help

Diarizer User Guide

Drop a podcast, an interview or a meeting recording and get one clean track per speaker. Every track is exactly as long as the original, with silence where that person does not talk, so all the tracks line up on any timeline. Four steps take you from your free account to your first split.

ExpSoft Diarizer v1.2.0.0 4 steps · about 20 minutes, most of it downloading Complexity: Easy

Before you start

Splitting a conversation into one track per voice by hand 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. The Diarizer listens to the whole file, finds who speaks when, and writes the tracks for you: a one-hour, two-host podcast takes under two minutes on a recent NVIDIA card. Use the tracks for voice cloning, lip-sync, dubbing, captions or a clean mix.

  • Windows 10 or 11, 64-bit, with 8 GB of RAM and about 5 GB of free disk (1.5 GB for the CPU package).
  • The free .NET 8 Desktop Runtime. If it is missing, Windows offers to download it the first time you start the app.
  • An NVIDIA card with 6 GB of video memory or more makes it much faster, but it is not required: the app also runs on the processor.
  • ExpSoft Diarizer comes with the ExpSoft subscription on Patreon, from The Supporter tier (Tier 1) and above.
  • Three packages: 50xx for RTX 50 series cards, 40xx for RTX 20, 30 and 40 series cards, CPU for a PC without an NVIDIA card.
  • A free Hugging Face account. The speaker models are made by pyannote: they are free, but you must accept their conditions before downloading them (Step 1).
Everything stays on your PC. The app, its Python, the models and your results all live inside the app's folder — nothing is installed on your system, no administrator rights are needed, and no recording is ever uploaded. The app goes online only to download what the setup needs, to check for a new version and to show the More Tools ? tab.

The window at a glance

The WELCOME tab of ExpSoft Diarizer with the seven tabs, the version badge, the Quick Start in three steps and the requirements
The WELCOME tab. Click the image to enlarge it.
  1. 1
    The tabs — Setup installs everything, Diarize splits your recordings, Gallery keeps every result, Settings holds your token and your card, Help repeats the essentials, More Tools ? shows the other ExpSoft tools.
  2. 2
    Version badge — says whether a newer version is available; click it to see it.
  3. 3
    Quick Start — this guide in three lines.
  4. 4
    Requirements — the same list as above.

Every button has a tooltip: hover it to read exactly what it does.

Step 1

Your free token

Open the SETTINGS tab. You do this once.

The SETTINGS tab: three numbered links to create an account, accept the model conditions and create a token, the token field (masked here), the Save button, the GPU choice and the paths of the app's folders
SETTINGS. The token is masked on this picture.
  1. 1
    The three links — create a free account; on both model pages, fill in the short form and click Agree and access repository; then create a read token.
  2. 2
    The token field — paste the token here. It is saved as you type, kept in config\settings.json next to the app, and only sent to Hugging Face to download the models.
  3. 3
    Save — just confirms: the token is already saved.
  4. 4
    GPU — the card used when the Diarize tab is set to GPU. With a single card, leave GPU 0.
  5. 5
    Paths — where the models, the runtime and your data live.
A token alone is not enough. Accept the conditions on both model pages, with the same account as the token, or the download stops with access refused.
Step 2

Install

Open the SETUP tab and click Install All. It happens once.

The SETUP tab with the five steps all ticked, the card detected, and the installation log listing what was found
SETUP, once everything is installed.
  1. 1
    Check prerequisites — scans your card, your memory and what is already installed, and writes what it found in the log. It installs nothing.
  2. 2
    Install All — downloads and sets up everything in order: a portable Python, the libraries (about 3.5 GB, 1 GB for the CPU package), FFmpeg (about 90 MB) and the speaker models (about 35 MB, with your token). Allow 10 to 20 minutes on a good connection; on ours it took under 8 minutes.
  3. 3
    Your card — its name, video memory and driver, and the system memory.
  4. 4
    The steps — a green tick means done. A step already done is skipped next time; a failed step can be retried on its own.
  5. 5
    The log — every command and its result, also saved in data\logs.
Coming from version 1.1? Copy your old models folder into the new app's folder: it is recognised as is, with no token and no download.
Step 3

Split a recording

Open the DIARIZE tab, add your files, choose the options, click Diarize.

The DIARIZE tab: a three-minute podcast excerpt done, the options set to two speakers, WAV and MP3, GPU, and on the right the timeline of the two speakers with a Play button for each
A three-minute podcast excerpt, split in 6 seconds.
  1. 1
    Add files… / Add folder… — or drop files and folders onto the box. Audio (wav, mp3, flac, m4a, aac, ogg, opus, wma) and video (mp4, mkv, mov, webm, avi — their sound is used).
  2. 2
    The queue — each file with its state: waiting, done, skipped or failed.
  3. 3
    Options — Speakers: the exact number of people if you know it (more reliable), or auto. Format: WAV (lossless, 16-bit, or 24-bit when the source is 24-bit), MP3 (192 kbps, about ten times smaller) or both. Device: GPU (falls back to the processor by itself if no NVIDIA card is usable) or CPU.
  4. 4
    Output folder — by default data\outputs\diarize inside the app's folder. Browse… picks another one (remembered), Default goes back.
  5. 5
    Skip files already processed — a file whose result is already in the folder is not processed again, so a long batch resumes where it stopped.
  6. 6
    Diarize — processes the whole queue; the models load once for the batch. Cancel stops at once: no half-written track is left, finished files are kept.
  7. 7
    Latest result — who speaks when: one lane per speaker, one bar per moment that person talks.
  8. 8
    Play / Show — listen to one speaker inside the app, or open the folder with that track selected.
  9. 9
    The log — the progress of the run, file by file.
Step 4

The gallery

Every file you processed is listed in the GALLERY tab, with its speakers. Nothing is deleted automatically.

The GALLERY tab: the three-minute excerpt and the one-hour podcast, each with its speaker timeline, its speaking times and its buttons
The gallery: here a three-minute excerpt and the whole one-hour podcast.
  1. 1
    Filter — type part of a name to find a result.
  2. 2
    Open folder / Refresh — the gallery shows the output folder of the Diarize tab; refresh it after changing files outside the app.
  3. 3
    The timeline — who speaks when, over the whole file.
  4. 4
    Show in Explorer · Copy tracks · Rename · Delete — copy every track of a result to paste it in Explorer, a chat or your editor; rename all its files at once; delete them (the app asks first — your original recording is never touched).
  5. 5
    Play / Show — per speaker, as in the Diarize tab.

What you get

For a recording named interview.mp3:

interview_speaker1.wav interview_speaker1.mp3 interview_speaker2.wav interview_speaker2.mp3 interview.rttm interview.diarization.json
  • One track per speaker, exactly as long as the original, with silence where that person does not talk: drop them on a timeline and they line up. Speaker 1 is the first voice the model labelled, not necessarily the first one you hear.
  • The .rttm — who speaks when, in RTTM, the standard text format of speaker diarization.
  • The .json — the same segments, the talk time of each speaker, the settings and the timings. It is written last: its presence means the file is done, which is how a batch resumes.

Where two people talk at the same moment, that moment is written into both of their tracks.

How to get a good split

  • Give the exact number of speakers when you know it. It is the single biggest lever. auto is fine for unknown recordings.
  • Two lanes that mirror each other on the timeline mean the same person was split in two: run again with one speaker less.
  • Clean audio in, clean tracks out. Background music, heavy reverb and people talking over each other make the split harder.
  • Check with Play. Press Play on each speaker to hear only them.

Not in this version: transcription (who said what, as text), naming the speakers from voice samples, live microphone input.

How fast is it?

Measured on our test PC (RTX 5080, 16 GB of video memory). Your card will give other numbers.

RecordingDeviceTime
One-hour podcast, two hosts → two MP3 tracksGPU1 min 50 s — 80 s to find who speaks when, 27 s to write the tracks
Three-minute excerpt → WAV and MP3 tracksGPU6 seconds
A batch of three files (two 2-minute recordings and a 90-second video), speakers on autoGPU13 seconds
Thirty seconds of 24-bit audioCPU (20 threads)4.4 seconds to find who speaks when

The engine used about 4.3 GB of video memory at its peak on the one-hour file.

Files the app writes

Everything the app installs and writes stays in its folder.

  • runtime\ — the portable Python, its libraries and FFmpeg, installed by Setup.
  • models\ — the three speaker models.
  • data\outputs\diarize\ — your results (unless you picked another output folder).
  • data\logs\ — latest.log, one setup_*.log per day and one run_*.log per run.
  • config\settings.json — your token and your settings.
  • cache\ — download cache of the setup.

Troubleshooting

Windows asks me to install .NET when I start the app

The app needs the free .NET 8 Desktop Runtime. Accept the download Windows offers, install it, then start the app again.

"Access refused" during the Models step

The conditions of a model were not accepted with the account of the token. Open the two pages linked in SETTINGS, click Agree and access repository on each, then retry the Models step.

"Smart App Control blocked a Python extension"

A Windows policy of your PC, not a broken install: the app retries by itself. If the message comes back, run the step once more.

The same person shows up as two speakers

Set the exact number of speakers instead of auto, or run again with one speaker less. Untick Skip files already processed, or delete the old result in the gallery first, so the file is processed again.

The More Tools tab is blank

It needs the WebView2 runtime and an internet connection; the link it shows opens the catalogue in your browser.

Something went wrong. What should I send?

data\logs\latest.log has the full story, and every run writes its own run_*.log. Send them to ExpSoft with a word on what you clicked.