Skip to content

オーディオアノテーション

波形可視化によるオーディオファイルのセグメンテーションと時間領域へのラベル付け。

オーディオアノテーション

Potatoのオーディオアノテーションツールは、波形ベースのインターフェースを通じて、オーディオファイルのセグメント化と時間領域へのラベル割り当てを可能にします。

機能

  • 波形可視化
  • 時間ベースのセグメント作成
  • セグメントへのラベル割り当て
  • 可変速度付き再生コントロール
  • ズームとスクロールナビゲーション
  • キーボードショートカット
  • サーバーサイドの波形キャッシュ

基本設定

yaml
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"

設定オプション

フィールドタイプデフォルト説明
namestring必須アノテーションの一意識別子
descriptionstring必須アノテーターに表示される指示
annotation_typestring必須"audio_annotation"でなければならない
modestring"label"アノテーションモード:"label""questions"、または"both"
labelslist条件付きlabelまたはbothモードで必須
segment_schemeslist条件付きquestionsまたはbothモードで必須
min_segmentsinteger0必要な最小セグメント数
max_segmentsintegernull許可される最大セグメント数(null = 無制限)
zoom_enabledbooleantrueズームコントロールを有効化
playback_rate_controlbooleanfalse再生速度セレクターを表示

ラベル設定

yaml
labels:
  - name: "speech"
    color: "#3B82F6"
    key_value: "1"
  - name: "music"
    color: "#10B981"
    key_value: "2"
  - name: "silence"
    color: "#64748B"
    key_value: "3"

アノテーションモード

ラベルモード(デフォルト)

セグメントにカテゴリラベルを付与:

yaml
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"

質問モード

各セグメントに専用の質問に回答:

yaml
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: 5

両方モード

ラベリングとセグメントごとのアンケートを組み合わせ:

yaml
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?"

グローバルオーディオ設定

設定ファイルで波形処理を設定:

yaml
audio_annotation:
  waveform_cache_dir: "waveform_cache/"
  waveform_look_ahead: 5
  waveform_cache_max_size: 1000
  client_fallback_max_duration: 1800
フィールド説明
waveform_cache_dirキャッシュされた波形データのディレクトリ
waveform_look_ahead事前計算する今後のインスタンス数
waveform_cache_max_sizeキャッシュされた波形ファイルの最大数
client_fallback_max_durationブラウザ側波形生成の最大秒数(デフォルト:1800)

話者ダイアライゼーション

yaml
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: true

サウンドイベント検出

yaml
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: 1

書き起こしレビュー

yaml
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"
        textarea: true
      - name: "quality"
        annotation_type: "radio"
        description: "Audio quality"
        labels:
          - "Clear"
          - "Noisy"
          - "Unintelligible"

キーボードショートカット

キーアクション
Space再生/一時停止
/ 前方/後方にシーク
[セグメント開始をマーク
]セグメント終了をマーク
Enterセグメントを作成
Delete選択したセグメントを削除
1-9ラベルを選択
+ / -ズームイン/アウト
0ビューをフィット

データ形式

入力データ

データファイルにはオーディオファイルのパスまたはURLを含めます:

json
[
  {
    "id": "audio_001",
    "audio_url": "https://example.com/audio/recording1.mp3"
  },
  {
    "id": "audio_002",
    "audio_url": "/data/audio/recording2.wav"
  }
]

オーディオフィールドの設定:

yaml
item_properties:
  id_key: id
  text_key: audio_url

出力形式

json
{
  "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"
      }
    ]
  }
}

質問モードでは、セグメントにネストされた回答が含まれます:

json
{
  "start": 0.0,
  "end": 5.5,
  "transcript": "Hello and welcome to the show.",
  "quality": "Clear"
}

サポートされるオーディオ形式

  • MP3(推奨)
  • WAV
  • OGG
  • M4A

ベストプラクティス

  1. 波形を事前キャッシュ - 大規模データセットにはサーバーサイドキャッシュを使用
  2. 再生コントロールを有効に - 可変速度は正確なセグメンテーションに役立つ
  3. キーボードショートカットを使用 - クリックよりはるかに高速
  4. 明確な境界を定義 - セグメントの開始/終了の基準を指定
  5. 適切なモードを選択 - 分類には"label"、詳細アノテーションには"questions"を使用
  6. セグメント制限を設定 - min_segmentsを使用してカバレッジを確保