원클릭으로
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.