Hugging Face 音频数据集指南 – 如何加载、处理和流式传输音频数据

TL;DR

Hugging Face 发布了一份一步步的指南,展示 🤗 Datasets 库可以通过一次 load_dataset 调用下载、预处理并流式传输 Hub 上的任何音频数据集,使大规模语音和音频研究变得实用且可复现。


Hub 是音频数据的一站式平台

Hugging Face Hub 托管了 77 个语音识别28 个音频分类 数据集(截至 2022 年 12 月的数量)。每个数据集卡片都提供可播放音频样本的预览、许可信息以及训练该数据的模型链接。用户可以直接在 Hub 上按任务类别筛选数据集。

"数据集预览是体验音频数据集、在决定使用之前的绝佳方式。"

使用 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_columndatasets.Audio(sampling_rate=…) 实时更改采样率。
  2. 特征提取 – 应用 map 函数,对每个样本运行 transformers.AutoProcessor(例如 Whisper),将原始波形转换为模型输入并对转录文本进行分词。
  3. 过滤 – 使用 filter 删除超过时长阈值(例如 30 秒)的样本,以避免 OOM 错误。

在教程中,这三个步骤总共只需 13 行 Python 代码。

流式模式消除磁盘空间限制

大型配置(例如 GigaSpeech xl,拥有 10 000 h ≈ 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 notebook 展示了如何在一个脚本中对八个英语 ASR 数据集评估 Whisper,体现了该工作流的实际优势。


本文博客文章的贡献者包括 Vaibhav Srivastav、Polina Kazakova、Patrick von Platen、Omar Sanseviero 和 Quentin Lhoest。

Sources