音訊標註
Potato 音訊標註完整指南:整段分類、多標籤打標、在波形上做聲音事件檢測、轉寫、品質(MOS)評分、情緒識別與說話人分離。
音訊標註的範圍很廣,從給整段音訊打一個標籤("這是語音還是音樂?"),到在波形上標出某個聲音出現的確切時刻。 Potato 會顯示一條可互動的波形,帶播放控制和時間標記,因此分類、打標、時間對齊的事件檢測、轉寫、品質評分和說話人相關的任務都能在同一個工具裡完成。功能參考見音訊標註。
本指南把常見的音訊任務逐一對應到 Potato 的配置方式和一個可直接執行的示例設計。
整段分類
給整段音訊打一個類別標籤。這類任務包括聲學場景分類、環境聲音分類、關鍵詞檢出和呼吸音分類。
annotation_schemes:
- annotation_type: radio
name: scene
description: "What environment was this recorded in?"
labels: [Street, Park, Office, Home, Vehicle]多標籤打標
當多個聲音或標籤同時成立時——比如音樂打標和 AudioSet 式事件分類——使用 multiselect。
annotation_schemes:
- annotation_type: multiselect
name: tags
description: "Select every instrument you can hear."
labels: [Guitar, Drums, Piano, Vocals, Bass, Synth]聲音事件檢測:波形上的區間
要標出一個聲音何時開始、何時結束,就在音訊時間軸上標註區間。這就是聲音事件檢測,相當於音訊版的區間標註。
annotation_schemes:
- annotation_type: span
name: events
description: "Mark the start and end of each sound event and label it."
labels: [Speech, Music, Dog bark, Siren, Silence]從零開始轉寫
做音訊轉寫時,把播放功能和一個自由文本欄位搭配起來。標註者可以一邊拖動波形一邊輸入。
annotation_schemes:
- annotation_type: text
name: transcript
description: "Type what is said in this clip."在已有轉寫稿上標註
從零開始轉寫是成本最高的情形。多數項目手上已經有一份轉寫稿——來自 Whisper、某個雲端 ASR 介面,或是隨影片一起下載的字幕。Potato 能讀取 21 種轉寫與字幕格式,並把其中的話輪渲染成與音訊同步的說話人氣泡,標註者只需給這些片段打標,而不必重新切分。
instance_display:
fields:
- key: conversation
type: audio_dialogue
label: "Transcript"
span_target: true
display_options:
show_timestamps: true
allow_speaker_assignment: auto選哪一種取決於你要測量什麼。當轉寫稿本身就是交付物時,或者音訊品質差到 ASR 輸出會把標註者帶偏時,就從零開始轉寫。當你關心的是內容本身,或者你正在檢查 ASR 品質、希望錯誤清晰可見時,就從已有轉寫稿出發。
參見標註 Whisper 轉寫稿和標註 YouTube 字幕。
品質評分:MOS 與可懂度
主觀音質用平均意見得分衡量,即在多位聽者之間取平均的 1–5 分李克特評分。這類任務包括語音品質(MOS)和語音可懂度。
annotation_schemes:
- annotation_type: likert
name: mos
description: "Rate the overall quality of this audio."
size: 5
min_label: "Bad"
max_label: "Excellent"量表設計方面的建議見評分量表。
情緒與情感
語音情緒識別和音訊情感分析會把一個類別(情緒)和若干維度評分(喚醒度、效價)結合起來,用 radio 搭配 slider 或 likert 實現。
說話人分離
說話人分離回答的是"誰在什麼時候說話"。標註者標出時間區間,並把每段關聯到某位說話人,也就是區間標註加上一個關聯步驟。
如果上游已經跑過分離——用 WhisperX 或某個雲端介面——Potato 會直接讀取說話人標籤,標註者只需修正其中的錯誤。未分配的話輪會顯示為 Unassigned 並附帶一個選擇器;在音質糟糕的素材上,人耳判斷往往勝過自動系統。
從 2.9 版起,potato transcripts --transcribe --diarize 也可以在你自己的機器上完成轉寫和說話人分離,不需要 PyTorch,也不需要 Hugging Face 令牌。見在本地轉寫。
實踐建議
- 音訊片段要短到聽一兩遍就能判斷;片段過長會拉低一致性。
- 做事件檢測時,先就邊界需要多精確達成共識,並在區間層面測量一致性,參見標註者間一致性。
- 對所有片段做響度歸一化,避免品質評分被音量大小左右。