speaker-diarization
Advanced speaker diarization using pyannote-audio. Identify who speaks when, detect multiple speakers, handle overlapping speech, and create speaker-specific segments. Use when you need accurate speaker identification, multi-speaker content analysis, or speaker-specific clip extraction. More accurate than Gemini's built-in diarization for complex scenarios.
npx skills add majiayu000/claude-skill-registry --skill speaker-diarization --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Speaker Diarization Advanced speaker diarization using **pyannote-audio** - state-of-the-art neural network models for speaker identification. ## When to Use **Use this skill when:** - Video has multiple speakers (podcasts, interviews, panels) - You need accurate speaker identification - Content has overlapping speech (people talking over each other) - You want speaker-specific clips - Gemini's diarization isn't accurate enough - Working with multi-language or mixed speakers **Don't use when:** - Single speaker content (use basic transcription instead) - Real-time processing needed (this is offline/batch) - Storage is limited (models require ~2GB) ## Why pyannote-audio? **Benchmarks (Diarization Error Rate - lower is better):** - **pyannote community-1**: 17.0% on AMI dataset - **Gemini/Whisper**: ~25-30% error rate - **35% accuracy improvement** over cloud APIs! **Advantages:** - ✅ **Local processing** - Privacy, no API costs - ✅ **Better accuracy** - State-of-the-art neural models - ✅ **Overlapping speech detection** - Identifies when people talk simultaneously - ✅ **Precise timestamps** - Millisecond-accurate speaker boundaries - ✅ **No internet required** - After initial mode
- When to Use
- Why pyannote-audio?
- Available Scripts
- scripts/diarize.py
- scripts/extractspeakersegments.py
- scripts/analyzespeakerdynamics.py
- Setup
- 1. Install Dependencies
- 2. Get HuggingFace Token
- 3. Set Environment Variable
- How AI Agents Decide
- Integration with Other Skills
- Enhanced video-transcriber
- Enhanced highlight-scanner
python skills/speaker-diarization/scripts/diarize.py <video_path> [options] export HUGGINGFACE_TOKEN="your-token" python skills/speaker-diarization/scripts/diarize.py podcast.mp4 python skills/speaker-diarization/scripts/diarize.py interview.mp4 --min-speakers 2 --max-speakers 3 python skills/speaker-diarization/scripts/diarize.py panel.mp4 --output rttm python skills/speaker-diarization/scripts/extract_speaker_segments.py <video_path> <diarization_json> [options] python skills/speaker-diarization/scripts/extract_speaker_segments.py podcast.mp4 podcast_diarization.json python skills/speaker-diarization/scripts/extract_speaker_segments.py podcast.mp4 podcast_diarization.json --speaker SPEAKER_00 python skills/speaker-diarization/scripts/extract_speaker_segments.py interview.mp4 diarization.json --context 3.0 python skills/speaker-diarization/scripts/analyze_speaker_dynamics.py <diarization_json> [options]
What does the speaker-diarization skill do?
Advanced speaker diarization using pyannote-audio. Identify who speaks when, detect multiple speakers, handle overlapping speech, and create speaker-specific segments. Use when you need accurate speaker identification, multi-speaker content analysis, or speaker-specific clip extraction. More accurate than Gemini's built-in diarization for complex scenarios.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill speaker-diarization --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
