Hugging Face 오디오 데이터셋 가이드 – 로드, 처리 및 스트리밍

TL;DR

Hugging Face는 🤗 Datasets 라이브러리를 사용해 Hub에서 모든 오디오 데이터셋을 단일 load_dataset 호출만으로 다운로드, 전처리 및 스트리밍할 수 있음을 보여주는 단계별 가이드를 발표했으며, 이를 통해 대규모 음성·오디오 연구를 실용적이고 재현 가능하게 만들었습니다.


The Hub is a One‑Stop Shop for Audio Data

Hugging Face Hub는 77개의 음성 인식28개의 오디오 분류 데이터셋을 호스팅하고 있습니다(2022년 12월 기준). 각 데이터셋 카드에는 재생 가능한 오디오 샘플 미리보기, 라이선스 정보, 그리고 해당 데이터로 학습된 모델에 대한 링크가 제공됩니다. 사용자는 Hub에서 바로 작업 카테고리별로 데이터셋을 필터링할 수 있습니다.

"데이터셋 미리보기는 오디오 데이터셋을 실제로 사용하기 전에 체험할 수 있는 훌륭한 방법입니다."

One‑Line Loading with load_dataset

핵심 API는 datasets.load_dataset입니다. Hub 식별자(예: speechcolab/gigaspeech)와 선택적 구성(예: 10시간 분할을 위한 "xs")을 제공하면 학습, 검증, 테스트 분할을 포함하는 DatasetDict가 반환됩니다.

from datasets import load_dataset

gigaspeech = load_dataset("speechcolab/gigaspeech", "xs")
print(gigaspeech)

출력에는 각 분할의 행 수와 전체 특징 목록(예: segment_id, speaker, text, audio, …)이 표시됩니다. 작업에 필요 없는 열은 remove_columns로 삭제할 수 있습니다.

Minimal Pre‑Processing Pipeline

대부분의 음성 인식 워크플로를 포괄하는 세 가지 일반 단계:

  1. Resamplingcast_columndatasets.Audio(sampling_rate=…)를 사용해 실시간으로 샘플링 레이트를 변경합니다.
  2. Feature Extractionmap 함수를 적용해 transformers.AutoProcessor(예: Whisper)를 각 샘플에 실행, 원시 파형을 모델 입력으로 변환하고 전사 텍스트를 토크나이징합니다.
  3. Filteringfilter를 사용해 길이 임계값(예: 30 s)을 초과하는 샘플을 제거해 OOM 오류를 방지합니다.

세 단계 모두 튜토리얼에서는 13줄의 파이썬 코드만 필요했습니다.

Streaming Mode Removes Disk‑Space Barriers

대용량 구성(예: GigaSpeech xl 10 000 h ≈ 1 TB)은 로컬에 저장하기 비현실적입니다. streaming=True로 설정하면 샘플을 지연 로드하여 반복할 때마다 항목을 다운로드·처리합니다.

gigaspeech = load_dataset("speechcolab/gigaspeech", "xs", streaming=True)

스트리밍의 장점:

  • Zero disk footprint – 데이터는 반복 중 메모리 상에만 존재합니다.
  • Immediate availability – 첫 샘플을 가져오는 즉시 학습을 시작할 수 있습니다.
  • Rapid prototyping – 전체 다운로드 없이 소수 샘플로 실험할 수 있습니다.

단점은 스트리밍 데이터가 캐시되지 않아 반복 실행 시 매번 재다운로드·재처리된다는 점입니다.

Quick Tour of Popular Audio Datasets

이 가이드는 동일한 load_dataset 패턴으로 접근 가능한 세 작업군별 가장 널리 사용되는 데이터셋을 나열합니다.

English Speech Recognition

Dataset Domain Hours Casing Punctuation License
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 Speech Recognition

  • Multilingual LibriSpeech – 8개의 고자원 언어.
  • Common Voice – 100개가 넘는 언어, 크라우드소싱.
  • VoxPopuli – 15개 유럽 언어.
  • FLEURS – 102개 언어, 언어당 약 10 h.

Speech Translation

  • CoVoST 2 – 2 900 h, 21→EN 및 EN→15 언어 쌍 포함.
  • FLEURS – 101개 언어 쌍에 대한 병렬 음성 번역 데이터.

Audio Classification

  • SpeechCommands – 디바이스 내 키워드 스팟팅을 위한 1초 키워드 발화.
  • Multilingual Spoken Words – 50개 언어에 걸쳐 23.4 h, 340 k 키워드.
  • FLEURS – 102개 언어에 대한 언어 식별 라벨.

Closing Remarks

이 가이드는 🤗 Datasets가 오디오 연구를 위한 최적의 라이브러리임을 입증합니다: 한 줄로 모든 데이터셋을 로드하고, 내장 오디오 기능으로 리샘플링을 간소화하며, 스트리밍으로 방대한 코퍼스를 다룰 수 있게 합니다. 동봉된 Colab 노트북은 하나의 스크립트로 8개의 영어 ASR 데이터셋에 Whisper를 평가하는 방법을 보여주며, 워크플로의 실용적 이점을 강조합니다.


이 블로그 포스트는 Vaibhav Srivastav, Polina Kazakova, Patrick von Platen, Omar Sanseviero, Quentin Lhoest의 기여로 작성되었습니다.

Sources