softcatala/catalan-youtube-speech

Dataset

3

stars

4

commits

2

linked in READMEs

Jul 26, 2026

updated

asr
catalan
speech
youtube

README

Catalan YouTube Speech Corpus

This dataset contains 231,684 short audio clips of spontaneous Catalan speech, automatically extracted from public YouTube videos. Each clip is paired with two independent machine-generated transcription candidates, along with speaker gender, clip timing, and the source video's reuse license. It was built and published by Softcatalà, the volunteer organization behind free/open-source Catalan-language software.

Because the transcripts come from automatic speech recognition rather than human review, this is a raw, unvalidated corpus — well suited to bulk training and to weak-supervision setups, but not a gold-standard benchmark on its own. See Distilled version below for a filtered, higher-confidence subset.

Dataset summary

  • Language: Catalan (ca)
  • Clips: 231,684 audio segments, drawn from 3,119 distinct source videos
  • Total duration: ~921.8 hours
  • Speaker gender: 150,676 clips detected male / 81,008 detected female (automatic detection, see Considerations)
  • Source: Public YouTube videos, filtered to reusable licenses (CC-BY)
  • Modality: audio (.wav) + text metadata
  • On-disk size: ~107 GB (audio) + 141 MB (metadata)

Dataset structure

The repository stores audio as tar shards alongside a single metadata table, rather than the audiofolder layout — see Loading for how to combine them:

.
├── README.md
├── clips.tsv
├── audio-0.tar
├── audio-1.tar
├── ...
└── audio-50.tar        # 51 shards total, ~2.1 GB each, ~107 GB combined

Each audio-N.tar shard contains WAV files named after their clip, e.g. audio/<clip_id>.wav. clips.tsv is the metadata table with one row per clip, matched to its audio by clip_id.

Fields

FieldDescription
clip_idUnique identifier for the extracted audio clip; also its filename (audio/<clip_id>.wav) inside the tar shards
source_idIdentifier of the source YouTube video the clip was cut from
durationLength of the clip, in seconds
start / endStart and end offset of the clip within the source video, in seconds
genderSpeaker gender, automatically detected (male / female)
candidate_1First transcription candidate, from a Vosk/Kaldi ASR model
candidate_2Second transcription candidate, from a Wav2Vec2 ASR model
yt_urlDirect, timestamped YouTube link to the clip's source video (&t=<start>), kept for provenance/citation
licenseReuse license inherited from the source video (currently CC-BY for all rows)

The two transcription candidates are independent guesses at the same audio, not a reference/hypothesis pair — where candidate_1 and candidate_2 largely agree, the transcription is likely reliable; where they diverge, the segment is likely noisy, overlapping speech, or otherwise hard to transcribe.

Splits

The dataset ships as a single, unsplit collection of clips. Users are free to derive their own train/dev/test partitions.

Loading

There's no Dataset Viewer / load_dataset(...)-ready export for this repo yet — audio and metadata need to be combined manually:

from huggingface_hub import hf_hub_download
import pandas as pd
import tarfile

# Metadata (141 MB)
clips_path = hf_hub_download("softcatala/catalan-youtube-speech", "clips.tsv", repo_type="dataset")
clips = pd.read_csv(clips_path, sep="\t")

# Audio — download only the shards you need (~2.1 GB each)
shard_path = hf_hub_download("softcatala/catalan-youtube-speech", "audio-0.tar", repo_type="dataset")
with tarfile.open(shard_path) as tar:
    tar.extractall("audio-0")  # writes audio/<clip_id>.wav

# Join a clip's metadata with its extracted file
row = clips[clips.clip_id == "000004ce-9e4e-4c08-8b7f-2049f69539bb"].iloc[0]

To grab everything (~107 GB), use the hf CLI instead:

hf download softcatala/catalan-youtube-speech --repo-type dataset --local-dir ./catalan-youtube-speech

Clips are not distributed across shards by any documented key (e.g. by source video or gender), so locating a specific clip_id without downloading the whole corpus generally isn't possible.

Source & pipeline

The corpus was generated with datapipe, an open-source audio ETL pipeline for building speech datasets from YouTube. The pipeline:

  1. Fetches candidate Catalan-language videos and their audio from YouTube.
  2. Splits long recordings into short clips using voice-activity detection.
  3. Classifies speaker gender per clip.
  4. Transcribes each clip twice, independently, with a Vosk (Kaldi) model and a Wav2Vec2 model.
  5. Stores the results — timing, gender, both transcriptions, and source metadata — as the final dataset.

