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_idspeakertextaudio,…)。對於任務不需要的欄位可使用 remove_columns 移除。

最小化前處理流程

三個通用步驟涵蓋大多數語音辨識工作流程:

  1. 重新取樣 – 使用 cast_column 搭配 datasets.Audio(sampling_rate=…) 即時變更取樣率。
  2. 特徵擷取 – 套用 map 函式,對每個樣本執行 transformers.AutoProcessor(例如 Whisper),將原始波形轉換為模型輸入並對文字稿進行分詞。
  3. 過濾 – 使用 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。


Sources