一键导入
diarization
Speaker diarization — identifies and tracks who is speaking at each moment in an audio stream
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Speaker diarization — identifies and tracks who is speaking at each moment in an audio stream
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Edit, transform, and enhance images using AI models
Extract text from images using OCR and vision AI
Neural text-to-speech via Amazon Polly
Semantic endpoint detection — uses an LLM to classify whether the user's utterance is a complete thought, reducing false turn boundaries on mid-sentence pauses
Batch speech-to-text via Google Cloud Speech-to-Text API
Text-to-speech synthesis via Google Cloud Text-to-Speech API
| name | diarization |
| description | Speaker diarization — identifies and tracks who is speaking at each moment in an audio stream |
| category | voice |
Speaker diarization for the AgentOS voice pipeline. Supports two modes:
diarize: true). Zero additional compute, no voiceprint model needed.No API key required for local mode. For provider mode, enable diarization on your STT provider (e.g. providerOptions.diarize: true on the Deepgram STT pack).
{
"voice": {
"diarization": "local"
}
}
To use provider-delegated diarization:
{
"voice": {
"diarization": "provider",
"stt": "deepgram",
"providerOptions": { "diarize": true }
}
}
Pre-register known speakers so the engine can label them by name instead of Speaker_N:
await session.enrollSpeaker('Alice', aliceVoiceprintFloat32Array);
await session.enrollSpeaker('Bob', bobVoiceprintFloat32Array);
| Event | Payload | Description |
|---|---|---|
speaker_identified | SpeakerIdentified | Emitted whenever the active speaker label changes |
segment_ready | DiarizedSegment | A labelled audio or transcript segment is ready |
error | Error | Unrecoverable diarization error |
close | — | Session fully terminated |
The built-in feature extractor computes a 16-dimensional vector per 1.5 s window (0.5 s overlap):
This is intentionally lightweight. Replace LocalDiarizationBackend.extractSimpleEmbedding() with an ONNX x-vector model for production-quality voiceprints.
ClusteringStrategy runs agglomerative merging whenever the centroid count exceeds expectedSpeakers. Centroids with cosine similarity above mergeThreshold (default 0.85) are collapsed into a single speaker identity.