Only videos carrying a reusable license (e.g. CC-BY) were included, which is recorded per-row in the license field.

Distilled version

BSC-LT/distilled-catalan-youtube-speech, produced by the Barcelona Supercomputing Center's Language Technologies unit (Project AINA), automatically validates this corpus and keeps only the clips whose transcription can be trusted with high confidence, discarding the rest. Use the distilled version if you need a smaller, cleaner set for training ASR models directly; use this full corpus if you want maximum coverage or plan to do your own filtering.

Considerations for using the data

  • No verified transcripts. Both candidate_1 and candidate_2 are machine-generated; agreement between them is a useful but imperfect proxy for reliability. Neither should be treated as ground truth without further validation — see the Distilled version for a pre-filtered alternative.
  • Automatic gender labels. The gender field comes from an automatic classifier, not self-reported speaker data, and will contain errors.
  • Speakers did not consent to inclusion in an ML dataset. Clips are drawn from public YouTube videos under reusable licenses, but the speakers were not necessarily aware their speech would be repackaged this way. Some clips may feature named public figures speaking in a public capacity (e.g. institutional or media content). Downstream users are responsible for complying with applicable privacy and data-protection laws when redistributing or training on this material.
  • Source license can change or be revoked after collection. license reflects the reuse license recorded on the source video at collection time; if a video's license or availability changes later on YouTube, the archived clip in this dataset will not reflect that.
  • Domain skew. Because clips come from whatever public Catalan-language videos were available under a reusable license, the mix of topics, registers, and dialects is not controlled or balanced.

Licensing

The dataset metadata and transcripts are released under the MIT license. Individual audio clips retain the reuse license of their source YouTube video, recorded per-row in the license column — currently CC-BY for all clips in the corpus.

Dataset curators

Softcatalà, @ccoreilly.

Citation

