Skip to content
Tutorials5 min read

Configuración de Revisión de Transcripción de Audio

Configura visualización de forma de onda, controles de reproducción e interfaces de corrección de texto para tareas de transcripción de audio.

Potato Team·

Configuración de Revisión de Transcripción de Audio

La revisión de transcripciones es esencial para datos de entrenamiento ASR de calidad. Este tutorial muestra cómo construir una interfaz donde los anotadores pueden escuchar audio, ver formas de onda y corregir transcripciones generadas por máquina.

Lo Que Vamos a Construir

Una interfaz con:

  • Visualización de forma de onda
  • Controles de reproducción (reproducir, pausar, ajuste de velocidad)
  • Texto de transcripción editable
  • Calificación de calidad del audio
  • Marcado de confianza para segmentos inciertos

Configuración Básica

yaml
annotation_task_name: "Transcription Review"
 
data_files:
  - "data/transcripts.json"
 
item_properties:
  id_key: id
  text_key: asr_transcript
 
annotation_schemes:
  # Audio playback
  - annotation_type: audio_annotation
    name: audio_player
    audio_key: audio_path
 
  # Corrected transcript
  - annotation_type: text
    name: corrected_transcript
    description: "Edit the transcript to match what you hear"
    textarea: true
    placeholder: "Type the corrected transcript..."
    required: true
 
  # Quality rating
  - annotation_type: radio
    name: audio_quality
    description: "Rate the audio quality"
    labels:
      - Clear
      - Slightly noisy
      - Very noisy
      - Unintelligible

Formato de Datos de Ejemplo

Crea data/transcripts.json:

json
{"id": "audio_001", "audio_path": "/audio/recording_001.wav", "asr_transcript": "Hello how are you doing today"}
{"id": "audio_002", "audio_path": "/audio/recording_002.wav", "asr_transcript": "The weather is nice outside"}
{"id": "audio_003", "audio_path": "/audio/recording_003.wav", "asr_transcript": "Please call me back when your free"}

Configuración de Anotación de Audio

La anotación de audio en Potato utiliza el tipo audio_annotation dentro de los esquemas de anotación. El reproductor de audio proporciona automáticamente visualización de forma de onda y controles de reproducción.

yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: audio_player
    audio_key: audio_path
    description: "Listen to the audio recording"

El reproductor de audio incluye controles integrados para reproducir/pausar, búsqueda y ajuste de velocidad.

Interfaz Integral de Transcripción

yaml
annotation_task_name: "ASR Correction and Annotation"
 
data_files:
  - "data/asr_output.json"
 
item_properties:
  id_key: id
  text_key: hypothesis
 
annotation_schemes:
  # Audio player
  - annotation_type: audio_annotation
    name: audio_player
    audio_key: audio_url
 
  # Main transcript correction
  - annotation_type: text
    name: transcript
    description: "Correct the transcript below"
    textarea: true
    rows: 4
    required: true
 
  # Speaker identification
  - annotation_type: radio
    name: num_speakers
    description: "How many speakers are in this recording?"
    labels:
      - "1 speaker"
      - "2 speakers"
      - "3+ speakers"
      - "Cannot determine"
 
  # Audio quality
  - annotation_type: radio
    name: quality
    description: "Overall audio quality"
    labels:
      - name: Excellent
        description: "Crystal clear, studio quality"
      - name: Good
        description: "Clear speech, minor background noise"
      - name: Fair
        description: "Understandable but noisy"
      - name: Poor
        description: "Very difficult to understand"
      - name: Unusable
        description: "Cannot transcribe accurately"
 
  # Issues checklist
  - annotation_type: multiselect
    name: issues
    description: "Select all issues present (if any)"
    labels:
      - Background noise
      - Overlapping speech
      - Accented speech
      - Fast speech
      - Mumbling/unclear
      - Technical audio issues
      - Non-English words
      - Profanity present
      - None
 
  # Confidence
  - annotation_type: likert
    name: confidence
    description: "How confident are you in your transcription?"
    size: 5
    min_label: "Guessing"
    max_label: "Certain"
 
annotation_guidelines:
  title: "Transcription Guidelines"
  content: |
    ## Your Task
    Listen to the audio and correct the ASR transcript.
 
    ## Transcription Rules
    - Transcribe exactly what is said
    - Include filler words (um, uh, like)
    - Use proper punctuation and capitalization
    - Mark unintelligible sections with [unintelligible]
    - Mark uncertain words with [word?]
 
    ## Special Notations
    - [unintelligible] - Cannot understand
    - [word?] - Uncertain about word
    - [crosstalk] - Overlapping speech
    - [noise] - Non-speech sound
    - [pause] - Significant silence

Anotación a Nivel de Palabra

Para correcciones detalladas a nivel de palabra, puedes usar anotación de span junto con campos de texto:

yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: audio_player
    audio_key: audio_path
 
  - annotation_type: text
    name: transcript
    textarea: true
 
  - annotation_type: span
    name: word_corrections
    description: "Mark words that needed correction"
    source_field: transcript
    labels:
      - name: corrected
        color: "#FCD34D"
        description: "Word was changed"
      - name: inserted
        color: "#4ADE80"
        description: "Word was added"
      - name: uncertain
        color: "#F87171"
        description: "Still not sure"

Transcripción Basada en Segmentos

Para archivos de audio largos, puedes preparar tus datos como segmentos con información de tiempo:

yaml
data_files:
  - "data/segments.json"
 
item_properties:
  id_key: id
  text_key: asr_text
 
annotation_schemes:
  - annotation_type: audio_annotation
    name: audio_player
    audio_key: audio_path
 
  - annotation_type: text
    name: transcript
    textarea: true
    description: "Correct the transcript for this segment"

Formato de datos con tiempo de segmento:

json
{
  "id": "seg_001",
  "audio_path": "/audio/long_recording.wav",
  "start_time": 0.0,
  "end_time": 5.5,
  "asr_text": "Welcome to today's presentation"
}

Formato de Salida

json
{
  "id": "audio_001",
  "audio_path": "/audio/recording_001.wav",
  "original_transcript": "Hello how are you doing today",
  "annotations": {
    "transcript": "Hello, how are you doing today?",
    "num_speakers": "1 speaker",
    "quality": "Good",
    "issues": ["None"],
    "confidence": 5
  },
  "annotator": "transcriber_01",
  "time_spent_seconds": 45
}

Control de Calidad

Potato rastrea automáticamente el tiempo de anotación. Para control de calidad, considera incluir elementos de verificación de atención en tu archivo de datos - elementos con respuestas correctas conocidas que puedes usar para verificar la precisión del anotador.

Puedes configurar ajustes de salida para rastrear anotaciones:

yaml
output_annotation_dir: "annotation_output"
output_annotation_format: "json"

Consejos para Tareas de Transcripción

  1. Buenos auriculares: Esenciales para la precisión
  2. Entorno silencioso: Reduce la fatiga
  3. Ajuste de velocidad: Reduce la velocidad para secciones difíciles
  4. Múltiples pasadas: Escucha una vez, transcribe, luego verifica
  5. Descansos regulares: La transcripción es mentalmente exigente

Próximos Pasos


Documentación completa de audio en /docs/features/audio-annotation.