Hugging Face 音訊資料集指南 – 如何載入、處理與串流音訊資料
TL;DR
Hugging Face 發布了一份逐步指南,示範 🤗 Datasets 套件只需一次 load_dataset 呼叫即可下載、前處理與串流 Hub 上的任何音訊資料集,讓大規模語音與音訊研究變得實用且可重現。
Hub 是音訊資料的一站式平台
Hugging Face Hub 目前(截至 2022 年 12 月)提供 77 個語音辨識 與 28 個音訊分類 資料集。每個資料集卡片都提供可播放的音訊樣本預覽、授權資訊,以及訓練於該資料的模型連結。使用者可直接在 Hub 上依任務類別篩選資料集。
「Dataset Preview 是在正式使用前體驗音訊資料集的絕佳方式。」
只需一行程式碼載入 load_dataset
核心 API 為 datasets.load_dataset。提供 Hub 識別碼(例如 speechcolab/gigaspeech)以及可選的設定(例如 "xs" 代表 10 小時的子集)即可回傳包含 train、validation、test 分割的 DatasetDict。
from datasets import load_dataset
gigaspeech = load_dataset("speechcolab/gigaspeech", "xs")
print(gigaspeech)
輸出會顯示每個分割的列數以及完整的特徵列表(例如 segment_id、speaker、text、audio,…)。對於任務不需要的欄位可使用 remove_columns 移除。
最小化前處理流程
三個通用步驟涵蓋大多數語音辨識工作流程:
- 重新取樣 – 使用
cast_column搭配datasets.Audio(sampling_rate=…)即時變更取樣率。 - 特徵擷取 – 套用
map函式,對每個樣本執行transformers.AutoProcessor(例如 Whisper),將原始波形轉換為模型輸入並對文字稿進行分詞。 - 過濾 – 使用
filter移除超過時長門檻(例如 30 秒)的樣本,以避免 OOM 錯誤。
在教學中,以上三個步驟總共只需 13 行 Python 程式碼。
串流模式消除磁碟空間限制
大型設定(例如 GigaSpeech xl,10 000 小時 ≈ 1 TB)在本機儲存上不切實際。將 streaming=True 設為真可延遲載入樣本,僅在迭代時下載與處理每筆資料。
gigaspeech = load_dataset("speechcolab/gigaspeech", "xs", streaming=True)
- 零磁碟佔用 – 資料僅在迭代期間存在於記憶體中。
- 即時可用 – 一旦取得第一筆樣本即可開始訓練。
- 快速原型 – 只用少量樣本即可進行實驗,無需完整下載。
缺點是串流資料不會被快取;每次重新執行都會重新下載與處理每筆樣本。
常見音訊資料集快速導覽
本指南列出三大任務族群中最常使用的資料集,皆可透過相同的 load_dataset 方式取得。
英文語音辨識
| 資料集 | 領域 | 時數 | 大寫 | 標點符號 | 授權 |
|---|---|---|---|---|---|
| LibriSpeech | 有聲書 | 960 | ❌ | ❌ | CC‑BY‑4.0 |
| Common Voice 11 | 維基百科 | 2 300 | ✅ | ✅ | CC0‑1.0 |
| VoxPopuli | 歐洲議會 | 540 | ❌ | ✅ | CC0 |
| TED‑LIUM | TED 演講 | 450 | ❌ | ❌ | CC‑BY‑NC‑ND 3.0 |
| GigaSpeech | 有聲書、播客、YouTube | 10 000 | ❌ | ✅ | Apache‑2.0 |
| SPGISpeech | 財報電話會議 | 5 000 | ✅ | ✅ | User Agreement |
| Earnings‑22 | 財報電話會議 | 119 | ✅ | ✅ | CC‑BY‑SA‑4.0 |
| AMI | 會議 | 100 | ✅ | ✅ | CC‑BY‑4.0 |
多語言語音辨識
- Multilingual LibriSpeech – 八種高資源語言。
- Common Voice – 超過 100 種語言,群眾外包。
- VoxPopuli – 15 種歐洲語言。
- FLEURS – 102 種語言,每種語言約 10 小時。
語音翻譯
- CoVoST 2 – 2 900 小時,涵蓋 21→EN 與 EN→15 語言對。
- FLEURS – 101 個語言對的平行語音翻譯資料。
音訊分類
- SpeechCommands – 1 秒關鍵字語句,用於裝置端關鍵字偵測。
- Multilingual Spoken Words – 23.4 小時,跨 50 種語言,34 萬關鍵字。
- FLEURS – 102 種語言的語言辨識標籤。
結語
本指南證明 🤗 Datasets 是音訊研究的首選套件:只需一行程式碼即可載入任何資料集,內建的音訊特徵簡化重新取樣,且串流模式讓龐大語料庫變得可處理。隨附的 Colab 筆記本示範如何在單一腳本中於八個英文 ASR 資料集上評估 Whisper,說明此工作流程的實務效益。
本文的貢獻者包括 Vaibhav Srivastav、Polina Kazakova、Patrick von Platen、Omar Sanseviero 與 Quentin Lhoest。