Annotation de diarisation de locuteurs
Construisez une tâche d'identification de locuteurs avec des formes d'onde audio, des marqueurs temporels et l'attribution d'étiquettes de locuteurs.
La diarisation de locuteurs répond à la question « qui a parlé quand ? » Ce tutoriel couvre la construction d'interfaces pour annoter les tours de parole, corriger la diarisation automatique et gérer les conversations multi-locuteurs.
Qu'est-ce que la diarisation de locuteurs ?
La diarisation de locuteurs segmente l'audio en régions homogènes par locuteur. Les applications incluent :
- Transcription de réunions
- Analyse de centres d'appels
- Production de podcasts
- Traitement d'interviews
- Enregistrements juridiques/de tribunal
Configuration basique de la diarisation
annotation_task_name: "Speaker Diarization"
data_files:
- "data/conversations.json"
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
description: "Mark when each speaker talks"
labels:
- name: Speaker 1
color: "#FF6B6B"
keyboard_shortcut: "1"
- name: Speaker 2
color: "#4ECDC4"
keyboard_shortcut: "2"
- name: Speaker 3
color: "#45B7D1"
keyboard_shortcut: "3"
- name: Overlap
color: "#FFEAA7"
keyboard_shortcut: "o"
- name: Silence
color: "#9CA3AF"
keyboard_shortcut: "s"Créer des segments de locuteurs
Flux de travail
- Lancez la lecture audio ou cliquez sur la forme d'onde pour naviguer
- Cliquez et faites glisser sur la forme d'onde pour sélectionner une plage temporelle
- Appuyez sur une touche numérique ou cliquez sur une étiquette de locuteur
- Le segment est coloré et étiqueté
- Ajustez les limites en faisant glisser les bords
- Continuez jusqu'à ce que l'audio entier soit segmenté
Contrôles clavier
Potato fournit des raccourcis clavier intégrés pour le contrôle de la lecture audio, incluant la lecture/pause et la navigation.
Correction de diarisation pré-annotée
Souvent, vous corrigerez une diarisation automatique :
data_files:
- "data/auto_diarized.json"Format des données :
{
"id": "meeting_001",
"audio_path": "/audio/meeting_001.wav",
"auto_segments": [
{"start": 0.0, "end": 3.5, "speaker": "Speaker 1"},
{"start": 3.5, "end": 8.2, "speaker": "Speaker 2"},
{"start": 8.2, "end": 12.0, "speaker": "Speaker 1"}
]
}Informations détaillées sur les locuteurs
Capturez des métadonnées supplémentaires sur les locuteurs :
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
labels:
- name: Speaker A
color: "#FF6B6B"
- name: Speaker B
color: "#4ECDC4"
- name: Speaker C
color: "#45B7D1"
- name: Unknown
color: "#9CA3AF"
# Speaker characteristics
- annotation_type: radio
name: speaker_a_gender
description: "Speaker A Gender"
labels:
- Male
- Female
- Unknown
- annotation_type: text
name: speaker_a_role
description: "Speaker A Role (if identifiable)"
- annotation_type: radio
name: speaker_b_gender
description: "Speaker B Gender"
labels:
- Male
- Female
- UnknownGestion de la parole superposée
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
labels:
- name: Speaker 1
color: "#FF6B6B"
- name: Speaker 2
color: "#4ECDC4"
- name: Overlap
color: "#FFEAA7"Diarisation de réunion/interview
annotation_task_name: "Meeting Diarization"
data_files:
- "data/meetings.json"
annotation_schemes:
# Speaker turns
- annotation_type: audio_annotation
name: turns
description: "Mark each speaker turn"
labels:
- name: Moderator
color: "#EF4444"
keyboard_shortcut: "m"
- name: Participant 1
color: "#3B82F6"
keyboard_shortcut: "1"
- name: Participant 2
color: "#10B981"
keyboard_shortcut: "2"
- name: Participant 3
color: "#F59E0B"
keyboard_shortcut: "3"
- name: Participant 4
color: "#8B5CF6"
keyboard_shortcut: "4"
- name: Unknown
color: "#6B7280"
keyboard_shortcut: "u"
- name: Overlap
color: "#FCD34D"
keyboard_shortcut: "o"
- name: Silence/Noise
color: "#D1D5DB"
keyboard_shortcut: "s"
# Speech type annotation
- annotation_type: radio
name: speech_type
description: "Type of speech"
labels:
- Statement
- Question
- Response
- Interruption
- Backchannel
# Overall quality
- annotation_type: radio
name: recording_quality
description: "Overall recording quality"
labels:
- Excellent - All speakers clear
- Good - Most speech understandable
- Fair - Some difficulty
- Poor - Significant issuesFormat de sortie
{
"id": "meeting_001",
"audio_path": "/audio/meeting_001.wav",
"annotations": {
"turns": [
{
"start": 0.0,
"end": 5.2,
"label": "Moderator",
"attributes": {
"speech_type": "Statement"
}
},
{
"start": 5.2,
"end": 12.8,
"label": "Participant 1",
"attributes": {
"speech_type": "Response"
}
},
{
"start": 11.5,
"end": 12.8,
"label": "Overlap"
}
],
"recording_quality": "Good - Most speech understandable"
}
}Conseils pour la diarisation
- Écoutez d'abord : familiarisez-vous avec les locuteurs avant d'annoter
- Notez les caractéristiques des locuteurs : hauteur de voix, accent, style de parole
- Gérez les chevauchements de manière cohérente : décidez d'une stratégie à l'avance
- Utilisez le contrôle de vitesse : ralentissez pour les sections difficiles
- Marquez l'incertitude : il est normal d'utiliser « Unknown » quand nécessaire
Prochaines étapes
- Combinez avec la transcription pour des comptes rendus de réunion complets
- Ajoutez la détection d'émotions par locuteur
- Configurez le contrôle qualité pour l'accord multi-annotateurs
Voir /docs/features/audio-annotation pour la documentation audio complète.