If you use this dataset, please credit Softcatalà and the source YouTube channels (via each clip's yt_url).

@misc{catalan_youtube_speech,
  title  = {Catalan YouTube Speech Corpus},
  author = {{Softcatalà}},
  year   = {2022},
  howpublished = {\url{https://huggingface.co/datasets/softcatala/catalan-youtube-speech}},
  note   = {Built with the datapipe pipeline: \url{https://github.com/ccoreilly/datapipe}}
}

Contributors

ccoreilly

4 commits

softcatala/catalan-youtube-speech

Dataset

3

stars

4

commits

2

linked in READMEs

Jul 26, 2026

updated

asr
catalan
speech
youtube

README

Catalan YouTube Speech Corpus

This dataset contains 231,684 short audio clips of spontaneous Catalan speech, automatically extracted from public YouTube videos. Each clip is paired with two independent machine-generated transcription candidates, along with speaker gender, clip timing, and the source video's reuse license. It was built and published by Softcatalà, the volunteer organization behind free/open-source Catalan-language software.

Because the transcripts come from automatic speech recognition rather than human review, this is a raw, unvalidated corpus — well suited to bulk training and to weak-supervision setups, but not a gold-standard benchmark on its own. See Distilled version below for a filtered, higher-confidence subset.

Dataset summary

  • Language: Catalan (ca)
  • Clips: 231,684 audio segments, drawn from 3,119 distinct source videos
  • Total duration: ~921.8 hours
  • Speaker gender: 150,676 clips detected male / 81,008 detected female (automatic detection, see Considerations)
  • Source: Public YouTube videos, filtered to reusable licenses (CC-BY)
  • Modality: audio (.wav) + text metadata
  • On-disk size: ~107 GB (audio) + 141 MB (metadata)

Dataset structure

The repository stores audio as tar shards alongside a single metadata table, rather than the audiofolder layout — see Loading for how to combine them:

.
├── README.md
├── clips.tsv
├── audio-0.tar
├── audio-1.tar
├── ...
└── audio-50.tar        # 51 shards total, ~2.1 GB each, ~107 GB combined

Each audio-N.tar shard contains WAV files named after their clip, e.g. audio/<clip_id>.wav. clips.tsv is the metadata table with one row per clip, matched to its audio by clip_id.

Fields

FieldDescription
clip_idUnique identifier for the extracted audio clip; also its filename (audio/<clip_id>.wav) inside the tar shards
source_idIdentifier of the source YouTube video the clip was cut from
durationLength of the clip, in seconds
start / endStart and end offset of the clip within the source video, in seconds
genderSpeaker gender, automatically detected (male / female)
candidate_1First transcription candidate, from a Vosk/Kaldi ASR model
candidate_2Second transcription candidate, from a Wav2Vec2 ASR model
yt_urlDirect, timestamped YouTube link to the clip's source video (&t=<start>), kept for provenance/citation
licenseReuse license inherited from the source video (currently CC-BY for all rows)

The two transcription candidates are independent guesses at the same audio, not a reference/hypothesis pair — where candidate_1 and candidate_2 largely agree, the transcription is likely reliable; where they diverge, the segment is likely noisy, overlapping speech, or otherwise hard to transcribe.

Splits

The dataset ships as a single, unsplit collection of clips. Users are free to derive their own train/dev/test partitions.

Loading

There's no Dataset Viewer / load_dataset(...)-ready export for this repo yet — audio and metadata need to be combined manually:

from huggingface_hub import hf_hub_download
import pandas as pd
import tarfile

# Metadata (141 MB)
clips_path = hf_hub_download("softcatala/catalan-youtube-speech", "clips.tsv", repo_type="dataset")
clips = pd.read_csv(clips_path, sep="\t")

# Audio — download only the shards you need (~2.1 GB each)
shard_path = hf_hub_download("softcatala/catalan-youtube-speech", "audio-0.tar", repo_type="dataset")
with tarfile.open(shard_path) as tar:
    tar.extractall("audio-0")  # writes audio/<clip_id>.wav

# Join a clip's metadata with its extracted file
row = clips[clips.clip_id == "000004ce-9e4e-4c08-8b7f-2049f69539bb"].iloc[0]

To grab everything (~107 GB), use the hf CLI instead:

hf download softcatala/catalan-youtube-speech --repo-type dataset --local-dir ./catalan-youtube-speech

Clips are not distributed across shards by any documented key (e.g. by source video or gender), so locating a specific clip_id without downloading the whole corpus generally isn't possible.

Source & pipeline

The corpus was generated with datapipe, an open-source audio ETL pipeline for building speech datasets from YouTube. The pipeline:

  1. Fetches candidate Catalan-language videos and their audio from YouTube.
  2. Splits long recordings into short clips using voice-activity detection.
  3. Classifies speaker gender per clip.
  4. Transcribes each clip twice, independently, with a Vosk (Kaldi) model and a Wav2Vec2 model.
  5. Stores the results — timing, gender, both transcriptions, and source metadata — as the final dataset.

Only videos carrying a reusable license (e.g. CC-BY) were included, which is recorded per-row in the license field.

Distilled version

BSC-LT/distilled-catalan-youtube-speech, produced by the Barcelona Supercomputing Center's Language Technologies unit (Project AINA), automatically validates this corpus and keeps only the clips whose transcription can be trusted with high confidence, discarding the rest. Use the distilled version if you need a smaller, cleaner set for training ASR models directly; use this full corpus if you want maximum coverage or plan to do your own filtering.

Considerations for using the data

  • No verified transcripts. Both candidate_1 and candidate_2 are machine-generated; agreement between them is a useful but imperfect proxy for reliability. Neither should be treated as ground truth without further validation — see the Distilled version for a pre-filtered alternative.
  • Automatic gender labels. The gender field comes from an automatic classifier, not self-reported speaker data, and will contain errors.
  • Speakers did not consent to inclusion in an ML dataset. Clips are drawn from public YouTube videos under reusable licenses, but the speakers were not necessarily aware their speech would be repackaged this way. Some clips may feature named public figures speaking in a public capacity (e.g. institutional or media content). Downstream users are responsible for complying with applicable privacy and data-protection laws when redistributing or training on this material.
  • Source license can change or be revoked after collection. license reflects the reuse license recorded on the source video at collection time; if a video's license or availability changes later on YouTube, the archived clip in this dataset will not reflect that.
  • Domain skew. Because clips come from whatever public Catalan-language videos were available under a reusable license, the mix of topics, registers, and dialects is not controlled or balanced.

Licensing

The dataset metadata and transcripts are released under the MIT license. Individual audio clips retain the reuse license of their source YouTube video, recorded per-row in the license column — currently CC-BY for all clips in the corpus.

Dataset curators

Softcatalà, @ccoreilly.

Citation

If you use this dataset, please credit Softcatalà and the source YouTube channels (via each clip's yt_url).

@misc{catalan_youtube_speech,
  title  = {Catalan YouTube Speech Corpus},
  author = {{Softcatalà}},
  year   = {2022},
  howpublished = {\url{https://huggingface.co/datasets/softcatala/catalan-youtube-speech}},
  note   = {Built with the datapipe pipeline: \url{https://github.com/ccoreilly/datapipe}}
}

Contributors

ccoreilly

4 commits