CoolFace
Datasetpublic

vanarp/legal2023_38hrs

legal2023_38hrs Court-audio ASR dataset: 38.6 h of English legal/court speech cut into per-speaker segments, with speaker-disjoint train / validation / test splits. ⚠️ Pseudo-labels, not gold. Transcripts are produced by an automatic pipeline not human annotation. Corpus WER vs an independent judge (nvidia/parakeet-rnnt-1.1b) is ~20%. A per-segment confidence avg_score is provided; only segments with avg_score >= 0.4 are included. Filter further on segment_wer if you need… See the full description on the dataset page: https://huggingface.co/datasets/vanarp/legal2023_38hrs.

sourceHugging Faceotherupdated 3mo agoView on Hugging Face
0likes145downloads
Dataset Card

legal2023_38hrs

Court-audio ASR dataset: 38.6 h of English legal/court speech cut into per-speaker segments, with speaker-disjoint train / validation / test splits.

⚠️ Pseudo-labels, not gold. Transcripts are produced by an automatic pipeline not human annotation. Corpus WER vs an independent judge (nvidia/parakeet-rnnt-1.1b) is ~20%. A per-segment confidence avg_score is provided; only segments with avg_score >= 0.4 are included. Filter further on segment_wer if you need cleaner labels.

Split DURATION / SIZE (durations are @ avg_score >= 0.4)

setsegmentsspeakersunpadded durationpadded duration (+1sec/seg)
train33,4038835.66h(35:39:45)44.94h(44:56:28)
dev48950.57h(0:34:26)0.71h(0:42:35)
test2,258262.35h(2:20:42)2.97h(2:58:20)

Splits are speaker-disjoint (a speaker's segments are entirely within one split)

LABEL-QUALITY (per-set corpus WER over the avg_score >= 0.4 segments; parakeet-rnnt-1.1b)

train 17.68% dev 19.19% test 21.99% ( Corpus-wide unfiltered all-speakers WER was 20.34%.)

Columns

  • —audio: 16 kHz mono; decoded to a waveform by the Audio feature.
  • —audio_path: Unique segment file name
  • —text: pseudo-label transcript (lowercase-normalized-spoken-form).
  • —speaker: global speaker id (spk_XXXX), consistent across source files.
  • —avg_score / min_score: per-segment mean / min word confidence (0–1).
  • —segment_wer / segment_wer on the rnnt1.1b ASR experiment, recommended threshold <= 0.8
  • —duration: seconds. source_file: originating audio file id.

Load

python
from datasets import load_dataset
ds = load_dataset("vanarp/legal2023_38hrs")   # DatasetDict: train / validation / test

AVG_SCORE_MIN = 0.4
WER_MAX = 0.8

def keep(ex):
    return ex["avg_score"] >= AVG_SCORE_MIN and ex["segment_wer"] <= WER_MAX

filtered = ds.filter(keep)   # applies to every split at once

train = filtered["train"]
dev   = filtered["validation"]
test  = filtered["test"]