Anotação de Áudio
Segmente arquivos de áudio no Potato e atribua rótulos a regiões de tempo. Exibe uma forma de onda interativa com controles de reprodução, ajuste de velocidade e marcação de limites de tempo.
A ferramenta de anotação de áudio do Potato permite que os anotadores segmentem arquivos de áudio e atribuam rótulos a regiões de tempo por meio de uma interface baseada em forma de onda.
Recursos
- Visualização de forma de onda
- Criação de segmentos baseada em tempo
- Atribuição de rótulos a segmentos
- Controles de reprodução com velocidade variável
- Navegação com zoom e rolagem
- Atalhos de teclado
- Cache de forma de onda no servidor
Configuração Básica
annotation_schemes:
- name: "speakers"
description: "Mark when each speaker is talking"
annotation_type: "audio_annotation"
labels:
- name: "Speaker 1"
color: "#3B82F6"
- name: "Speaker 2"
color: "#10B981"Opções de Configuração
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | Obrigatório | Identificador único da anotação |
description | string | Obrigatório | Instruções exibidas aos anotadores |
annotation_type | string | Obrigatório | Deve ser "audio_annotation" |
mode | string | "label" | Modo de anotação: "label", "questions" ou "both" |
labels | list | Condicional | Obrigatório para os modos label ou both |
segment_schemes | list | Condicional | Obrigatório para os modos questions ou both |
min_segments | integer | 0 | Número mínimo de segmentos exigido |
max_segments | integer | null | Número máximo de segmentos permitido (null = ilimitado) |
zoom_enabled | boolean | true | Habilita os controles de zoom |
playback_rate_control | boolean | false | Mostra o seletor de velocidade de reprodução |
Configuração de Rótulos
labels:
- name: "speech"
color: "#3B82F6"
key_value: "1"
- name: "music"
color: "#10B981"
key_value: "2"
- name: "silence"
color: "#64748B"
key_value: "3"Modos de Anotação
Modo de Rótulo (Padrão)
Os segmentos recebem rótulos de categoria:
annotation_schemes:
- name: "emotion"
description: "Label the emotion in each segment"
annotation_type: "audio_annotation"
mode: "label"
labels:
- name: "happy"
color: "#22C55E"
- name: "sad"
color: "#3B82F6"
- name: "angry"
color: "#EF4444"
- name: "neutral"
color: "#64748B"Modo de Perguntas
Cada segmento responde a perguntas dedicadas:
annotation_schemes:
- name: "transcription"
description: "Transcribe each segment"
annotation_type: "audio_annotation"
mode: "questions"
segment_schemes:
- name: "transcript"
annotation_type: "text"
description: "Enter the transcription"
- name: "confidence"
annotation_type: "likert"
description: "How confident are you?"
size: 5Modo Ambos
Combina a rotulagem com questionários por segmento:
annotation_schemes:
- name: "detailed_diarization"
description: "Label speakers and add notes"
annotation_type: "audio_annotation"
mode: "both"
labels:
- name: "Speaker A"
color: "#3B82F6"
- name: "Speaker B"
color: "#10B981"
segment_schemes:
- name: "notes"
annotation_type: "text"
description: "Any notes about this segment?"Configuração Global de Áudio
Configure o tratamento da forma de onda no seu arquivo de configuração:
audio_annotation:
waveform_cache_dir: "waveform_cache/"
waveform_look_ahead: 5
waveform_cache_max_size: 1000
client_fallback_max_duration: 1800| Campo | Descrição |
|---|---|
waveform_cache_dir | Diretório para os dados de forma de onda em cache |
waveform_look_ahead | Número de instâncias futuras a pré-computar |
waveform_cache_max_size | Número máximo de arquivos de forma de onda em cache |
client_fallback_max_duration | Máximo de segundos para geração de forma de onda no navegador (padrão: 1800) |
Exemplos
Diarização de Locutores
annotation_schemes:
- name: "diarization"
description: "Identify who is speaking at each moment"
annotation_type: "audio_annotation"
mode: "label"
labels:
- name: "Interviewer"
color: "#8B5CF6"
key_value: "1"
- name: "Guest"
color: "#EC4899"
key_value: "2"
- name: "Overlap"
color: "#F59E0B"
key_value: "3"
zoom_enabled: true
playback_rate_control: trueDetecção de Eventos Sonoros
annotation_schemes:
- name: "sound_events"
description: "Mark all sound events"
annotation_type: "audio_annotation"
labels:
- name: "speech"
color: "#3B82F6"
- name: "music"
color: "#10B981"
- name: "applause"
color: "#F59E0B"
- name: "laughter"
color: "#EC4899"
- name: "silence"
color: "#64748B"
min_segments: 1Revisão de Transcrição
annotation_schemes:
- name: "transcription_review"
description: "Review and correct the transcription for each segment"
annotation_type: "audio_annotation"
mode: "questions"
segment_schemes:
- name: "transcript"
annotation_type: "text"
description: "Enter or correct the transcription"
multiline: true
- name: "quality"
annotation_type: "radio"
description: "Audio quality"
labels:
- "Clear"
- "Noisy"
- "Unintelligible"Atalhos de Teclado
| Tecla | Ação |
|---|---|
Space | Reproduzir/pausar |
← / → | Retroceder/avançar |
[ | Marcar início do segmento |
] | Marcar fim do segmento |
Enter | Criar segmento |
Delete | Remover segmento selecionado |
1-9 | Selecionar rótulo |
+ / - | Aumentar/diminuir zoom |
0 | Ajustar à visualização |
Formato dos Dados
Dados de Entrada
Seu arquivo de dados deve incluir caminhos ou URLs dos arquivos de áudio:
[
{
"id": "audio_001",
"audio_url": "https://example.com/audio/recording1.mp3"
},
{
"id": "audio_002",
"audio_url": "/data/audio/recording2.wav"
}
]Configure o campo de áudio:
item_properties:
id_key: id
text_key: audio_urlFormato de Saída
{
"id": "audio_001",
"annotations": {
"diarization": [
{
"start": 0.0,
"end": 5.5,
"label": "Interviewer"
},
{
"start": 5.5,
"end": 12.3,
"label": "Guest"
},
{
"start": 12.3,
"end": 14.0,
"label": "Overlap"
}
]
}
}No modo de perguntas, os segmentos incluem respostas aninhadas:
{
"start": 0.0,
"end": 5.5,
"transcript": "Hello and welcome to the show.",
"quality": "Clear"
}Formatos de Áudio Suportados
- MP3 (recomendado)
- WAV
- OGG
- M4A
Boas Práticas
- Pré-cacheie as formas de onda - Use o cache no servidor para grandes conjuntos de dados
- Habilite o controle de reprodução - A velocidade variável ajuda na segmentação precisa
- Use os atalhos de teclado - Muito mais rápido do que clicar
- Defina limites claros - Especifique o que constitui o início/fim de um segmento
- Escolha o modo apropriado - Use "label" para classificação e "questions" para anotação detalhada
- Defina limites de segmentos - Use
min_segmentspara garantir a cobertura