elumenotion/guideants/audiocpp-diarize
Claude Code and agent skill by elumenotion/guideants
- community
Checking that the SKILL.md file is still in the repository.
Speaker diarization: figure out who spoke when in a recording and produce a speaker-labeled transcript, by spawning a private audio.cpp engine with the sortformer diarization model and labeling each turn with the local ASR engine. Use when the user asks to diarize a meeting or call recording, separate or identify speakers, or wants a transcript broken down by speaker.
Install
npx vskill@latest install elumenotion/guideants/audiocpp-diarizeSKILL.md
audio.cpp speaker diarization (experimental)
GuideAnts has no local diarization (only its Azure cloud transcription provider does it), but the container's audiocpp_server binary ships the sortformer_diar loader and a generic /v1/tasks/run route. This skill downloads the model once, spawns a private engine, and turns any recording into a speaker-labeled transcript. Deliverables land in Output/; the live voice path is untouched. E2E-verified in this stack (2026-07-15).
Preflight
Trust its verdict over this document. It also tells you whether the model is already on disk (skip the download) and whether ASR labeling is available.
The recipe
diarize.py converts the input to the 16 kHz mono WAV the engine requires (the raw engine does not resample), fetches speaker turns, merges/filters them, and — when the GuideAnts ASR engine is up — transcribes each turn. Outputs: <base>.transcript.txt (speaker-labeled, timestamped) and <base>.diarization.json (structured turns with confidences).
Options that matter
--turns-only— skip ASR labeling (or it degrades to this automatically,
with a note, when no ASR model is loaded).
--language <hint>— passed to the ASR engine per turn.--merge-gap-seconds/--min-turn-seconds— shape the output without
touching the engine.
- Engine-side tuning needs a re-spawn with e.g.
--option speaker_threshold=0.4 (also: speaker_min_frames, speaker_pad_frames, session_len_sec).
Limits — say these to the user when relevant
- Offline only; at most 4 speakers (model variant).
- Speaker ids (
SPEAKER_00…) are arbitrary labels — ask the user who is who
if they want real names in the deliverable.
- Long recordings: per-turn labeling can hit the ~5-minute script budget; the
JSON then has "labeling": {"partial": true} — rerun diarize.py (the diarization pass itself is fast; only labeling resumes slowly).
Reporting
End by telling the user what worked and what was blocked, quoting the preflight/engine evidence.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsamples/guides/Audiocpp/Skills/audiocpp-diarize/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/elumenotion/guideants/audiocpp-diarize)